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 obter 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 condições de vários valores, consulte Condições com várias chaves de contexto ou valores no Guia do usuário do IAM.