Wie behebe ich einen „Autorisierungsfehler“, wenn ich versuche, die Attribute eines kontoübergreifenden SQS-Abonnements in der Amazon SNS-Konsole einzusehen oder zu ändern?

Lesedauer: 3 Minute
0

Ich habe meine Amazon Simple Queue Service (Amazon SQS)-Warteschlange für ein Amazon Simple Notification Service (Amazon SNS)-Thema in einem anderen AWS-Konto abonniert. Wenn ich die Attribute meines kontoübergreifenden Abonnements in der Amazon SNS-Konsole einsehe oder bearbeite, erhalte ich einen „Autorisierungsfehler“, den ich beheben muss.

Kurzbeschreibung

Wenn Sie ein SNS-Themenabonnement für eine SQS-Warteschlange von einem Konto aus erstellen, das das Thema nicht besitzt, besitzt das Konto, das die SQS-Warteschlange besitzt, das Abonnement. Wenn Sie dann die SNS-Abonnementattribute in dem Konto, das das SNS-Thema erstellt hat, anzeigen oder bearbeiten, wird ein Autorisierungsfehler angezeigt.

**Hinweis:**Abonnementbezogene Berechtigungen zum Anzeigen und Bearbeiten können nicht in den Aktionen der SNS-Themenrichtlinie enthalten sein. Verwenden Sie stattdessen die folgenden Lösungen.

Behebung

Verwenden der AWS-Konsole

  1. Öffnen Sie die Amazon SNS-Konsole in dem Konto, das das SNS-Thema besitzt.
  2. Wählen Sie im Navigationsbereich Themen aus.
  3. Wählen Sie den Namen des Themas. Kopieren Sie dann auf der Registerkarte Abonnements die Abonnement-ID des SQS-Warteschlangenabonnements.
  4. Öffnen Sie die Amazon SNS-Konsole in dem Konto, das die SQS-Warteschlange besitzt.
  5. Wählen Sie in der Menüoption Abonnements die Abonnement-ID aus, die Sie in Schritt 3 kopiert haben.
  6. Sehen Sie sich die Abonnementattribute an und bearbeiten Sie sie nach Bedarf.

GetSubscriptionAttributes verwenden

Hinweis: Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

Zeigen Sie Abonnementattribute an, indem Sie GetSubscriptionAttributes in dem Konto verwenden, das verwendet wurde, um das Abonnement mithilfe der AWS Command Line Interface (AWS CLI) oder des SDK zu erstellen. Um diesen Befehl auszuführen, muss der IAM-Benutzer oder die IAM-Rolle über Berechtigungen für die SNS-Aktionen SetSubscriptionAttributes und GetSubscriptionAttributes verfügen.

Das folgende Beispiel verwendet die GetSubscriptionAttributes aus der AWS-CLI und verwendet SubscriptionArn als Anforderungsparameter. Um SubscriptionArn abzurufen, verwenden Sie ListSubscriptionsByTopic.

aws sns get-subscription-attributes --subscription-arn arn:aws:sns:eu-central-1:1234567890:TestTopicSubOwnerSQS:53XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
{
  "Attributes": {
    "Owner": "9876543210",
    "RawMessageDelivery": "false",
    "TopicArn": "arn:aws:sns:eu-central-1:1234567890:TestTopicSubOwnerSQS",
    "Endpoint": "example@amazon.com",
    "Protocol": "email",
    "PendingConfirmation": "false",
    "ConfirmationWasAuthenticated": "false",
    "SubscriptionArn": "arn:aws:sns:eu-central-1:1234567890:TestTopicSubOwnerSQS:53XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
   }
}

Löschen Sie das Abonnement und erstellen Sie es erneut

Wenn Sie möchten, dass das AWS-Konto, dem das SNS-Thema gehört, die Attribute des SNS-Themenabonnements steuert:

  1. Löschen Sie das bestehende Abonnement.
  2. Erstellen Sie dasselbe Abonnement von dem Konto aus, das das SNS-Thema besitzt.

Das AWS-Konto, dem das SNS-Thema gehört, ist jetzt der Besitzer der erstellten Abonnementressource.

Verwandte Informationen

Wie erstelle ich ein „gelöschtes“ Amazon SNS-Themenabonnement für eine Amazon SQS-Warteschlange in einem anderen AWS-Konto erneut?

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

Wie behebe ich die HTTP 400-Fehler „AccessDeniedException“ von Amazon SNS?

Wie kann ich mein Amazon SQS-Abonnement erhalten, um erfolgreich eine Benachrichtigung von meinem Amazon SNS-Thema zu erhalten?

Warum erhalte ich einen Autorisierungsfehler, wenn ich versuche, meine Lambda-Funktion für mein Amazon SNS-Thema zu abonnieren?