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