Autorizar APIs de endpoints regionais com o IAM
O AWS Identity and Access Management (IAM) é um AWS service (Serviço da AWS) que ajuda os administradores a controlar o acesso aos recursos da AWS de forma segura. Os administradores do IAM controlam quem pode se autenticar (se conectar) e ter autorização (permissões) para utilizar os recursos do Amazon S3 na classe S3 Express One Zone. Você pode usar o IAM sem custo adicional.
Por padrão, os usuários não têm permissões para os buckets de diretório e as operações da classe S3 Express One Zone. Para conceder permissões de acesso a buckets de diretório, você pode usar o IAM para criar usuários ou perfis e anexar permissões a essas identidades. Para obter mais informações sobre o IAM, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.
Para fornecer acesso, você pode adicionar permissões aos usuários, grupos ou perfis das seguintes formas:
-
Usuários e grupos no AWS IAM Identity Center: crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do AWS IAM Identity Center.
-
Usuários gerenciados no IAM por meio de um provedor de identidades: crie um perfil para federação de identidades. Siga as instruções em Criando um perfil para um provedor de identidades de terceiros (federação) no Guia do Usuário do IAM.
-
Perfis e usuários do IAM: crie um perfil que o usuário possa assumir. Siga as instruções em Criação de uma função para delegar permissões a um usuário do IAM no Guia do usuário do IAM.
Para obter mais informações sobre o IAM para a classe S3 Express One Zone, consulte os tópicos a seguir.
Tópicos
Entidades principais
Ao criar uma política baseada em recurso para conceder acesso aos buckets, você deve usar o elemento Principal
para especificar a pessoa ou a aplicação que pode fazer uma solicitação de uma ação ou operação no respectivo recurso. Para políticas de bucket de diretório, você pode usar as seguintes entidades principais:
-
Uma conta da AWS
-
Um usuário do IAM
-
Um perfil do IAM
-
Um usuário federado
Para obter mais informações, consultePrincipal no Guia do usuário do IAM.
Recursos
Os nomes de recurso da Amazon (ARNs) para buckets de diretório contêm o namespace s3express
, a Região da AWS, o ID da conta da AWS e o nome do bucket de diretório, que inclui o ID da zona de disponibilidade. Para acessar e executar ações no bucket de diretório, você deve usar o seguinte formato de ARN:
arn:aws:s3express:
region
:account-id
:bucket/base-bucket-name
--azid
--x-s3
Para obter mais informações sobre os ARNs, consulte Amazon Resource Names (ARNs) no Guia do usuário do IAM. Para obter mais informações sobre os recursos, consulte Elementos de política JSON do IAM: Resource no Guia do usuário do IAM.
Ações para a classe S3 Express One Zone
Em uma política baseada em identidade ou recurso do IAM, defina quais ações do S3 serão permitidas ou negadas. As ações da classe S3 Express One Zone correspondem a operações específicas da API. A classe S3 Express One Zone tem um namespace do IAM exclusivo que é distinto do namespace padrão do Amazon S3. Esse namespace é o s3express
.
Quando você concede a permissão s3express:CreateSession
, isso permite que a operação de API CreateSession
recupere tokens de sessão ao acessar operações de API de endpoint zonal (ou de nível de objeto). Esses tokens de sessão retornam credenciais que são usadas para conceder acesso a todas as outras operações de API de endpoint zonal. Como resultado, você não precisa conceder permissões de acesso às operações de API zonais usando políticas do IAM. Em vez disso, o token de sessão permite o acesso. Consulte a lista de operações e permissões da API de endpoint zonal em Authenticating and authorizing requests.
Para obter mais informações sobre as operações de API de endpoints zonais e regionais, consulte Redes para a classe S3 Express One Zone. Para saber mais sobre a operação de API CreateSession
, consulte a CreateSession na Referência da API do Amazon Simple Storage Service.
Você pode especificar as seguintes ações no elemento Action
de uma declaração de política do IAM. Use políticas para conceder permissões para executar uma operação na AWS. Ao usar uma ação em uma política, você geralmente permite ou nega acesso à operação de API com o mesmo nome. No entanto, em alguns casos, uma única ação controla o acesso a mais de uma operação de API. 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.
A tabela a seguir mostra ações e chaves de condição da classe S3 Express One Zone.
Ação | API | Descrição | Nível de acesso | Chaves de condição |
---|---|---|---|---|
s3express:CreateBucket
|
CreateBucket |
Concede permissão para criar um bucket. |
Escrever |
|
s3express:CreateSession |
CreateSession |
Concede permissão para criar um token de sessão, que é usado para conceder acesso a todas as operações de API zonais (nível de objeto), como |
Escrever |
|
s3express:DeleteBucket |
DeleteBucket |
Concede permissão para excluir o bucket nomeado no URI. |
Escrever |
|
s3express:DeleteBucketPolicy |
DeleteBucketPolicy |
Concede permissão para excluir a política de um bucket especificado. |
Gerenciamento de permissões |
|
s3express:GetBucketPolicy |
GetBucketPolicy |
Concede permissão para retornar a política do bucket especificado. |
Leitura |
|
s3express:GetEncryptionConfiguration |
GetBucketEncryption |
Concede permissão para exibir a configuração de criptografia padrão de um bucket de diretório. |
Leitura |
|
s3express:ListAllMyDirectoryBuckets |
ListDirectoryBuckets |
Concede permissão para listar todos os buckets de diretório de propriedade do remetente autenticado da solicitação. |
Listar |
|
s3express:PutBucketPolicy |
PutBucketPolicy |
Concede permissão para adicionar ou substituir uma política de um bucket. |
Gerenciamento de permissões |
|
s3express:PutBucketPolicy |
PutBucketPolicy |
Concede permissão para adicionar ou substituir uma política de um bucket. |
Gerenciamento de permissões |
|
s3express:PutEncryptionConfiguration |
PutBucketEncryption ou DeleteBucketEncryption |
Concede permissão para definir a configuração de criptografia para um bucket de diretório |
Escrever |
|
Chaves de condição da classe S3 Express One Zone
A classe S3 Express One Zone define as chaves de condição a seguir que podem ser usadas no elemento Condition
de uma política do IAM. É possível usar essas chaves para refinar ainda mais as condições sob as quais a declaração de política se aplica.
Chave de condição | Descrição | Tipo |
---|---|---|
s3express:authType |
Filtra o acesso por método de autenticação. Você pode usar essa chave de condição opcional para restringir as solicitações recebidas a usar um método específico de autenticação. Por exemplo, é possível usar essa chave de condição para permitir que somente o cabeçalho HTTP Valores válidos: |
String |
s3express:LocationName |
Filtra o acesso à operação de API Exemplo de valor: |
String |
s3express:ResourceAccount |
Filtra o acesso pelo ID da Conta da AWS do proprietário do recurso. Para restringir o acesso de usuários, perfis ou aplicações aos buckets de diretório pertencentes ao ID de uma Conta da AWS específica, é possível usar a chave de condição Exemplo de valor: |
String |
s3express:SessionMode |
Filtra o acesso pela permissão solicitada pela operação de API Valores válidos: |
String |
s3express:signatureAge |
Filtra o acesso pela idade em milissegundos da assinatura da solicitação. Essa condição funciona somente para URLs pré-assinados. No AWS Signature Version 4, a chave de assinatura é válida por até 7 dias. Portanto, as assinaturas também são válidas por até 7 dias. Para obter mais informações, consulte Introduction to signing requests (Introdução à assinatura de solicitações) na Referência de API do Amazon Simple Storage Service. Você pode usar essa condição para limitar ainda mais a idade da assinatura. Exemplo de valor: |
Numérico |
s3express:signatureversion |
Identifica a versão do AWS Signature à qual você deseja oferecer suporte para solicitações autenticadas. Para solicitações autenticadas, a classe S3 Express One Zone oferece suporte ao Signature Version 4. Valor válido: |
String |
s3express:TlsVersion |
Filtra o acesso pela versão do TLS usada pelo cliente. Você pode usar a chave de condição Exemplo de valor: |
Numérico |
s3express:x-amz-content-sha256 |
Filtra o acesso por conteúdo não assinado no bucket. É possível usar essa chave de condição para proibir conteúdo não assinado em seu bucket. Ao usar o Signature Version 4 para solicitações que usem o cabeçalho Você pode usar essa chave de condição na política de bucket para negar todo upload cujas cargas úteis não estejam assinadas. Por exemplo:
Valor válido: |
String |
s3express:x-amz-server-side-encryption |
Filtra o acesso pela criptografia do lado do servidor Valores válidos: |
String |
s3express:x-amz-server-side-encryption-aws-kms-key-id |
Filtra o acesso pela chave do AWS KMS gerenciada pelo cliente para criptografia do lado do servidor Exemplo de valor: |
ARN |