IAM policy назначается пользователям, ролям и группам и описывает, что эти субъекты могут делать в сервисах AWS, в том числе с S3. Bucket policy вешается прямо на bucket как ресурс и управляет тем, кто и как может обращаться именно к этому bucket’у (включая другие аккаунты и публичный доступ). ACL — старый и более грубый механизм прав на bucket и объекты, сейчас его по возможности отключают и используют только для редких спецкейсов.
Все три механизма — IAM policy, bucket policy и ACL — управляют доступом к S3, но делают это на разных уровнях: IAM описывает права «кто что может», bucket policy — правила доступа «для какого ресурса», а ACL — примитивные права на сами bucket’ы и объекты.
User, Group, Role, то есть описывает, что конкретный principal может делать в различных сервисах, включая S3.Condition), контекстные ключи и тонкую грануляцию действий, например s3:GetObject, s3:PutObject, s3:ListBucket.Principal) и какие действия может выполнять именно с этим ресурсом.AllUsers или AuthenticatedUsers).S3 Object Ownership = Bucket owner enforced, который фактически отключает объектные ACL, и управляют доступом через IAM и bucket policy.Пример простой bucket policy, которая даёт указанному аккаунту право читать объекты из конкретного bucket’а:
Отметьте свой прогресс