Предоставление межаккаунтному доступу к папке S3, ограниченному определенными папками для каждой учетной записи

#amazon-web-services #amazon-s3 #amazon-iam

#amazon-веб-сервисы #amazon-s3 #amazon-iam

Вопрос:

Моей учетной записи принадлежит корзина S3. Я хотел бы предоставить нескольким учетным записям доступ к корзине, но только к папке в корзине, созданной для них в корзине.

 E.g 
Account No. 1111111111 would have permissions to write to only S3://TestBucketName/1111111111/
Account No. 2222222222 would have permissions to write to only S3://TestBucketName/2222222222/
Account No. 3333333333 would have permissions to write to only S3://TestBucketName/3333333333/
  

Со временем количество учетных записей будет увеличиваться. Вместо добавления политики ресурсов для каждой учетной записи, подобной приведенной ниже, есть ли способ поместить заполнитель в политику ресурсов таким образом, чтобы учетная запись, пытающаяся записать объект, могла делать это только в папке, созданной для этой учетной записи?
Моя учетная запись создаст папку в корзине.

 "Statement": [
        {
            "Sid": "AllowGetObject",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::1111111111:root"
            },
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::TestBucketName/1111111111/*",
                "arn:aws:s3:::TestBucketName/1111111111"
            ]
        }
    ]
  

Если папка для их учетной записи не существует, они не смогут загрузить объект в корзину.

Комментарии:

1. Я думаю, что это было бы возможно только в том случае, если другие учетные записи использовали своего пользователя root. Если бы это было так, переменная IAM aws:userid содержала бы идентификатор учетной записи. Если его пользователь или роль IAM выполняют запросы от других учетных записей, aws:userid будут храниться идентификаторы пользователя / роли, а не идентификатор учетной записи.

2. Как мне предоставить доступ к другой учетной записи независимо от пользователя, используемого для загрузки объекта в местоположение префикса?

3. Мне интересно, поможет ли роль в основной учетной записи. Эту роль могут взять на себя пользователи из других учетных записей. Тогда в политике корзины aws:userid будет иметь вид role-id:caller-specified-role-name . Это может просто ограничить вашу политику корзины только одним утверждением. Я не проверял это, это просто идея.

4. @learningMyWayThru Будут ли пользователи загружать только один файл или много файлов? Как они будут взаимодействовать с S3 (например, консоль управления, интерфейс командной строки AWS или программа / скрипт)?

5. Они будут загружать несколько файлов и будут использовать S3 API / CLI