2

Используя Cloudformation, вы можете установить группу «Проверенные пользователи» для установки/удаления контроля доступа при создании ведра S3?Неконсервированный ковш ACL S3 с облачной областью

+0

Вы действительно хотите предоставить права на размещение/удаление для своего ведра ** всем ** пользователям Amazon S3 или только пользователям ваших собственных учетных записей? –

+0

@Steffan - Спасибо за ваш ответ. Похоже, что с консервированным ACL я действительно нуждался в AuthenticatedWrite (который досадно достаточно доступен через Amazon Web Console). Я думаю, что я действительно ищу, это способ репликации AuthenticatedWrite с помощью политик ведра. – nsfyn55

+0

Итак, вы действительно хотите это сделать, интересно (я всегда удивляюсь, что может быть прецедентом для ограничения доступа на запись к потенциально миллионам анонимных пользователей S3 с фактическим анонимным доступом, а в любом случае ...) - это было бы легко, если бы политики веток позволяли указывать подстановочный знак для пространства имен/фрагмента учетной записи в _Principal_, то есть нечто вроде 'arn: aws: iam :: *: root'; это, похоже, не представляется возможным, хотя, по крайней мере, оно не задокументировано (вы можете дать ему шанс, конечно). –

ответ

5

Это не возможно с начальным и соответственно ограниченным Access Control Lists (ACL) из Amazon S3, где только предопределенный Canned ACLs доступны для использования с AWS resource types при поддержке AWS CloudFormation в свою очередь, смотрите свойство AccessControl из AWS::S3::Bucket ресурса:

Консервированный ACL, который предоставляет предопределенные разрешения на ведро. По умолчанию является приватным. Для получения дополнительной информации о консервированных списках ACL см. Canned ACLs in the Amazon S3 documentation.

Допустимые значения для AccessControl: Частные | PublicRead | PublicReadWrite | AuthenticatedRead | BucketOwnerRead | BucketOwnerFullControl

Предполагая, что вы не хотите, чтобы положить/удалить доступ к всех пользователей S3 в самом деле (которым Авторизованные пользователи группа фактически означает, к удивлению неподготовленному разработчика S3), но только в пользователи вашего собственного (или известного набора) учетных записей, как обычно, для большинства случаев использования, вы можете достичь своей цели, используя вместо этого S3 Bucket Policies.

Example Cases for Amazon S3 Bucket Policies обеспечивает пример политику для предоставлением разрешений нескольких учетных записей с добавленными ограничениями, которые грантов PutObject и разрешения PutObjectAcl для нескольких учетных записей и требует, чтобы общественность читаемых консервированного ACL включен - зачистки это к Запрошенный набор и превращая его в шаблон CloudFormation фрагмент кода даст следующий приблизительно (вы должны настроить Principal на свой счет (ы), конечно):

"Resources" : { 
    "S3Bucket" : { 
    "Type" : "AWS::S3::Bucket" 
    }, 
    "BucketPolicy" : { 
    "Type" : "AWS::S3::BucketPolicy", 
    "Properties" : { 
     "PolicyDocument": { 
     "Id"   : "Grant access to all account users", 
     "Statement" : [{ 
      "Sid"  : "PutObjectAccess", 
      "Action"  : ["s3:PutObject"], 
      "Effect"  : "Allow", 
      "Resource" : { "Fn::Join" : ["", ["arn:aws:s3:::", {"Ref" : "S3Bucket"} ]]}, 
      "Principal" : { "AWS": ["arn:aws:iam::111122223333:root","arn:aws:iam::444455556666:root"] } 
     }] 
     }, 
     "Bucket" : {"Ref" : "S3Bucket"} 
    } 
    }, 
}, 

Обратите внимание на р Особенности Using ACLs and Bucket Policies Together в случае.

+0

Это было полезно, спасибо, но ваша ссылка «Особенности» выше мертва. Можете ли вы обобщить проблемы или найти, куда они переехали? – telent

+0

@telent - контент, похоже, прошел во время значительной реструктуризации всего раздела. Мне нужно перефразировать это как-то позже, но в настоящее время прежний контент по-прежнему доступен в документах AWS China (Beijing) Region, см. [Использование ACL и политик Bucket Together] (http://docs.amazonaws.cn/en_us/ AmazonS3/latest/dev/UsingACLsandBucketPoliciesTogether.html) по крайней мере. –