Usar tags com buckets de diretório do S3
Uma tag da AWS é um par de chave-valor que contém metadados sobre recursos, neste caso buckets de diretório do Amazon S3. Você pode marcar buckets de diretório do S3 ao criá-los ou gerenciar tags em buckets de diretório existentes. Para ter informações gerais sobre tags, consulte Atribuir tags para alocação de custos ou controle de acesso por atributo (ABAC).
nota
Não há cobrança adicional para usar tags em buckets de diretório além das taxas de solicitação padrão da API do S3. Para obter mais informações, consulte Preço do Amazon S3
Maneiras comuns de usar tags com buckets de diretório
Use tags em buckets de diretório do S3 para:
-
Alocação de custos: acompanhe os custos de armazenamento por tag de bucket no Gerenciamento de Faturamento e Custos da AWS. Para ter mais informações, consulte Usar tags para alocação de custos.
-
Controle de acesso por atributo (ABAC): amplie as permissões de acesso e conceda acesso aos buckets de diretório do S3 com base nas respectivas tags. Para ter mais informações, consulte Using tags for ABAC.
nota
Você pode usar as mesmas tags para alocação de custos e controle de acesso.
ABAC para buckets de diretório do S3
Os buckets de diretório do Amazon S3 permitem o controle de acesso por atributo (ABAC) por meio de tags. Use chaves de condição baseadas em tags em políticas de bucket de diretório do S3, de suas organizações na AWS e do IAM. Para empresas, o ABAC no Amazon S3 permite a autorização em várias contas da AWS.
Nas suas políticas do IAM, você pode controlar o acesso aos buckets de diretório do S3 com base nas tags do bucket usando as seguintes chaves de condição globais:
-
aws:ResourceTag/key-name
-
Use essa chave para comparar o par chave-valor da etiqueta especificado na política com o par chave-valor anexado ao recurso. Por exemplo, é possível exigir que o acesso a um recurso seja permitido somente se o recurso tiver a chave de tag
Dept
anexada com o valorMarketing
. Para obter mais informações, consulte Controle de acesso aos recursos do AWS.
-
-
aws:RequestTag/key-name
-
Use essa chave para comparar o par de chave/valor da tag que foi passado na solicitação com o par de tags especificado na política. Por exemplo, é possível verificar se a solicitação inclui a chave de tag
Dept
e se ela tem o valorAccounting
. Para ter mais informações, consulte Controlar o acesso durante solicitações da AWS. Você pode usar essa chave de condição para restringir quais pares de chave-valor de tag podem ser transmitidos durante as operações de APITagResource
eCreateBucket
.
-
-
aws:TagKeys
-
Use essa chave para comparar as chaves de tag em uma solicitação com as chaves especificadas na política. Ao usar políticas para controlar o acesso usando etiquetas, recomendamos o uso da chave de condição
aws:TagKeys
para definir quais chaves de etiquetas serão permitidas. Para ver exemplos de política e ter mais informações, consulte Controlar o acesso com base em chaves de tag. Você pode criar um bucket de diretório do S3 com tags. Para permitir a marcação durante a operação de APICreateBucket
, você deve criar uma política que inclua as açõess3express:TagResource
es3express:CreateBucket
. Em seguida, você pode usar a chave de condiçãoaws:TagKeys
para impor o uso de tags específicas na solicitaçãoCreateBucket
.
-
-
s3express:BucketTag/tag-key
-
Use essa chave de condição para conceder permissões a dados específicos em buckets de diretório por meio de tags. Quando se usa um ponto de acesso para acessar um bucket de diretório, essa chave de condição faz referência às tags no bucket de diretório ao conceder permissões referentes ao ponto de acesso e ao bucket de diretório, enquanto
aws:ResourceTag/tag-key
faz referência apenas às tags do recurso ao qual está sendo concedida uma permissão.
-
Exemplos de política de ABAC para buckets de diretório
Veja os exemplos de política de ABAC a seguir para buckets de diretório do Amazon S3.
1.1 Política do IAM para criar ou modificar buckets com tags específicas
Nessa política do IAM, usuários ou perfis com essa política só podem criar buckets de diretório do S3 se marcarem o bucket com a chave de tag project
e o valor de tag Trinity
na solicitação de criação do bucket. Eles também podem adicionar ou modificar tags em buckets de diretório existentes do S3, desde que a solicitação TagResource
inclua o par de chave-valor de tag project:Trinity
. Essa política não concede permissões de leitura, gravação ou exclusão nos buckets ou nos respectivos objetos.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateBucketWithTags", "Effect": "Allow", "Action": [ "s3express:CreateBucket", "s3express:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "
Trinity
" ] } } } ] }
1.2 Política de bucket para restringir operações no bucket por meio de tags
Nessa política de bucket, as entidades principais do IAM (usuários e perfis) podem executar operações usando a ação CreateSession
no bucket somente se o valor da tag project
do bucket corresponder ao valor da tag project
da entidade principal.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "
111122223333
" }, "Action": "s3express:CreateSession", "Resource": "arn:aws::s3express:us-west-2
:111122223333
:bucket/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }
amzn-s3-demo-bucket--usw2-az1--x-s3
1.3 Política do IAM para modificar tags em recursos existentes, mantendo a governança de marcação
Nessa política do IAM, as entidades principais do IAM (usuários e perfis) podem modificar tags em um bucket somente se o valor da tag project
do bucket corresponder ao valor da tag project
da entidade principal. Somente as quatro tags (project
, environment
, owner
e cost-center
) especificadas nas chaves de condição aws:TagKeys
são permitidas para esses buckets de diretório. Isso ajuda a impor a governança de tags, evita modificações não autorizadas nas tags e mantém o esquema de marcação consistente em todos os seus buckets.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3express:TagResource" ], "Resource": "arn:aws::s3express:
us-west-2
:111122223333
:bucket/*", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "project
", "environment
", "owner
", "cost-center
" ] } } } ] }
1.4 Uso da chave de condição s3express:BucketTag
Nesta política do IAM, a instrução de condição permitirá acesso aos dados do bucket somente se o bucket tiver a chave de tag Environment
e o valor de tag Production
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3express:
us-west-2
:111122223333
:accesspoint/*", "Condition": { "StringEquals": { "s3express:BucketTag/Environment": "Production" } } } ] }
Gerenciar tags para buckets de diretório
Você pode adicionar ou gerenciar tags para buckets de diretório do S3 usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI) e os SDKs da AWS ou as APIs TagResource, UntagResource e ListTagsForResource do S3. Para obter mais informações, consulte: