Sharing containers in e24files

This guide will show you how to share an e24files container with other e24cloud users.

To share a container with other e24files users, you need to create those users first. The entire process is described in this article.

Next, create any number of containers using external software or directly in the Client Panel by navigating to Cloud Files > Permissions and clicking the Add Container button.

For the purposes of this guide, we have created one additional user and two containers:

bucket-name1
bucket-name2

Sharing S3 Containers


Then, go to Cloud Files > API and copy your API key.

Sharing S3 Containers


In our example, the key is:

aaaabbbb-cccc-dddd-eeee-ffffgggghhhh


Sharing containers with other users

In e24files, permissions can be assigned in two ways using either ACL (an older method) or bucket policy (newer and recommended).

We use bucket policy if:

  • We manage a very large number of containers,
  • We want to precisely define what a specific group of users can access,
  • Our policy is less than 10kB.

We use ACL if:

  • We want to control access to containers and objects,
  • Our policy would exceed 10kB,
  • We are not satisfied with the functionality of bucket policy.
We do not use both solutions at the same time, as it may cause access issues.


Sharing containers with other users using bucket policy

Navigate to the Cloud Files > Permissions tab and, for each created container, click the Edit Rules button.

Sharing S3 Containers


In the window that appears, insert the following rule if you want to grant full access to selected containers:

{
  "Version":  "2012-10-17",
  "Statement":  [
    {
      "Effect":  "Allow",
      "Principal": {
        "AWS": "arn:aws:iam:::user/aaaabbbb-cccc-dddd-eeee-ffffgggghhhh"
      },
      "Action":  "s3:*",
      "Resource": [
        "arn:aws:s3:::bucket-name1",
        "arn:aws:s3:::bucket-name1/*"
      ]
    }
  ]
}

or the following rule if you want to grant read-only permissions:

{
  "Version":  "2012-10-17",
  "Statement":  [
    {
      "Effect":  "Allow",
      "Principal": {
        "AWS": "arn:aws:iam:::user/aaaabbbb-cccc-dddd-eeee-ffffgggghhhh"
      },
      "Action":  [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::bucket-name1",
        "arn:aws:s3:::bucket-name1/*"
      ]
    }
  ]
}

The string aaaabbbb-cccc-dddd-eeee-ffffgggghhhh should be replaced with your API key, and the container name bucket-name1 should be replaced with the one you created in the previous step. Save the changes. Repeat this operation for every container you want to share.

Sharing S3 Containers


This way, we have assigned permissions for our containers to another user or group of users.


Sharing Containers with Other Users Using ACL

To assign permissions to users, for each container you want to share, click the Edit Permissions button.

Sharing S3 Containers


In the window that appears, select the user you want to share the container with and the level of permissions they should have for that container, then click the Add button. This way, you can add multiple users with different permissions. Finally, click the Save Changes button.

Sharing S3 Containers


This way, we have granted permissions for our containers to another user.


Lack of Visibility of Shared Container on another user’s account

Due to the specifics of how the S3 technology that e24files is based on works, shared containers are not visible in the Client Panel on the account of the user they were shared with and are not visible by default when logging into the S3 account using external tools.

To solve this issue, you need to specify the container’s path in the Path field.

Sharing S3 Containers


This way, we have assigned permissions for our containers to another user or group of users.

Sharing S3 Containers