Quero acessar uma fila do Amazon Simple Queue Service (Amazon SQS). Quais permissões de política de acesso do SQS e da política do AWS Identity and Access Management (IAM) são necessárias para acessar a fila?
Resolução
Para acessar uma fila do Amazon SQS, você deve adicionar permissões à política de acesso do SQS, à política do IAM ou a ambas. Os requisitos de permissões específicos diferem dependendo se a fila SQS e a função do IAM são da mesma conta.
Mesma conta
Uma instrução para permitir o acesso é necessária na política de acesso do SQS ou na política do IAM.
Observação: se a política de acesso do SQS ou a política do IAM permitir explicitamente o acesso, mas a outra política negar explicitamente o acesso, o acesso à fila será negado.
| | |
---|
Política de usuário do IAM | Política de acesso do SQS | Resultado |
Permitir | Permitir | Permitir |
Permitir | Nem permitir nem negar | Permitir |
Permitir | Negar | Negar |
Nem permitir nem negar | Permitir | Permitir |
Nem permitir nem negar | Nem permitir nem negar | Negação implícita |
Nem permitir nem negar | Negar | Negar |
Negar | Permitir | Negar |
Negar | Nem permitir nem negar | Negar |
Negar | Negar | Negar |
Conta diferente
Uma instrução para permitir o acesso é necessária tanto na política de acesso do SQS quanto na política do IAM.
| | |
---|
Política de usuário do IAM | Política de acesso do SQS | Resultado |
Permitir | Permitir | Permitir |
Permitir | Nem permitir nem negar | Negação implícita |
Permitir | Negar | Negar |
Nem permitir nem negar | Permitir | Negação implícita |
Nem permitir nem negar | Nem permitir nem negar | Negação implícita |
Nem permitir nem negar | Negar | Negar |
Negar | Permitir | Negar |
Negar | Nem permitir nem negar | Negar |
Negar | Negar | Negar |
Exemplos de declarações de política
As políticas de exemplo a seguir mostram as permissões que você deve definir na política do IAM e na política de acesso à fila do SQS para permitir o acesso entre contas para uma fila SQS.
A primeira política concede permissões para username1 para enviar mensagens para o recurso arn:aws:sqs:us-east-1:123456789012:queue_1.
A segunda política permite que nomeusuário1 envie mensagens para a fila.
Para obter mais informações sobre essas políticas, consulte Tipos de política do IAM: como e quando usá-las.
Exemplo de instrução de política do IAM para nomeusuário1
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "sqs:SendMessage",
"Resource": "arn:aws:sqs:us-east-1:123456789012:queue_1"
}]
}
Exemplo de declaração de política de recursos 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"
}]
}