Quali autorizzazioni occorrono per accedere alla coda Amazon SQS?

Ultimo aggiornamento: 24/08/2021

Desidero accedere a una coda Amazon Simple Queue Service (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.

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"
   }]
}

Questo articolo ti è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?