Ejemplos de políticas de claves de contexto con un solo valor
El siguiente conjunto de ejemplos de políticas muestra cómo crear condiciones de políticas con claves de contexto de valor único.
Ejemplo: varios bloques de condiciones con claves de contexto de un solo valor
Cuando un bloque de condiciones tiene varias condiciones, cada una con una única clave de contexto, todas las claves de contexto deben resolverse como verdaderas para que se invoque el efecto Allow
o Deny
deseado. Cuando se utilizan operadores de condición con coincidencia negada, la lógica de evaluación del valor de la condición se invierte.
El siguiente ejemplo permite a los usuarios crear volúmenes de EC2 y aplicar etiquetas a los volúmenes durante la creación de estos. El contexto de la solicitud debe incluir un valor para la clave de contexto aws:RequestTag/project
, y el valor de la clave de contexto aws:ResourceTag/environment
puede ser cualquiera excepto el de producción.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:::volume/*", "Condition": { "StringLike": { "aws:RequestTag/project": "*" } } }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:region:account:*/*", "Condition": { "StringNotEquals": { "aws:ResourceTag/environment": "production" } } } ] }
El contexto de la solicitud debe incluir un valor de etiqueta del proyecto y no se puede crear para que un recurso de producción invoque el efecto Allow
. El siguiente volumen de EC2 se creó correctamente porque el nombre del proyecto es Feature3
con una etiqueta de recurso QA
.
aws ec2 create-volume \ --availability-zone us-east-1a \ --volume-type gp2 \ --size 80 \ --tag-specifications 'ResourceType=volume,Tags=[{Key=project,Value=Feature3},{Key=environment,Value=QA}]'
Ejemplo: un bloque de condiciones con varias claves de contexto de un solo valor y varios valores
Cuando un bloque de condiciones contiene varias claves de contexto y cada clave de contexto tiene varios valores, cada clave de contexto debe resolverse como verdadera para que se invoque al menos un valor de clave para el efecto Allow
o Deny
deseado. Cuando se utilizan operadores de condición con coincidencia negada, la lógica de evaluación del valor de la clave de contexto se invierte.
El siguiente ejemplo permite a los usuarios iniciar y ejecutar tareas en los clústeres de Amazon Elastic Container Service.
-
El contexto de la solicitud debe incluir
production
Oprod-backup
para la clave de contextoaws:RequestTag/environment
AND. -
La clave de contexto
ecs:cluster
asegura que las tareas se ejecuten en cualquiera de los clústeres de ECS con ARNdefault1
Odefault2
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:RunTask", "ecs:StartTask" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:RequestTag/environment": [ "production", "prod-backup" ] }, "ArnEquals": { "ecs:cluster": [ "arn:aws:ecs:us-east-1:111122223333:cluster/default1", "arn:aws:ecs:us-east-1:111122223333:cluster/default2" ] } } } ] }