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
eHeadBucket
, é possível usar a operação de APICreateSession
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çãos3express: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 |