Habilitar o ABAC em buckets de uso geral
O controle de acesso por atributo (ABAC) é uma estratégia de autorização usada para definir permissões com base em atributos (isto é, tags). Por padrão, o ABAC está desabilitado para todos os buckets de uso geral do Amazon S3. Para habilitar o ABAC para buckets de uso geral, é necessário habilitá-lo.
Antes de habilitar o ABAC para um bucket de uso geral, recomendamos primeiro concluir as tarefas descritas nos seguintes tópicos:
Auditar as políticas antes de habilitar o ABAC
Antes de habilitar o ABAC para um bucket, se ele tiver tags, audite as políticas de controle de acesso para verificar se as condições baseadas em tags fazem referência a alguma das tags existentes no bucket. Se fizerem, confirme se essas políticas estão configuradas conforme o esperado e se a habilitação do controle de acesso baseado em tags não cria alterações de autorização indesejadas nos fluxos de trabalho do Amazon S3. Isso ajudará a garantir que suas políticas funcionem conforme o esperado após a habilitação do ABAC em seus buckets. Para ver exemplos de uso de condições baseadas em atributos com tags, consulte Usar tags com buckets de uso geral do S3.
Incluir as permissões necessárias em políticas do IAM
Para habilitar o ABAC para um bucket, as seguintes permissões do Amazon S3 são necessárias:
s3:PutBucketAbac: atualize o status do ABAC do bucket de uso geral.s3:GetBucketAbac: visualize o status do ABAC do bucket de uso geral.
Depois de habilitar o ABAC, as permissões que você usou anteriormente para adicionar tags a um bucket ou excluir tags de um bucket, PutBucketTagging ou DeleteBucketTagging, não funcionarão mais. Em vez disso, use as APIs TagResource e UntagResource para realizar essas tarefas.
É recomendável usar as APIs TagResource e UntagResource para gerenciar a marcação antes de habilitar o ABAC nos buckets. Agora o console do Amazon S3 e o CloudFormation usam as APIs TagResource e UntagResource por padrão. Também é possível desabilitar o ABAC no bucket usando a API PutBucketAbac. Você pode usar GetBucketTagging para listar tags em seus buckets. Essa API continuará a funcionar depois que você habilitar o ABAC para seus buckets. Também é possível usar ListTagsForResource para listar todas as tags em seus buckets.
Para aplicar tags e removê-las de buckets de uso geral, as permissões a seguir serão necessárias.
s3:TagResource: adicione tags a um recurso da AWS, como um bucket de uso geral do Amazon S3.s3:UntagResource: remova tags de um recurso da AWS, como um bucket de uso geral do Amazon S3.s3:ListTagsForResource: visualize as tags de um recurso da AWS, como um bucket de uso geral do Amazon S3.
A política do IAM a seguir concede a permissão para habilitar o ABAC e visualizar o respectivo status para o bucket.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutBucketAbac", "s3:GetBucketAbac" ], "Resource": "arn:aws:s3:::my-s3-bucket/*" } ] }
Para ter mais informações sobre a marcação de buckets de uso geral e exemplos de política de ABAC para buckets de uso geral, consulte Usar tags com buckets de uso geral do S3.
Etapas
Se você tiver a permissão s3:PutBucketAbac para um bucket de uso geral, poderá habilitar o ABAC para esse bucket usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), a API REST do Amazon S3 e SDKs da AWS.
Para habilitar o ABAC para um bucket de uso geral usando o console do Amazon S3:
Faça login no console do Amazon S3 em https://console.aws.amazon.com/s3/
. No painel de navegação à esquerda, escolha Buckets.
Escolha o nome do bucket.
Escolha a guia Properties (Propriedades).
No painel ABAC do Bucket, escolha Editar.
Escolha o botão Habilitar.
Analise e confirme as permissões necessárias para gerenciar as tags depois de habilitar o ABAC:
TagResource,UntagResourceeListTagsForResource.Escolha Salvar alterações.
Para ter informações sobre a compatibilidade oferecida pela API REST do Amazon S3 para adicionar tags a um bucket de uso geral, consulte a seguinte seção na Referência de API do Amazon Simple Storage Service:
Para instalar a AWS CLI, consulte Instalar ou atualizar a versão mais recente da AWS CLI no Guia do usuário da versão 2 da AWS Command Line Interface.
O exemplo da CLI a seguir mostra como habilitar o ABAC para um bucket de uso geral usando a AWS CLI. Para usar o comando, substitua os espaços reservados para entrada do usuário por suas próprias informações.
Solicitação:
# Enable ABAC on a general purpose bucket aws s3api put-bucket-abac --bucket amzn-s3-demo-bucket --abac-status Status=Enabled --region us-east-2 # Disable ABAC on a general purpose bucket aws s3api put-bucket-abac --bucket amzn-s3-demo-bucket --abac-status Status=Disabled --region us-east-2 # Get ABAC status on a general purpose bucket aws s3api get-bucket-abac --bucket amzn-s3-demo-bucket --region us-east-2