Ich möchte Autorisierungsfehler von AWS Identity and Access Management (IAM) beheben, die ich erhalte, wenn ich Subscriber zu meinem Amazon Simple Notification Service (Amazon SNS)-Thema hinzufüge.
Kurzbeschreibung
Wenn eine IAM-Entität versucht, einem Amazon SNS-Thema ein Abonnement ohne Abonnement-API-Aktionsberechtigungen hinzuzufügen, gibt SNS den folgenden Fehler zurück:
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
Hinweis: Die IAM-Entität kann ein IAM-Benutzer oder eine IAM-Rolle sein.
Um den Fehler zu beheben, gewähren Sie der IAM-Entität die Berechtigung, die Abonnement-API-Aktion für das Amazon-SNS-Thema auszuführen.
Wenn Sie einen ähnlichen Fehler erhalten, der mit einer „expliziten Ablehnung“ endet
Entfernen Sie alle Richtlinienanweisungen, die der IAM-Entität ausdrücklich den Zugriff auf die SNS-Ressource verweigern.
Behebung
Wenn sich die IAM-Entität und das SNS-Thema in verschiedenen AWS-Konten befinden
Gehen Sie wie folgt vor:
Hängen Sie der IAM-Entität eine IAM-Richtlinienanweisung an, die es der Entität ermöglicht, die Aktion „sns:Subscribe“ auszuführen
Anweisungen finden Sie unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen. Fügen Sie das folgende Beispiel einer IAM-Richtlinienerklärung bei:
**Wichtig:**Ersetzen Sie YOUR\ _SNS\ _TOPIC\ _ARN durch den Amazon-Ressourcennamen (ARN) Ihres Amazon SNS-Themas.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SNSSubscribePermission",
"Effect": "Allow",
"Action": "sns:Subscribe",
"Resource": "YOUR_SNS_TOPIC_ARN"
}
]
}
Fügen Sie der Zugriffsrichtlinie Ihres Themas eine Amazon SNS-Richtlinie hinzu, die es der IAM-Entität ermöglicht, die Aktion „sns: Subscribe“ auszuführen
Anweisungen finden Sie unter Wie bearbeite ich die Zugriffsrichtlinie meines Amazon-SNS-Themas? Fügen Sie das folgende Beispiel einer Amazon SNS-Richtlinienerklärung bei:
Wichtig: Ersetzen Sie YOUR\ _IAM USER/ROLE\ _ARN durch den ARN Ihrer IAM-Entität. Ersetzen Sie YOUR\ _SNS\ _TOPIC\ _ARN durch den ARN Ihres Amazon SNS-Themas.
{
"Sid": "AllowIAMEntity",
"Effect": "Allow",
"Principal": {
"AWS": "YOUR_IAM USER/ROLE_ARN "
},
"Action": "sns:Subscribe",
"Resource": "YOUR_SNS_TOPIC_ARN"
}
Wenn sich die IAM-Entität und das SNS-Thema im selben Konto befinden
Führen Sie einen der folgenden Schritte aus:
Hängen Sie der IAM-Entität eine IAM-Richtlinienanweisung an, die es der Entität ermöglicht, die Aktion „sns:Subscribe“ auszuführen.
-oder-
Fügen Sie der Zugriffsrichtlinie Ihres Themas eine Amazon-SNS-Richtlinie hinzu, die es der IAM-Entität ermöglicht, die Aktion „sns:Subscribe“ auszuführen.
Richtlinienerklärungen finden Sie in diesem Artikel im Abschnitt Wenn die IAM-Entität und das SNS in verschiedenen AWS-Konten vorkommen.
Stellen Sie sicher, dass weder die Richtlinie der IAM-Entität noch die Zugriffsrichtlinie des SNS-Themas den Zugriff auf die SNS-Ressource ausdrücklich verweigern
Lesen Sie die Richtlinie der IAM-Entität und die Zugriffsrichtlinie des SNS-Themas. Entfernen Sie dann alle Richtlinienanweisungen, die der IAM-Entität den Zugriff auf die SNS-Ressource ausdrücklich verweigern.
Weitere Informationen finden Sie unter Der Unterschied zwischen expliziter und impliziter Ablehnung.
Ähnliche Informationen
Verwendung identitätsbasierter Richtlinien mit Amazon SNS