IAM: criar novos usuários somente com etiquetas específicas
Este exemplo mostra como você pode criar uma política baseada em identidade que permita a criação de usuários do IAM, mas apenas com uma ou ambas as chaves de tag Department
e JobFunction
. A chave de tag Department
deve ter a chave de tag Development
ou QualityAssurance
. A chave de tag JobFunction
deve ter o valor de tag Employee
. Você pode usar essa política para exigir que novos usuários tenham um cargo e um departamento específicos. Esta política concede as permissões necessárias para concluir esta ação na API ou AWS CLI da AWS de maneira programática. Para usar esta política, substitua o texto do espaço reservado em itálico
na política de exemplo por suas próprias informações. Em seguida, siga as instruções em criar uma política ou editar uma política.
A primeira condição na instrução usa o operador de condição StringEqualsIfExists
. Se uma tag com a chave JobFunction
ou Department
estiver presente na solicitação, a tag deverá ter o valor especificado. Se nenhuma chave estiver presente, essa condição será avaliada como verdadeira. A única maneira de a condição ser avaliada como falsa é se uma das chaves de condição especificada estiver presente na solicitação, mas tiver um valor diferente dos permitidos. Para obter mais informações sobre o uso de IfExists
, consulte Operadores de condição ...IfExists.
A segunda condição usa o operador de condição ForAllValues:StringEquals
. A condição retorna verdadeira se houver uma correspondência entre cada um dos valores de chave especificados na solicitação e pelo menos um valor na política. Isso significa que todas as tags na solicitação devem estar nessa lista. No entanto, a solicitação pode incluir apenas uma das tags na lista. Por exemplo, você pode criar um usuário do IAM apenas com a etiqueta Department=QualityAssurance
. No entanto, você não pode criar um usuário do IAM com a etiqueta JobFunction=employee
e a etiqueta Project=core
. Para obter mais informações sobre o uso de ForAllValues
, consulte Chaves de contexto de múltiplos valores.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagUsersWithOnlyTheseTags", "Effect": "Allow", "Action": [ "iam:CreateUser", "iam:TagUser" ], "Resource": "*", "Condition": { "StringEqualsIfExists": { "aws:RequestTag/
Department
": [ "Development
", "QualityAssurance
" ], "aws:RequestTag/JobFunction
": "Employee
" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "Department
", "JobFunction
" ] } } } ] }