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:
-
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.
-
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