Salta al contenuto

Come posso risolvere gli errori di autorizzazione IAM quando aggiungo sottoscrittori a un topic Amazon SNS?

2 minuti di lettura
0

Ho provato ad aggiungere sottoscrittori a un topic Amazon Simple Notification Service (Amazon SNS) ma ho ricevuto un errore di autorizzazione IAM (Identity and Access Management).

Breve descrizione

Quando un'entità IAM prova ad aggiungere una sottoscrizione a un topic Amazon SNS senza le autorizzazioni per l'azione 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: controlla il messaggio di errore specifico per determinare se l'errore è dovuto a una policy basata sull'identità o a una policy basata sulle risorse.

Per risolvere l'errore, concedi all'entità IAM l'autorizzazione a eseguire l'azione API Subscribe sul topic Amazon SNS.

Risoluzione

Per concedere all'entità IAM l'autorizzazione a eseguire l'azione API **Subscribe ** sul topic Amazon SNS, completa i seguenti passaggi:

Accesso multi-account

Se l'entità IAM si trova in un account AWS diverso rispetto al topic SNS, completa i seguenti passaggi:

  1. Collega la seguente policy basata sull'identità all'entità IAM per consentirle di eseguire l'API azione sns:Subscribe:

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

    Nota: sostituisci YOUR_SNS_TOPIC_ARN con il nome della risorsa Amazon (ARN) del tuo topic Amazon SNS.

  2. Collega la seguente policy basata sulle risorse alla policy di accesso del topic per consentire all'entità IAM di eseguire l'azione API sns:Subscribe:

    {
        "Sid": "AllowIAMEntity",
        "Effect": "Allow",
        "Principal": {
            "AWS": "YOUR_IAM_ENTITY_ARN "
        },
        "Action": "sns:Subscribe",
        "Resource": "YOUR_SNS_TOPIC_ARN"
    }

    Nota: sostituisci YOUR_IAM_ENTITY_ARN con l'ARN della tua entità IAM. Sostituisci YOUR_SNS_TOPIC_ARN con l'ARN del tuo topic Amazon SNS.

Accesso allo stesso account

Se l'entità IAM si trova nello stesso account AWS del topic SNS, collega una policy per consentirle l'autorizzazione a eseguire l'azione sns:Subscribe. Collega una policy basata sull'identità o una policy basata sulle risorse utilizzando quelle riportate nei passaggi precedenti.

Informazioni correlate

Utilizzo di policy basate su identità con Amazon SNS