O conjunto de exemplos de políticas a seguir demonstra como criar condições de política com chaves de contexto de múltiplos valores.
Exemplo: política de negação com operador de conjunto de condições ForAllValues
O exemplo de política baseada em identidade a seguir nega o uso de ações de marcação do IAM quando há prefixos de chave de etiqueta específicos na solicitação. Todo valor para a chave de contexto aws:TagKeys
inclui um curinga (*) para correspondência parcial de strings. A política inclui o operador de conjunto ForAllValues
com chave de contexto aws:TagKeys
porque a chave de contexto da solicitação pode conter múltiplos valores. Para a chave de contexto aws:TagKeys
retornar o valor verdadeiro, cada valor da solicitação deverá corresponder a pelo menos um valor na política.
O operador de conjunto ForAllValues
também retornará como verdadeiro se não houver chaves de contexto na solicitação ou se o valor da chave de contexto for resolvido para um conjunto de dados nulo, como uma string vazia. Para evitar que chaves de contexto ausentes ou chaves de contexto com valores vazios sejam avaliadas como verdadeiro, inclua o operador de condição Null
em sua política com um valor false
para verificar se a chave de contexto da solicitação existe e se seu valor não é nulo.
Importante
Esta política não permite qualquer ação. Use essa política em combinação com outras políticas que permitam ações específicas.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyRestrictedTags",
"Effect": "Deny",
"Action": [
"iam:Tag*",
"iam:UnTag*"
],
"Resource": [
"*"
],
"Condition": {
"Null": {
"aws:TagKeys": "false"
},
"ForAllValues:StringLike": {
"aws:TagKeys": [
"key1*",
"key2*",
"key3*"
]
}
}
}
]
}
Exemplo: política de negação com operador de conjunto de condições ForAnyValue
O exemplo de política baseada em identidade a seguir negará a criação de snapshots de volumes de instâncias do EC2 se algum snapshot estiver marcado com uma das chaves de etiqueta especificadas na política, environment
ou webserver
. A política inclui o operador de conjunto ForAnyValue
com chave de contexto aws:TagKeys
porque a chave de contexto da solicitação pode conter múltiplos valores. Se sua solicitação de marcação incluir qualquer chave-valor de etiqueta especificado na política, a chave de contexto aws:TagKeys
retornará como verdadeiro, invocando o efeito da política de negação.
Importante
Esta política não permite qualquer ação. Use essa política em combinação com outras políticas que permitam ações específicas.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ec2:CreateSnapshot",
"ec2:CreateSnapshots"
],
"Resource": "arn:aws:ec2:us-west-2::snapshot/*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:TagKeys": ["environment", "webserver"]
}
}
}
]
}