Conceder permissão para a atribuição de tags a recursos durante a criação - Amazon Elastic Container Service

Conceder permissão para a atribuição de tags a recursos durante a criação

As ações de criação com tags de API do Amazon ECS a seguir permitem que você especifique tags ao criar o recurso. Se as tags forem especificadas na ação resource-creating, a AWS executará autorização adicional para verificar se as permissões corretas foram atribuídas para a criação de tags.

  • CreateCapacityProvider

  • CreateCluster

  • CreateService

  • CreateTaskSet

  • RegisterContainerInstance

  • RegisterTaskDefinition

  • RunTask

  • StartTask

É possível usar tags de recursos para implementar o controle baseado em atributo (ABAC). Para ter mais informações, consulte Controlar o acesso aos recursos do Amazon ECS usando tags de recursos e Marcação de recursos do Amazon ECS.

Para permitir a atribuição de tags na criação, crie ou modifique uma política para incluir as permissões para usar a ação que cria o recurso, como ecs:CreateCluster ou ecs:RunTask e a ação ecs:TagResource.

O exemplo a seguir demonstra uma política que permite aos usuários criar clusters e adicionar tags durante a criação do cluster. Os usuários não têm permissão para marcar recursos existentes (não podem chamar a ação ecs:TagResource diretamente).

{ "Statement": [ { "Effect": "Allow", "Action": [ "ecs:CreateCluster" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": [ "CreateCluster", "CreateCapacityProvider", "CreateService", "CreateTaskSet", "RegisterContainerInstance", "RegisterTaskDefinition", "RunTask", "StartTask" ] } } } ] }

A ação ecs:TagResource será avaliada somente se as tags forem aplicadas durante a ação resource-creating. Portanto, um usuário que tiver permissões para criar um recurso (pressupondo-se que não existam condições de marcação) não precisa de permissão para usar a ação ecs:TagResource se nenhuma tag for especificada na solicitação. Contudo, se o usuário tentar criar um recurso com tags, haverá falha na solicitação se o usuário não tiver permissão para usar a ação ecs:TagResource.

Controle do acesso a etiquetas específicas do Amazon ECS

É possível usar condições adicionais no elemento Condition de suas políticas do IAM para controlar as chaves de tag e os valores que podem ser aplicados aos recursos.

As chaves de condição a seguir podem ser usadas com os exemplos na seção anterior:

  • aws:RequestTag: para indicar que uma chave de tag ou uma chave e um valor de tag específicos devem estar presentes em uma solicitação. Outras tags também podem ser especificadas na solicitação.

    • Use com o operador de condição StringEquals para impor uma combinação de chave e valor de tag específica, por exemplo, para impor a tag cost-center=cc123:

      "StringEquals": { "aws:RequestTag/cost-center": "cc123" }
    • Use com o operador de condição StringLike para impor uma chave de tag específica, por exemplo, para impor a chave de tag purpose:

      "StringLike": { "aws:RequestTag/purpose": "*" }
  • aws:TagKeys: para aplicar as chaves de tags usadas na solicitação.

    • Use com o modificador ForAllValues para impor chaves de tags específicas se forem fornecidas na solicitação (se as tags forem especificadas na solicitação, somente chaves de tags específicas são permitidas; nenhuma outra tag é permitida). Por exemplo, as chaves de tags environment ou cost-center são permitidas:

      "ForAllValues:StringEquals": { "aws:TagKeys": ["environment","cost-center"] }
    • Use com o modificador ForAnyValue para impor a presença de pelo menos uma das chaves de tags especificadas na solicitação. Por exemplo, pelo menos uma das chaves de tags environment ou webserver deve estar presente na solicitação:

      "ForAnyValue:StringEquals": { "aws:TagKeys": ["environment","webserver"] }

Essas chaves de condição podem ser aplicadas às ações resource-creating que são oferecem suporte à atribuição de tags, bem como a ação ecs:TagResource. Para saber se uma ação de API do Amazon ECS oferece suporte à atribuição de tags, consulte Ações, recursos e chaves de condição para o Amazon ECS.

Para forçar os usuários a especificarem tags quando criam um recurso, use a chave de condição aws:RequestTag ou a chave de condição aws:TagKeys com o modificador ForAnyValue na ação resource-creating. A ação ecs:TagResource não será avaliada se um usuário não especificar tags para a ação resource-creating.

Para condições, a chave de condição não diferencia maiúsculas de minúsculas, e o valor da condição diferencia maiúsculas de minúsculas. Portanto, para aplicar a diferenciação de maiúsculas de minúsculas de uma tag, use a chave de condição aws:TagKeys, onde a chave da tag é especificada como um valor na condição.

Para obter mais informações sobre as condições de vários valores, consulte Como criar uma condição que testa vários valores de chaves no Guia do usuário do IAM.