Ejemplos básicos de políticas de Amazon SQS - Amazon Simple Queue Service

Ejemplos básicos de políticas de Amazon SQS

En esta sección se muestran políticas de ejemplo para casos de uso Amazon SQS comunes.

Puede utilizar la consola para comprobar los efectos de cada política a medida que asocia la política al usuario. En un primer momento, como el usuario no tiene permisos, no podrá hacer nada más en la consola. Al asignar políticas al usuario, podrá verificar que este pueda realizar diversas acciones en la consola.

nota

Le recomendamos que utilice dos ventanas del navegador: una para conceder permisos a un usuario y otra para iniciar sesión en la Consola de administración de AWS con las credenciales del usuario y comprobar los permisos a medida que los va concediendo.

Ejemplo 1: conceder un permiso a una Cuenta de AWS

La siguiente política de ejemplo concede al número 111122223333 de la Cuenta de AWS el permiso SendMessage para la cola denominada 444455556666/queue1 en la región Este de EE. UU. (Ohio).

JSON
{ "Version":"2012-10-17", "Id": "Queue1_Policy_UUID", "Statement": [{ "Sid":"Queue1_SendMessage", "Effect": "Allow", "Principal": { "AWS": [ "111122223333" ] }, "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:us-east-2:444455556666:queue1" }] }

Ejemplo 2: conceder dos permisos a una Cuenta de AWS

La siguiente política de ejemplo concede al número 111122223333 de la Cuenta de AWS los permisos SendMessage y ReceiveMessage para la cola denominada 444455556666/queue1.

JSON
{ "Version":"2012-10-17", "Id": "Queue1_Policy_UUID", "Statement": [{ "Sid":"Queue1_Send_Receive", "Effect": "Allow", "Principal": { "AWS": [ "111122223333" ] }, "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws:sqs:*:444455556666:queue1" }] }

Ejemplo 3: conceder todos los permisos a dos Cuentas de AWS

La siguiente política de ejemplo concede a dos números de Cuentas de AWS diferentes (111122223333 y 444455556666) permiso para utilizar todas las acciones en las que Amazon SQS permite el acceso compartido en la cola denominada 123456789012/queue1 de la región Este de EE. UU. (Ohio).

JSON
{ "Version":"2012-10-17", "Id": "Queue1_Policy_UUID", "Statement": [{ "Sid":"Queue1_AllActions", "Effect": "Allow", "Principal": { "AWS": [ "111122223333", "444455556666" ] }, "Action": "sqs:*", "Resource": "arn:aws:sqs:us-east-2:123456789012:queue1" }] }

Ejemplo 4: conceder permisos entre cuentas a un rol y un nombre de usuario

La siguiente política de ejemplo concede a role1 y username1 con el número 111122223333 de Cuenta de AWS permiso entre cuentas para utilizar todas las acciones en las que Amazon SQS permite el acceso compartido en la cola denominada 123456789012/queue1 de la región Este de EE. UU. (Ohio).

Los permisos entre cuentas no se aplican a las siguientes acciones:

JSON
{ "Version":"2012-10-17", "Id": "Queue1_Policy_UUID", "Statement": [{ "Sid":"Queue1_AllActions", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/role1", "arn:aws:iam::111122223333:user/username1" ] }, "Action": "sqs:*", "Resource": "arn:aws:sqs:us-east-2:123456789012:queue1" }] }

Ejemplo 5: conceder un permiso a todos los usuarios

La siguiente política de ejemplo concede a todos los usuarios (usuarios anónimos) el permiso ReceiveMessage para la cola denominada 111122223333/queue1.

JSON
{ "Version":"2012-10-17", "Id": "Queue1_Policy_UUID", "Statement": [{ "Sid":"Queue1_AnonymousAccess_ReceiveMessage", "Effect": "Allow", "Principal": "*", "Action": "sqs:ReceiveMessage", "Resource": "arn:aws:sqs:*:111122223333:queue1" }] }

Ejemplo 6: conceder un permiso con restricción temporal a todos los usuarios

La siguiente política de ejemplo concede a todos los usuarios (usuarios anónimos) el permiso ReceiveMessage para la cola denominada 111122223333/queue1, pero solo desde las 12:00 h (mediodía) hasta las 15:00 h el 31 de enero de 2009.

JSON
{ "Version":"2012-10-17", "Id": "Queue1_Policy_UUID", "Statement": [{ "Sid":"Queue1_AnonymousAccess_ReceiveMessage_TimeLimit", "Effect": "Allow", "Principal": "*", "Action": "sqs:ReceiveMessage", "Resource": "arn:aws:sqs:*:111122223333:queue1", "Condition" : { "DateGreaterThan" : { "aws:CurrentTime":"2009-01-31T12:00Z" }, "DateLessThan" : { "aws:CurrentTime":"2009-01-31T15:00Z" } } }] }

Ejemplo 7: conceder todos los permisos a todos los usuarios de un rango de CIDR

La siguiente política de ejemplo concede a todos los usuarios (usuarios anónimos) permiso para utilizar todas las acciones posibles de Amazon SQS que se pueden compartir para la cola denominada 111122223333/queue1, pero solo si la solicitud procede del intervalo de CIDR 192.0.2.0/24.

JSON
{ "Version":"2012-10-17", "Id": "Queue1_Policy_UUID", "Statement": [{ "Sid":"Queue1_AnonymousAccess_AllActions_AllowlistIP", "Effect": "Allow", "Principal": "*", "Action": "sqs:*", "Resource": "arn:aws:sqs:*:111122223333:queue1", "Condition" : { "IpAddress" : { "aws:SourceIp":"192.0.2.0/24" } } }] }

Ejemplo 8: permisos Allowlist y blocklist para los usuarios de diferentes rangos de CIDR

La siguiente política de ejemplo contiene dos instrucciones:

  • La primera instrucción concede a todos los usuarios (usuarios anónimos) del rango de CIDR 192.0.2.0/24 (excepto 192.0.2.188) permiso para utilizar la acción SendMessage para la cola denominada 111122223333/queue1.

  • La segunda instrucción bloquea a todos los usuarios (usuarios anónimos) del rango de CIDR 12.148.72.0/23 y les impide utilizar la cola.

JSON
{ "Version":"2012-10-17", "Id": "Queue1_Policy_UUID", "Statement": [{ "Sid":"Queue1_AnonymousAccess_SendMessage_IPLimit", "Effect": "Allow", "Principal": "*", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:*:111122223333:queue1", "Condition" : { "IpAddress" : { "aws:SourceIp":"192.0.2.0/24" }, "NotIpAddress" : { "aws:SourceIp":"192.0.2.188/32" } } }, { "Sid":"Queue1_AnonymousAccess_AllActions_IPLimit_Deny", "Effect": "Deny", "Principal": "*", "Action": "sqs:*", "Resource": "arn:aws:sqs:*:111122223333:queue1", "Condition" : { "IpAddress" : { "aws:SourceIp":"12.148.72.0/23" } } }] }