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 tagcost-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 tagpurpose
:"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 tagsenvironment
oucost-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 tagsenvironment
ouwebserver
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.