> For the complete documentation index, see [llms.txt](https://docs.ionos.com/cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionos.com/cloud/~/revisions/1AlFSZBNMIBgs7fiOwFD/managed-services/s3-object-storage/how-tos/share-objects.md).

# Share Objects

You can use access rights and predefined profiles (**Canned ACLs**) to control access to [<mark style="color:blue;">buckets</mark>](https://docs.ionos.com/support/general-information/glossary-of-terms#bucket) and objects in your [<mark style="color:blue;">IONOS S3 Object Storage</mark>](/cloud/~/revisions/1AlFSZBNMIBgs7fiOwFD/managed-services/s3-object-storage.md) for different user groups. Users can then use a suitable S3 client to access the objects whose authorization profiles they match.

By default, buckets and objects are **private**, i.e. only the bucket owner can access them.

The content of a bucket is always accessible (as a list) as soon as the bucket is **public**, even if the objects it contains are private and can therefore neither be displayed nor downloaded.

### Sharing objects through Access Control Lists

{% hint style="info" %}
**Prerequisites:** When working with Objects, make sure you are inside of the [<mark style="color:blue;">Object Storage Management Console</mark>](/cloud/~/revisions/1AlFSZBNMIBgs7fiOwFD/managed-services/s3-object-storage/how-tos/setup-access.md#object-storage-management-console) with full control of the Bucket. You should be able to set the Bucket to **ACP Writable**.
{% endhint %}

1\. Click the **Properties** tab of the object you wish to share.

2\. To grant access in the **Object Canned ACL** tab, select one of the ACL profiles.

**Example:** **Public Read** means the item is available to everyone but cannot be modified.

3\. Confirm your entries by clicking on **Save**.

The item is available according to your settings.

![Giving a file the Public Read ACL profile means that the file can be viewed by everyone, but not edited.](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-407e223041dee493d04f838db1125bfe4bbacfcc%2Fobjects_properties.png?alt=media)

### Sharing objects with specific users

If you want to share your buckets and their content with users of the IONOS S3 Object Storage outside your own contract, you can use ACL sharing. All you need is the user’s **contract user id** in the format `contract number|User UUID`.

1\. Open the properties of the bucket that you would like to share by clicking on **Properties** in the respective tab.

2\. In the **Bucket Permissions** tab, click **+ ADD NEW**.

3\. In the **Grantee** column, enter the contract user id of the user.

{% hint style="info" %}
If you want to share the bucket or object with all users of a particular contract, you only have to enter the contract number as follows: `contract number|` ( e. g. 1701441`|`).

Please note: IDs entered this way are not validated. An invalid ID has no effect.
{% endhint %}

![Giving Users permissions to access Buckets requires a contract ID input via the Bucket Permissions tab.](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-f742abadc454736632de94c9d3a14d4ac1d1bb11%2Fbucket_grantee_box.png?alt=media)

4\. Set the permission for the user by selecting the appropriate check box.

5\. Confirm your entries by clicking on **Save**.

The item is shared according to your settings. If you ever wish to remove access, return to this view and click **Delete**.

### Sharing objects through an URL

{% hint style="info" %}
URLs can only be generated for objects owned by the bucket owner.
{% endhint %}

If you want to share content with users who do not have access to an S3 client application, you can share an object by making it publicly available through a URL. This URL can be generated by the Object Storage Management Console and can optionally be provided as an SSL-encrypted URL (using HTTPS).

Objects shared this way are always visible to everyone as they are public - regardless of their access permissions. You can, however, limit the number of downloads and the period of availability.

1\. Open the **Properties** tab of the object that you would like to share.

2\. Open the **Public URL Access** tab.

![Set public URL access restriction for the object you wish to share.](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2Fgit-blob-2dd3f4e2fd3ad014be81dd58902f6b9f6ce02a79%2Fset_public_url_access.png?alt=media)

3\. Check the **Enable Public URL Access** box. Further input fields are opened:

* **Maximum Downloads:** specifies the maximum number of downloads for this URL. Enter `-1` for unlimited access.
* **Current Downloads:** shows the current number of downloads. To update this field, please reload the dialog in the Object Storage Management Console by means of a so-called "hard refresh".
* **Secure URL:** (*Optional*) Activate the check box to generate an SSL-encrypted URL and increase the security of the file.
* **Expiration Date:** (*Required*) Change the time at which the URL stops being valid. After expiration or change of the validity or the number of downloads, a new URL is generated and the link is no longer accessible. An error message will appear instead.

4\. To generate the URL, click **Apply**.

The URL is generated and displayed. You can now copy the URL and share it with others or send it by email using the **MAIL TO** button. For the email to be sent out, your browser needs to be configured so that it can open your default web-based email program.

The file can be accessed using a browser. No S3 application is required.

### Sharing objects on a static website

If you want to share content with users who do not have access to an S3 client application, you can configure a bucket as a website, which can be accessed using a standard web browser (instead of an S3 web client). This website needs to be static; it cannot deliver personalised content or run server-side scripts. This feature is useful for sharing a collection of objects.

A bucket-hosted website can be accessed as follows: `''http://<Bucketname>.<S3WebsiteEndpoint>/<IndexDocument>''` (e. g. [<mark style="color:blue;">http://mywebsite.s3-website-de-central.profitbricks.com/index.html</mark>](http://mywebsite.s3-website-de-central.profitbricks.com/index.html)).

Shared objects contained in this bucket are available as follows: `http://<Bucketname>.<S3WebsiteEndpoint>/<Objectname>`. `<Objectname>` may also contain folders.

{% hint style="info" %}
A website configured with this feature can be accessed via HTTP and HTTPS (SSL).
{% endhint %}

### Example

The bucket `mywebsite` is used as a container for your website. “Static Website Hosting” has been enabled in its properties. It contains the start page (`index.htm`) and a page that is displayed on error (`404.htm`).

The bucket contains the `img` folder in which images are stored. Among others, it contains the file `test0.png`:

The file is available at: [<mark style="color:blue;">http://mywebsite.s3-website-de-central.profitbricks.com/img/test0.png</mark>](http://mywebsite.s3-website-de-central.profitbricks.com/img/test0.png)

Files can be linked with each other through relative paths. If you want to link from `index.htm` at the bucket (root) level to `test0.png`, which is located in the `img` folder of the `mywebsite` bucket, you can refer to it with `href=”img/test0.png”`.

#### Procedure

1\. Create a bucket. Please mind the naming rules that apply! The bucket name is part of the URL of the static website.

2\. Upload the website content to the bucket, which also includes the start page (usually `index.htm`) and an error page (usually `404.htm`).

3\. In the **Properties** of the bucket, open the **Static Website Hosting** tab.

4\. Activate the **Enable Website Hosting** check box.

5\. In the dialog box that appears, confirm that you want all objects to be public by clicking **OK**.

![Enable website hosting from a bucket by uploading website content and setting default index and error documents.](https://1737632334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MifAzdGvKLDTtvJP8sm%2Fuploads%2FnfjQcKsaQacbz5B9naCB%2Fstatic-website-hosting.png?alt=media\&token=dfbc9b82-845f-4d13-ac66-a0ed074799ab)

If you upload other objects to the bucket, please make sure that they are set to **Public Read,** otherwise, they are not accessible to others.

* **Index Document**: Enter the start page that you uploaded (e.g. `index.htm`).
* **Error Document** (*Optional*): Enter the error page that you uploaded (e. g. `404.htm`).

6\. Save your entries by clicking **Save**.

The website is now available at `http://<Bucketname>.<S3WebsiteEndpoint>/<IndexDocument>` (e.g. [<mark style="color:blue;">http://mywebsite.s3-website-de-central.profitbricks.com/index.html</mark>](http://mywebsite.s3-website-de-central.profitbricks.com/index.html))


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ionos.com/cloud/~/revisions/1AlFSZBNMIBgs7fiOwFD/managed-services/s3-object-storage/how-tos/share-objects.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
