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.
Para obtener más información sobre estas políticas, consulte IAM policy types: How and when to use them (Tipos de políticas de IAM: cómo y cuándo utilizarlas).
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"
}]
}