Desidero accedere a un servizio di coda semplice Amazon (Amazon SQS). Quali policy di accesso SQS e autorizzazioni per le policy di AWS Identity and Access Management (IAM) sono necessarie per accedere alla coda?
Risoluzione
Per accedere a una coda Amazon SQS, è necessario aggiungere autorizzazioni alla policy di accesso SQS, alla policy IAM o a entrambe. I requisiti di autorizzazione specifici variano a seconda che la coda SQS e il ruolo IAM siano o meno dello stesso account.
Stesso account
È richiesta un'istruzione per consentire l'accesso nella policy di accesso SQS o nella policy IAM.
Nota: se la policy di accesso SQS o la policy IAM consentono esplicitamente l'accesso, ma l'altra policy lo nega esplicitamente, l'accesso alla coda viene negato.
| | |
---|
Policy dell'utente IAM | Policy di accesso SQS | Risultato |
Permetti | Permetti | Permetti |
Permetti | Non permettere né negare | Permetti |
Permetti | Nega | Nega |
Non permettere né negare | Permetti | Permetti |
Non permettere né negare | Non permettere né negare | Nega implicitamente |
Non permettere né negare | Nega | Nega |
Nega | Permetti | Nega |
Nega | Non permettere né negare | Nega |
Nega | Nega | Nega |
Account diverso
È richiesta una dichiarazione per consentire l'accesso sia nella policy di accesso SQS che nella policy IAM.
| | |
---|
Policy dell'utente IAM | Policy di accesso SQS | Risultato |
Permetti | Permetti | Permetti |
Permetti | Non permettere né negare | Nega implicitamente |
Permetti | Nega | Nega |
Non permettere né negare | Permetti | Nega implicitamente |
Non permettere né negare | Non permettere né negare | Nega implicitamente |
Non permettere né negare | Nega | Nega |
Nega | Permetti | Nega |
Nega | Non permettere né negare | Nega |
Nega | Nega | Nega |
Dichiarazioni di policy di esempio
Le seguenti policy di esempio mostrano le autorizzazioni che è necessario impostare sulla policy IAM e sulla policy di accesso alle code SQS per consentire l'accesso tra account per una coda SQS.
La prima policy concede le autorizzazioni a username1 per inviare messaggi alla risorsa arn:aws:sqs:us-east-1:123456789012:queue_1.
La seconda policy consente a username1 di inviare messaggi alla coda.
Per ulteriori informazioni su queste politiche, consulta Tipi di policy IAM: Come e quando utilizzarli.
Esempio di dichiarazione di policy IAM per username1
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "sqs:SendMessage",
"Resource": "arn:aws:sqs:us-east-1:123456789012:queue_1"
}]
}
Esempio di dichiarazione di policy delle risorse SQS per 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"
}]
}