IAM: criar novos usuários somente com etiquetas específicas - AWS Identity and Access Management

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" ] } } } ] }