Usar tags com buckets de uso geral do S3 - Amazon Simple Storage Service

Usar tags com buckets de uso geral do S3

Uma tag da AWS é um par de chave-valor que contém metadados sobre recursos, neste caso buckets de uso geral do Amazon S3. É possível marcar buckets de do S3 ao criá-los ou gerenciar tags em buckets 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 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

Use tags em buckets 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. Para ter mais informações, consulte Usar tags para alocação de custos.

  2. Controle de acesso por atributo (ABAC): amplie as permissões de acesso e conceda acesso aos buckets do S3 com base nas respectivas tags. Para ter mais informações, consulte Using tags for ABAC.

    nota

    Para buckets de uso geral, o ABAC não está habilitado por padrão. Para habilitar o ABAC para buckets de uso geral, consulte Habilitar o ABAC em buckets de uso geral. Para recursos do Amazon S3, como pontos de acesso e buckets de diretório, o ABAC está habilitado por padrão. Você pode usar as mesmas tags para alocação de custos e controle de acesso.

ABAC para buckets de uso geral do S3

Os buckets de uso geral 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 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 do S3 com base nas tags do bucket usando as seguintes chaves de condição globais:

  • aws:ResourceTag/key-name

    • Use essa chave de condição para comparar o par chave-valor da tag especificada na política com o par de chave-valor anexado ao recurso. O S3 avalia essa chave de condição somente depois que o ABAC é habilitado no bucket. 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 de condição para comparar o par de chave-valor da tag que foi transmitido 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 de condição 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.

  • s3:BucketTag/tag-key

    • Use essa chave de condição para conceder permissões a dados específicos em buckets por meio de tags. Essa chave de condição é aplicável somente após a habilitação do ABAC no bucket. Quando se usa um ponto de acesso para acessar um bucket, a chave de condição aws:ResourceTag/tag-key consulta as tags no bucket ao conceder permissões referentes ao ponto de acesso e ao bucket. A s3:BucketTag/tag-key fará referência às tags somente do bucket ao qual está sendo concedida uma permissão.

nota

Ao criar um bucket com tags, observe que as condições baseadas em tags para acessar o bucket usando as chaves de condição aws:ResourceTag e s3:BucketTag são aplicáveis somente após a habilitação do ABAC no bucket. Para saber mais, consulte Habilitar o ABAC em buckets de uso geral.

Exemplos de política de ABAC para buckets

Veja os exemplos de política de ABAC a seguir para buckets 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ó poderão criar buckets 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 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": [ "s3:CreateBucket", "s3:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "Trinity" ] } } } ] }

1.2 Política de bucket para restringir operações

Nessa política de bucket, as entidades principais do IAM (usuários e perfis) não receberão permissão para executar as ações s3:ListBucket, s3:GetObject e s3:PutObject no bucket somente se o valor de tag project no bucket corresponder ao valor de tag project na entidade principal.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyObjectOperations", "Effect": "Deny", "Principal": "*", "Action": ["s3:ListBucket", "s3:GetObject", "s3:PutObject"], "Resource": "arn:aws:s3:::aws-s3-demo/*", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }

1.3 Política do IAM para modificar tags em recursos existentes

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. 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": [ "s3:TagResource", "s3:CreateBucket" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "project", "environment", "owner", "cost-center" ] } } } ] }

1.4 Usar a chave de condição s3:BucketTag

Nessa política do IAM, a instrução de condição permitirá acesso aos dados do bucket aws-s3-demo somente se o bucket tiver a chave de tag Environment e o valor de tag Production.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessViaSpecificBucket", "Effect": "Allow", "Action": "*", "Resource": ["arn:aws:s3:::aws-s3-demo","arn:aws:s3:::aws-s3-demo/*"], "Condition": { "StringEquals": { "s3:BucketTag/Environment": "Production" } } } ] }

Gerenciar tags para buckets de uso geral

É possível adicionar ou gerenciar tags para buckets do S3 usando o console do Amazon S3, a AWS Command Line Interface (CLI), os SDKs da AWS ou as APIs TagResource, UntagResource e ListTagsForResource do S3. Para obter mais informações, consulte:

Tópicos