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

Usar tags com pontos de acesso para buckets de uso geral do S3

Uma tag da AWS é um par de chave-valor que contém metadados sobre recursos; neste caso, Pontos de Acesso Amazon S3. Você pode atribuir tags aos pontos de acesso ao criá-los ou gerenciar tags em pontos de acesso 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 pontos de acesso 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 pontos de acesso

O controle de acesso por atributo (ABAC) permite ampliar as permissões de acesso e conceder acesso a pontos de acesso com base nas respectivas tags. Para ter mais informações sobre o ABAC no Amazon S3, consulte Using tags for ABAC.

ABAC para o recurso Pontos de Acesso S3

O recurso Pontos de Acesso Amazon S3 permite utilizar o controle de acesso por atributo (ABAC) usando tags. Use chaves de condição baseadas em tags nas políticas de suas organizações da AWS, em como em suas políticas do IAM e de pontos de acesso. 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 pontos de acesso com base nas tags do ponto de acesso 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 CreateAccessPoint.

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

  • s3:AccessPointTag/tag-key

    • Use essa chave de condição para conceder permissões a dados específicos por meio de pontos de acesso usando tags. Ao usar aws:ResourceTag/tag-key em uma política do IAM, tanto o ponto de acesso quanto o bucket para o qual o ponto de acesso aponta precisam ter a mesma tag, pois ambos são considerados durante a autorização. Se você quiser controlar o acesso aos seus dados especificamente apenas por meio da tag do ponto de acesso, é possível usar a chave de condição s3:AccessPointTag/tag-key.

Exemplos de política de ABAC para pontos de acesso

Veja a seguir exemplos de política de ABAC para o recurso Pontos de Acesso Amazon S3.

1.1 Política do IAM para criar ou modificar buckets com tags específicas

Nesta política do IAM, usuários ou perfis com esta política só podem criar pontos de acesso se atribuírem tags aos pontos de acesso com a chave de tag project e o valor de tag Trinity na solicitação de criação de pontos de acesso. Eles também podem adicionar ou modificar tags em pontos de acesso existentes, desde que a solicitação TagResource inclua o par de chave-valor de tag project:Trinity.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAccessPointWithTags", "Effect": "Allow", "Action": [ "s3:CreateAccessPoint", "s3:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "Trinity" ] } } } ] }

1.2 Política de ponto de acesso para restringir operações no ponto de acesso por meio de tags

Nesta política de ponto de acesso, as entidades principais do IAM (usuários e perfis) podem executar operações usando a ação GetObject no ponto de acesso somente se o valor da tag project do ponto de acesso corresponder ao valor da tag project da entidade principal.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "111122223333" }, "Action": "s3:GetObject", "Resource": "arn:aws::s3:region:111122223333:accesspoint/my-access-point", "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

Nesta política do IAM, as entidades principais do IAM (usuários e perfis) podem modificar tags em um ponto de acesso somente se o valor da tag project do ponto de acesso 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 pontos de acesso. 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 pontos de acesso.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3:TagResource" ], "Resource": "arn:aws::s3:region:111122223333:accesspoint/my-access-point", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "project", "environment", "owner", "cost-center" ] } } } ] }

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

Nesta política do IAM, a instrução de condição permitirá acesso aos dados do bucket se o ponto de acesso 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::s3:region:111122223333:accesspoint/my-access-point", "Condition": { "StringEquals": { "s3:AccessPointTag/Environment": "Production" } } } ] }

1.5 Usar uma política de delegação de bucket

No Amazon S3, você pode delegar o acesso ou o controle da sua política de bucket do S3 a outra conta da AWS ou a um usuário ou perfil específico do AWS Identity and Access Management (IAM) na outra conta. A política de bucket delegada concede a essa outra conta, usuário ou perfil permissão para acessar seu bucket e os respectivos objetos. Para ter mais informações, consulte Delegação de permissão.

Se estiver usando uma política de bucket delegada, como a seguinte:

{ "Version": "2012-10-17", "Statement": { "Principal": {"AWS": "*"}, "Effect": "Allow", "Action": ["s3:*"], "Resource":["arn:aws::s3:::amzn-s3-demo-bucket/*", "arn:aws::s3:::amzn-s3-demo-bucket"], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "111122223333" } } } }

Nesta política do IAM, a instrução de condição permitirá acesso aos dados do bucket se o ponto de acesso 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::s3:region:111122223333:accesspoint/my-access-point", "Condition": { "StringEquals": { "s3:AccessPointTag/Environment": "Production" } } } ] }

Trabalhar com tags para pontos de acesso para buckets de uso geral

Você pode adicionar ou gerenciar tags para pontos de acesso 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 ter mais informações, consulte: