Ejemplos de clave de contexto multivalor
El siguiente conjunto de ejemplos de políticas muestra cómo crear condiciones de políticas con claves de contexto multivalor.
Ejemplo: política de denegación con el operador de conjunto de condiciones ForAllValues
El siguiente ejemplo de política basada en identidad niega el uso de acciones de etiquetado de IAM cuando se incluyen prefijos de clave de etiqueta específicos en la solicitud. Cada valor de la clave de contexto aws:TagKeys
incluye un comodín (*) para la coincidencia parcial de cadenas. La política incluye el operador de conjunto ForAllValues
con la clave de contexto aws:TagKeys
, porque la clave de contexto de la solicitud puede incluir varios valores. Para que la clave de contexto aws:TagKeys
devuelva verdadero, cada valor de la solicitud debe coincidir con al menos un valor de la política.
El operador de conjunto ForAllValues
también devuelve verdadero si no hay claves de contexto en la solicitud o si los valores de clave de contexto se resuelven en un conjunto de datos nulo, como una cadena vacía. Para evitar que las claves de contexto faltantes o las claves de contexto con valores vacíos se evalúen como verdaderas, incluya el operador de condición Null
en su política con un valor false
para comprobar si la clave de contexto existe en la solicitud y su valor no es nulo.
importante
Esta política no permite ninguna acción. Utilice esta política en combinación con otras políticas que permiten acciones 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*" ] } } } ] }
Ejemplo: política de denegación con el operador de conjunto de condiciones ForAnyValue
El siguiente ejemplo de política basada en identidad niega la creación de instantáneas de volúmenes de instancias de EC2 si alguna instantánea está etiquetada con una de las claves de etiqueta especificadas en la política, environment
o webserver
. La política incluye el operador de conjunto ForAnyValue
con la clave de contexto aws:TagKeys
, porque la clave de contexto de la solicitud puede incluir varios valores. Si su solicitud de etiquetado incluye alguno de los valores de clave de etiqueta especificados en la política, la clave de contexto aws:TagKeys
devuelve verdadero e invoca el efecto de la política de denegación.
importante
Esta política no permite ninguna acción. Utilice esta política en combinación con otras políticas que permiten acciones 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"] } } } ] }