Autenticar e autorizar solicitações - Amazon Simple Storage Service

Autenticar e autorizar solicitações

Por padrão, os buckets de diretório são privados e só podem ser acessados por usuários que tenham recebido acesso explícito. O limite de controle de acesso para buckets de diretório é definido somente no nível do bucket. Por outro lado, o limite de controle de acesso para buckets de uso geral pode ser definido no nível do bucket, do prefixo ou da etiqueta de objeto. Essa diferença significa que os buckets de diretório são o único recurso que você pode incluir nas políticas de bucket ou nas políticas de identidade do IAM para acesso à classe S3 Express One Zone.

A classe Amazon S3 Express One Zone oferece suporte à autorização do AWS Identity and Access Management (AWS IAM) e à autorização baseada em sessão:

  • Para usar as operações de API do endpoint regional (operações em nível de bucket ou ambiente de gerenciamento) com a classe S3 Express One Zone, use o modelo de autorização do IAM, que não envolve gerenciamento de sessões. As permissões são concedidas individualmente para as ações. Para ter mais informações, consulte Autorizar APIs de endpoints regionais com o IAM.

  • Para usar as operações da API do endpoint zonal (operações em nível de objeto ou plano de dados), exceto CopyObject e HeadBucket, é possível usar a operação de API CreateSession para criar e gerenciar sessões otimizadas para autorização de solicitações de dados com baixa latência. Para recuperar e usar um token de sessão, você deve permitir a ação s3express:CreateSession para o bucket de diretório em uma política baseada em identidade ou em uma política de bucket. Para ter mais informações, consulte Autorizar APIs de endpoints regionais com o IAM. Se você acessar a classe S3 Express One Zone pelo console do Amazon S3, pela AWS Command Line Interface (AWS CLI) ou usando os AWS SDKs, a classe S3 Express One Zone criará uma sessão em seu nome.

Com a operação de API CreateSession, é possível autenticar e autorizar solicitações por meio de um novo mecanismo com base em sessão. Você pode usar CreateSession para solicitar credenciais temporárias que forneçam acesso de baixa latência ao bucket. Essas credenciais temporárias têm como escopo um bucket de diretório específico.

Para trabalhar com CreateSession, recomendamos usar a versão mais recente dos AWS SDKs ou usar a AWS Command Line Interface (AWS CLI). Os AWS SDKs compatíveis e a AWS CLI lidam com o estabelecimento, a atualização e o encerramento de sessões em seu nome.

Use tokens de sessão somente com operações zonais (nível de objeto) (exceto para CopyObject e HeadBucket) para distribuir a latência associada à autorização em várias solicitações em uma sessão. Para as operações de API do endpoint regional (operações em nível de bucket), use a autorização do IAM, que não envolve o gerenciamento de uma sessão. Para ter mais informações, consulte Autorizar APIs de endpoints regionais com o IAM e Autorizar operações de API de endpoint zonal com CreateSession.

Como as operações de API são autenticadas e autorizadas

A tabela a seguir lista as informações de autenticação e autorização para operações de API do bucket de diretório. Para cada operação de API, a tabela mostra o nome da operação de API, a ação da política do IAM, o tipo de endpoint (regional ou zonal) e o mecanismo de autorização (IAM ou baseada em sessão). Essa tabela também indica se o acesso entre contas é compatível. O acesso às ações no nível do bucket só pode ser concedido em políticas baseadas em identidade do IAM (usuário ou perfil), não em políticas de bucket.

API Tipo de endpoint Ação do IAM Acesso entre contas
CreateBucket Regional s3express:CreateBucket Não
DeleteBucket Regional s3express:DeleteBucket Não
ListDirectoryBuckets Regional s3express:ListAllMyDirectoryBuckets Não
PutBucketPolicy Regional s3express:PutBucketPolicy Não
GetBucketPolicy Regional s3express:GetBucketPolicy Não
DeleteBucketPolicy Regional s3express:DeleteBucketPolicy Não
CreateSession Zonal s3express:CreateSession Sim
CopyObject Zonal s3express:CreateSession Sim
DeleteObject Zonal s3express:CreateSession Sim
DeleteObjects Zonal s3express:CreateSession Sim
HeadObject Zonal s3express:CreateSession Sim
PutObject Zonal s3express:CreateSession Sim
GetObjectAttributes Zonal s3express:CreateSession Sim
ListObjectsV2 Zonal s3express:CreateSession Sim
HeadBucket Zonal s3express:CreateSession Sim
CreateMultipartUpload Zonal s3express:CreateSession Sim
UploadPart Zonal s3express:CreateSession Sim
UploadPartCopy Zonal s3express:CreateSession Sim
CompleteMultipartUpload Zonal s3express:CreateSession Sim
AbortMultipartUpload Zonal s3express:CreateSession Sim
ListParts Zonal s3express:CreateSession Sim
ListMultipartUploads Zonal s3express:CreateSession Sim