Come posso risolvere gli errori di autorizzazione quando tento di aggiungere abbonati a un argomento Amazon SNS?

3 minuti di lettura
0

Ricevo errori di autorizzazione di AWS Identity and Access Management (IAM) quando aggiungo abbonati al mio argomento Amazon Simple Notification Service (Amazon SNS). Come posso risolvere gli errori?

Breve descrizione

Quando un'entità IAM prova ad aggiungere un abbonamento a un argomento Amazon SNS senza le autorizzazioni di azione dell'API Subscribe, SNS restituisce il seguente errore:

An error occurred (AuthorizationError) when calling the Subscribe operation: User: your_IAM_user_or_role is not authorized to perform: sns:Subscribe on resource: YOUR_SNS_TOPIC_ARN

Nota: L'entità IAM potrebbe essere un utente o un ruolo IAM.

Per risolvere l'errore, concedi all'entità IAM l'autorizzazione a eseguire l'azione API Subscribesull'argomento Amazon SNS.

Se ricevi un errore simile che termina con un “explicit deny”

Rimuovi tutte le dichiarazioni di policy che negano esplicitamente all'ente IAM l'accesso alla risorsa SNS.

Soluzione

Se l'entità IAM e l'argomento SNS si trovano in account AWS diversi

Effettua entrambe le seguenti operazioni:

Allega una dichiarazione di policy IAM all'entità IAM che consente all'entità di eseguire l'azione "SNS:subscribe"

Per istruzioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM. Allega il seguente esempio di dichiarazione sulla politica IAM:

**Importante:**Sostituisci "YOUR_SNS_TOPIC_ARN" con il nome della risorsa Amazon (ARN) del tuo argomento Amazon SNS.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "SNSSubscribePermission",
            "Effect": "Allow",
            "Action": "sns:Subscribe",
            "Resource": "YOUR_SNS_TOPIC_ARN"
        }
    ]
}

Allega una dichiarazione sulla policy di accesso di Amazon SNS alla policy di accesso del tuo argomento che consenta all'entità IAM di eseguire l'azione "sns:Subscribe"

Per istruzioni, consulta Come modifico la policy di accesso dell'argomento di Amazon SNS? Allega il seguente esempio di dichiarazione di policy di Amazon SNS:

Importante: Sostituisci "YOUR_IAM USER/ROLE_ARN" con l'ARN della tua entità IAM. Sostituisci "YOUR_SNS_TOPIC_ARN" con l'ARN del tuo argomento Amazon SNS.

{
  "Sid": "AllowIAMEntity",
  "Effect": "Allow",
  "Principal": {
    "AWS": "YOUR_IAM USER/ROLE_ARN "
  },
  "Action": "sns:Subscribe",
  "Resource": "YOUR_SNS_TOPIC_ARN"
}

Se l'entità IAM e l'argomento SNS si trovano nello stesso account

Effettua una delle seguenti operazioni, ma non entrambe:

Allega una dichiarazione di policy IAM all'entità IAM che consente all'entità di eseguire l'azione "sns:Subscribe".

-oppure-

Allega una dichiarazione sulla policy di accesso di Amazon SNS alla policy di accesso del tuo argomento che consenta all'entità IAM di eseguire l'azione "sns:Subscribe".

Per vedere delle dichiarazioni di policy di esempio, consulta la sezione Se l'entità IAM e l'argomento SNS si trovano in account AWS diversi di questo articolo.

Verifica che né la policy dell'entità IAM né la policy di accesso dell'argomento SNS neghino esplicitamente l'accesso alla risorsa SNS

Rivedi la policy dell'entità IAM e la policy di accesso dell'argomento SNS. Quindi, rimuovi tutte le dichiarazioni di policy che negano esplicitamente all'entità IAM l'accesso alla risorsa SNS.

Per ulteriori informazioni, vedi Differenza tra rifiuto esplicito e implicito.


Informazioni correlate

Utilizzo di policy basate su identità con Amazon SNS

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa