Direkt zum Inhalt

Wie behebe ich IAM-Autorisierungsfehler, wenn ich Abonnenten zu einem Amazon-SNS-Thema hinzufüge?

Lesedauer: 2 Minute
0

Ich habe versucht, Abonnenten zu einem Amazon Simple Notification Service (Amazon SNS)-Thema hinzuzufügen, habe aber einen Identity and Access Management (IAM)-Autorisierungsfehler erhalten.

Kurzbeschreibung

Wenn eine IAM-Entität versucht, einem Amazon SNS-Thema ein Abonnement ohne Berechtigungen für die API-Aktion Subscribe (Abonnieren) 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: Prüfe die spezifische Fehlermeldung, um festzustellen, ob der Fehler von einer identitätsbasierten Richtlinie oder einer ressourcenbasierten Richtlinie herrührt.

Um diesen Fehler zu beheben, gewähre der IAM-Entität die Berechtigung, die API-Aktion Subscribe (Abonnieren) für das Amazon-SNS-Thema auszuführen.

Lösung

Gehe wie folgt vor, um der IAM-Entität die Berechtigung zu erteilen, die API-Aktion Subscribe (Abonnieren) für das Amazon-SNS-Thema auszuführen:

Kontoübergreifender Zugriff

Wenn sich die IAM-Entität in einem übergreifenden AWS-Konto für das SNS-Thema befindet, gehe wie folgt vor:

  1. Füge die folgende identitätsbasierte Richtlinie an die IAM-Entität an, die es der Entität ermöglicht, die API-Aktion sns:Subscribe auszuführen:

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

    Hinweis: Ersetze YOUR_SNS_TOPIC_ARN durch den Amazon-Ressourcennamen (ARN) deines Amazon-SNS-Themas.

  2. Füge die folgende ressourcenbasierte Richtlinie an die Zugriffsrichtlinie des Themas an, die es der IAM-Entität ermöglicht, die API-Aktion sns:Subscribe auszuführen:

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

    Hinweis: Ersetze YOUR_IAM_ENTITY_ARN durch den ARN deiner IAM-Entität. Ersetze YOUR_SNS_TOPIC_ARN durch den ARN deines Amazon-SNS-Themas.

Derselbe Kontozugriff

Wenn sich die IAM-Entität im selben AWS-Konto wie das SNS-Thema befindet, füge eine Richtlinie an, um die Berechtigung für die Aktion sns:Subscribe zu erteilen. Füge entweder eine identitätsbasierte Richtlinie oder eine ressourcenbasierte Richtlinie aus den vorherigen Schritten an.

Ähnliche Informationen

Verwendung identitätsbasierter Richtlinien mit Amazon SNS

AWS OFFICIALAktualisiert vor 8 Monaten