Wie behebe ich Autorisierungsfehler, wenn ich versuche, Abonnenten zu einem Amazon SNS-Thema hinzuzufügen?

Lesedauer: 3 Minute
0

Ich erhalte Autorisierungsfehler von AWS Identity and Access Management (IAM), wenn ich Subscriber zu meinem Amazon Simple Notification Service (Amazon SNS)-Thema hinzufüge. Wie behebe ich die Fehler?

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, aber nicht beide:

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 ausdrücklich den Zugriff auf die SNS-Ressource verweigern.

Weitere Informationen finden Sie unter Der Unterschied zwischen expliziter und impliziter Ablehnung.


Weitere Informationen

Verwendung identitätsbasierter Richtlinien mit Amazon SNS

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren