Ações de política do Amazon S3 - Amazon Simple Storage Service

Ações de política do Amazon S3

nota

Esta página é sobre as ações de política do Amazon S3 para buckets de uso geral. Para saber mais sobre as ações de política do Amazon S3 para buckets de diretório, consulte Ações para a classe S3 Express One Zone.

O Amazon S3 define um conjunto de permissões que você pode especificar em uma política. Para conceder permissões para realizar uma operação de API do S3, você deve criar uma política válida (como uma política de bucket do S3 ou uma política baseada em identidade do IAM) e especificar as ações correspondentes no elemento Action da política. Essas ações são chamadas de ações de políticas. Veja a seguir diferentes tipos de relacionamento de mapeamento entre as operações de API do S3 e as ações de políticas necessárias.

  • Mapeamento de um para um com o mesmo nome. Por exemplo, para usar a operação de API PutBucketPolicy, a ação de política s3:PutBucketPolicy é necessária.

  • Mapeamento de um para um com nomes diferentes. Por exemplo, para usar a operação de API ListObjectsV2, a ação de política s3:ListBucket é necessária.

  • Mapeamento de um para muitos. Por exemplo, para usar a operação de API HeadObject, a s3:GetObject é necessária. Além disso, quando você usa o Bloqueio de Objetos do S3 e deseja obter o status de retenção legal ou as configurações de retenção de um objeto, as ações de política s3:GetObjectLegalHold ou s3:GetObjectRetention correspondentes também são necessárias para que você possa usar a operação de API HeadObject.

  • Mapeamento de muitos para um. Por exemplo, para usar as operações de API ListObjectsV2 ou HeadBucket, a ação de política s3:ListBucket é necessária.

Para compor uma política de bucket do S3 válida, além do elemento Action, você também deve especificar os elementos Effect, Principal e Resource. Além disso, para ter um controle mais detalhado das operações de API do S3, você pode especificar o elemento Condition.

Para compor uma política válida baseada em identidade do IAM, além do elemento Action, você também deve especificar os elementos Effect e Resource. Uma política válida baseada em identidade do IAM não inclui o elemento Principal.

Consulte uma lista completa de ações, recursos e chaves de condição do Amazon S3 para uso em políticas em Actions, resources, and condition keys for Amazon S3 na Referência de autorização do serviço.

Ao criar políticas, você deve especificar o elemento Resource com base no tipo de recurso correto exigido pelas ações de política correspondentes do Amazon S3. Esta página categoriza as permissões para as operações de API do S3 de acordo com os tipos de recurso. Consulte mais informações sobre os tipos de recurso em Resource types defined by Amazon S3 na Referência de autorização do serviço. Consulte uma lista completa de operações de API do Amazon S3 em Amazon S3 API Actions na Referência de API do Amazon Simple Storage Service.

As operações de bucket são operações de API do S3 que operam no tipo de recurso de bucket. Por exemplo, CreateBucket, ListObjectsV2 e PutBucketPolicy. As ações de política do S3 para operações de bucket exigem que o elemento Resource nas políticas de bucket ou nas políticas baseadas em identidade do IAM seja o identificador do nome do recurso da Amazon (ARN) do tipo de bucket do S3 no formato de exemplo a seguir.

"Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET"

A política de bucket a seguir concede a permissão s3:ListBucket ao usuário Akua (com a conta 12345678901) para realizar a operação de API ListObjectsV2 e listar objetos em um bucket do S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to list objects in the bucket", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET" } ] }
Operações de bucket em políticas de ponto de acesso

As permissões concedidas em uma política de ponto de acesso entrarão em vigor somente se o bucket subjacente conceder as mesmas permissões. Ao usar os pontos de acesso do S3, você deve delegar o controle de acesso do bucket ao ponto de acesso ou adicionar as mesmas permissões nas políticas de ponto de acesso à política do bucket subjacente. Para ter mais informações, consulte Configurar políticas do IAM para uso de pontos de acesso. Nas políticas de ponto de acesso, as ações de políticas do S3 para operações de bucket exigem que você use o ARN accesspoint para o elemento Resource no formato a seguir.

"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT"

A política de ponto de acesso a seguir concede a permissão s3:ListBucket ao usuário Akua (com a conta 12345678901) para realizar a operação de API ListObjectsV2 por meio do ponto de acesso DOC-EXAMPLE-ACCESS-POINT do S3 para listar objetos no bucket associado ao ponto de acesso.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to list objects in the bucket through access point", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT" } ] }
nota

Nem todas as operações de bucket são compatíveis com o ponto de acesso do S3. Para ter mais informações, consulte Compatibilidade de ponto de acesso com operações do S3.

As operações de objeto são operações de API do S3 que atuam sobre o tipo de recurso do objeto. Por exemplo, GetObject, PutObject e DeleteObject. As ações de política do S3 para operações de objeto exigem que o elemento Resource nas políticas seja o ARN do objeto do S3 nos formatos de exemplo a seguir.

"Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
"Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/prefix/*"
nota

O ARN do objeto deve conter uma barra após o nome do bucket, conforme mostrado nos exemplos anteriores.

A política de bucket a seguir concede a permissão s3:PutObject ao usuário Akua (com a conta 12345678901) para realizar a operação de API PutObject e fazer upload de objetos em um bucket do S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to upload objects", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }
Operações de objetos em políticas de ponto de acesso

Ao usar os pontos de acesso do S3 para controlar o acesso às operações de objetos, você pode usar políticas de ponto de acesso. Quando você usa políticas de ponto de acesso, as ações de políticas do S3 para operações de objeto exigem que você use o ARN accesspoint para o elemento Resource no seguinte formato: arn:aws:s3:region:account-id:accesspoint/access-point-name/object/resource. Para operações de objeto que usam o ponto de acesso, você deve incluir o valor /object/ após o ARN completo do ponto de acesso no elemento Resource. Aqui estão alguns exemplos.

"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT/object/*"
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT/object/prefix/*"

A política de ponto de acesso a seguir concede a permissão s3:GetObject ao usuário Akua (com a conta 12345678901) para realizar a operação de API GetObject por meio do ponto de acesso DOC-EXAMPLE-ACCESS-POINT em todos os objetos no bucket associado ao ponto de acesso.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to get objects through access point", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT/object/*" } ] }
nota

Nem todas as operações de objetos são compatíveis com o ponto de acesso do S3. Para ter mais informações, consulte Compatibilidade de ponto de acesso com operações do S3.

As operações de ponto de acesso são operações de API do S3 que operam no tipo de recurso de accesspoint. Por exemplo, CreateAccessPoint, DeleteAccessPoint e GetAccessPointPolicy. As ações de política do S3 para operações de ponto de acesso só podem ser usadas em políticas baseadas em identidade do IAM, não em políticas de bucket ou políticas de ponto de acesso. As operações de pontos de acesso exigem que o elemento Resource seja o ARN accesspoint no formato de exemplo a seguir.

"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT"

A política baseada em identidade do IAM a seguir concede a permissão s3:GetAccessPointPolicy para realizar a operação de API GetAccessPointPolicy no ponto de acesso DOC-EXAMPLE-ACCESS-POINT do S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Grant permission to retrieve the access point policy of access point DOC-EXAMPLE-ACCESS-POINT", "Effect": "Allow", "Action": [ "s3:GetAccessPointPolicy" ], "Resource": "arn:aws:s3:*:123456789012:access point/DOC-EXAMPLE-ACCESS-POINT" } ] }

Se você usa pontos de acesso, consulte Operações de bucket em políticas de ponto de acesso para controlar o acesso às operações de bucket e Operações de objetos em políticas de ponto de acesso para controlar o acesso às operações de objetos. Consulte mais informações sobre como configurar políticas de ponto de acesso em Configurar políticas do IAM para uso de pontos de acesso.

Consulte mais informações sobre como configurar políticas de operações de ponto de acesso do Object Lambda em Configurar políticas do IAM para pontos de acesso do Object Lambda.

Consulte mais informações sobre como configurar políticas de operações de ponto de acesso multirregionais em Exemplos de políticas de pontos de acesso multirregionais.

(Operações em Lote) As operações de trabalho são operações de API do S3 que operam no tipo de recurso de trabalho. Por exemplo, DescribeJob e CreateJob. As ações de política do S3 para operações de trabalho só podem ser usadas em políticas baseadas em identidade do IAM, não em políticas de buckets. Além disso, as operações de trabalho exigem que o elemento Resource nas políticas baseadas em identidade do IAM seja o ARN job no formato de exemplo a seguir.

"Resource": "arn:aws:s3:*:123456789012:job/*"

A política baseada em identidade do IAM a seguir concede a permissão s3:DescribeJob para realizar a operação de API DescribeJob no trabalho do Operações em Lote do S3 DOC-EXAMPLE-JOB.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow describing the Batch operation job DOC-EXAMPLE-JOB", "Effect": "Allow", "Action": [ "s3:DescribeJob" ], "Resource": "arn:aws:s3:*:123456789012:job/DOC-EXAMPLE-JOB" } ] }

Consulte mais informações sobre como definir as operações de configuração do Lente de Armazenamento do S3 em Permissões do Amazon S3 Storage Lens.

As operações da conta são operações de API do S3 que operam no nível da conta. Por exemplo, GetPublicAccessBlock (para conta). A conta não é um tipo de recurso definido pelo Amazon S3. As ações de política do S3 para operações de conta só podem ser usadas em políticas baseadas em identidade do IAM, não em políticas de buckets. Além disso, as operações da conta exigem que o elemento Resource nas políticas baseadas em identidade do IAM seja "*".

A política baseada em identidade do IAM a seguir concede a permissão s3:GetAccountPublicAccessBlock para realizar a operação de API GetPublicAccessBlock no nível da conta e recuperar as configurações do Bloqueio de Acesso Público no nível da conta.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"Allow retrieving the account-level Public Access Block settings", "Effect":"Allow", "Action":[ "s3:GetAccountPublicAccessBlock" ], "Resource":[ "*" ] } ] }