Usar tags com buckets de diretório do S3 - Amazon Simple Storage Service

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. 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.

Como as tags funcionam

Os buckets de diretório do Amazon S3 permitem dois tipos de tag:

  • Tags geradas AWS: a AWS aplica automaticamente essas tags, e você não pode modificá-las ou removê-las. Para saber mais sobre tags geradas pela AWS, consulte Using AWS-generated tags.

  • Tags definidas pelo usuário: é você quem aplica essas tags aos seus buckets de diretório do S3 ou a outros recursos e as gerencia.

Tags definidas pelo usuário

Uma tag definida pelo usuário é um par de chave-valor de tag que você usa para rotular seus recursos. As tags definidas pelo usuário consistem em uma chave obrigatória e um valor opcional. Estes são os principais componentes de uma tag definida pelo usuário:

A chave da tag

A chave de tags é o nome obrigatório da tag. Por exemplo, project é a chave da tag no seguinte par de chave-valor de tag:

Chave Valor
project Trinity

A chave da tag é uma string que diferencia maiúsculas e minúsculas e deve conter de 1 a 128 caracteres Unicode.

O valor da tag

O valor da tag é uma string opcional. Por exemplo, Trinity é o valor da tag neste par de chave-valor de tag:

Chave Valor
project Trinity

O valor da tag é uma string que diferencia maiúsculas e minúsculas e pode conter de 0 a 256 caracteres Unicode.

Para obter detalhes sobre os caracteres permitidos em tags definidas pelo usuário e outras restrições, consulte User-Defined Tag Restrictions no Guia do usuário do Gerenciamento de Faturamento e Custos da AWS.

O conjunto de tags

Cada bucket de diretório do S3 tem um conjunto de tags que contém todos os pares de chave e valor de tag atribuídos a esse bucket. Um conjunto de tags pode conter até cinquenta tags ou estar vazio.

Embora cada chave deva ser exclusiva em um conjunto de tags, você pode usar o mesmo valor várias vezes. Por exemplo, você pode ter o mesmo valor, Trinity, para as duas chaves de tag abaixo:

Chave Valor
project Trinity
cost-center Trinity

Em um bucket, quando você adiciona uma tag que tem a mesma chave de uma tag existente, o novo valor substitui o antigo.

AWSA não aplica nenhum significado semântico às suas tags. Interpretamos as tags estritamente como sequências de caracteres.

Para adicionar, listar, modificar ou excluir tags, você pode usar o console do Amazon S3, a AWS Command Line Interface (AWS CLI) ou a API do Amazon S3.

Maneiras comuns de usar tags

Use tags em buckets de diretório do S3 para:

  1. Alocação de custos: acompanhe os custos de armazenamento por tag de bucket no Gerenciamento de Faturamento e Custos da AWS.

  2. 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.

nota

Você pode usar as mesmas tags para alocação de custos e controle de acesso.

Usar tags para alocação de custos

Acompanhe seus custos de armazenamento do Amazon S3 aplicando tags aos buckets de diretório do S3 e ativando essas tags para alocação de custos.

Para começar a rastrear os custos:

  1. Adicione tags aos seus buckets de diretório do S3 ou use tags existentes. Para ter mais informações sobre como adicionar tags definidas pelo usuário aos seus buckets de diretório, consulte Como trabalhar com tags. Por exemplo, você pode rotular os buckets com uma tag que identifique um projeto ou um grupo de projetos.

  2. Ative as tags para alocação de custos no console do Gerenciamento de Faturamento e Custos da AWS. Consulte Activating user-defined cost allocation tags no Guia do usuário do Gerenciamento de Faturamento e Custos da AWS. Você pode ativar tags definidas pelo usuário ou geradas pela AWS. Para ter mais informações, consulte Organizing and tracking costs using AWS cost allocation tags.

A AWS usa as tags ativadas para organizar os custos de seus recursos em várias ferramentas gerenciamento de faturamento e custos, como:

  • Relatório de alocação de custos

    Oferece uma visualização geral dos custos organizados com base em nas tags ativadas. Para ter mais informações, consulte Using the monthly cost allocation report no Guia do usuário do AWS Billing.

  • Relatório de Custos e Uso (CUR)

    Oferece o conjunto mais detalhado de dados de custo e uso da AWS, bem como detalhamento de custos baseado em tags. Para ter mais informações, consulte What are AWS Cost and Usage Reports? no Guia do usuário do AWS Data Exports.

Usar tags para controle de acesso por atributo (ABAC)

O controle de acesso por atributo (ABAC) é uma estratégia de autorização que define permissões com base em atributos (isto é, tags). Você pode anexar tags a entidades do AWS Identity and Access Management (IAM) (usuários ou perfis) e a recursos da AWS, como buckets de diretório do Amazon S3. Posteriormente, você controla as permissões para esses recursos usando condições baseadas em tags em políticas de controle de acesso para permitir ou negar operações quando essas condições forem atendidas.

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 valor Marketing. 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 valor Accounting. 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 API TagResource e CreateBucket.

  • 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 API CreateBucket, você deve criar uma política que inclua as ações s3express:TagResource e s3express:CreateBucket. Em seguida, você pode usar a chave de condição aws:TagKeys para impor o uso de tags específicas na solicitação CreateBucket.

  • 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.

Exemplo de política

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/amzn-s3-demo-bucket--usw2-az1--x-s3", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }
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:*:*: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

Nessa política do IAM, a instrução de condição permite 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:*:*:accesspoint/*", "Condition": { "StringEquals": { "s3express:BucketTag/Environment": "Production" } } } ] }

Como trabalhar com tags

Você pode adicionar ou gerenciar tags para buckets de diretório do S3 usando o console do Amazon S3, a AWS Command Line Interface (CLI) e os SDKs da AWS ou as APIs TagResource, UntagResource e ListTagsForResource do S3. Para obter mais informações, consulte: