¿Qué permisos necesito para acceder a una cola de Amazon SQS?

Última actualización: 24/08/2021

Deseo acceder a una cola de Amazon Simple Queue Service (Amazon SQS). ¿Qué permisos de política de acceso de SQS y de AWS Identity and Access Management (IAM) se necesitan para acceder a la cola?

Resolución

Para acceder a una cola de Amazon SQS, debe agregar permisos a la política de acceso de SQS, la política de IAM o ambas. Los requisitos de permisos específicos varían en función de si la cola de SQS y el rol de IAM pertenecen a la misma cuenta.

Misma cuenta

Para permitir el acceso, se requiere una declaración en la política de acceso de SQS o en la política de IAM.

Nota: Si la política de acceso de SQS o la política de IAM permiten explícitamente el acceso, pero la otra política deniega explícitamente el acceso, se deniega el acceso a la cola.

Política de usuario de IAM Política de acceso de SQS Resultado
Permitir Permitir Permitir
Permitir Ni permitir ni denegar Permitir
Permitir Denegar Denegar
Ni permitir ni denegar Permitir Permitir
Ni permitir ni denegar Ni permitir ni denegar Denegación implícita
Ni permitir ni denegar Denegar Denegar
Denegar Permitir Denegar
Denegar Ni permitir ni denegar Denegar
Denegar Denegar Denegar

Cuenta diferente

Para permitir el acceso, se requiere una declaración en la política de acceso de SQS y en la política de IAM.

Política de usuario de IAM Política de acceso de SQS Resultado
Permitir Permitir Permitir
Permitir Ni permitir ni denegar Denegación implícita
Permitir Denegar Denegar
Ni permitir ni denegar Permitir Denegación implícita
Ni permitir ni denegar Ni permitir ni denegar Denegación implícita
Ni permitir ni denegar Denegar Denegar
Denegar Permitir Denegar
Denegar Ni permitir ni denegar Denegar
Denegar Denegar Denegar

Ejemplos de declaraciones de políticas

En el siguiente ejemplo de políticas, se muestran los permisos que debe establecer en la política de IAM y en la política de acceso a colas de SQS a fin de permitir el acceso entre cuentas para una cola de SQS.

La primera política concede permisos para que username1 envíe mensajes al recurso arn:aws:sqs:us-east-1:123456789012:queue_1.

La segunda política permite que username1 envíe mensajes a la cola.

Ejemplo de declaración de política de IAM para username1

{
   "Version": "2012-10-17",
   "Statement": [{
      "Effect": "Allow",
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:us-east-1:123456789012:queue_1"
   }]
}

Ejemplo de declaración de política de recurso de SQS para queue_1

{
   "Version": "2012-10-17",
   "Id": "Queue1_Policy",
   "Statement": [{
      "Sid":"Queue1_AllActions",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "arn:aws:iam::111122223333:user/username1"
         ]
      },
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:us-east-1:123456789012:queue_1"
   }]
}

¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?