Aufbau Ihrer Integration - AWS Identitäts- und Zugriffsverwaltung

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Aufbau Ihrer Integration

Den Anforderungslebenszyklus verstehen

Bevor Sie Ihre Integration erstellen, ist es wichtig zu verstehen, wie Delegierungsanfragen von der Erstellung bis zum Abschluss voranschreiten.

Staaten der Anfrage

Ein Delegierungsantrag wird in den folgenden Staaten bearbeitet:

Status Description
Nicht zugewiesen Die Anfrage wurde erstellt, aber noch nicht mit einem Kundenkonto und einem IAM-Principal verknüpft. Die Anfrage wurde möglicherweise ohne Angabe eines Zielkontos oder mit einer Zielkonto-ID erstellt, aber noch nicht vom Kontoinhaber beansprucht.
Zugewiesen Anfrage, die mit einem Kundenkonto verknüpft ist und noch geprüft werden muss
Genehmigung steht noch aus Der Kunde hat die Anfrage zur Genehmigung an einen Administrator weitergeleitet
Accepted (Akzeptiert) Die Anfrage wurde vom Kunden genehmigt, das Exchange-Token wurde jedoch noch nicht veröffentlicht
Finalisiert Exchange-Token für den Produktanbieter freigegeben. Der Delegierungszeitraum (Gültigkeit des Exchange-Tokens) beginnt, wenn die Anfrage den Status Finalized erreicht
Rejected (Abgelehnt) Die Anfrage wurde vom Kunden abgelehnt
Expired Die Anfrage ist aufgrund von Inaktivität oder Timeout abgelaufen

Zustandsübergänge

Normaler Ablauf (Genehmigungspfad)

  • Nicht zugewiesen → Zugewiesen: Der Kunde ordnet die Anfrage seinem Konto zu

  • Zugewiesen → Akzeptiert ODER Zugewiesen → Genehmigung steht noch aus: Der Kunde genehmigt die Anfrage direkt ODER leitet sie zur Prüfung an den Administrator weiter

  • Genehmigung ausstehend → Akzeptiert: Der Administrator genehmigt die Anfrage

  • Akzeptiert → Abgeschlossen: Der Kunde gibt das Exchange-Token frei

Pfad der Ablehnung

  • Zugewiesen → Abgelehnt: Der Kunde lehnt die Anfrage ab

  • Genehmigung steht aus → Abgelehnt: Der Administrator lehnt die Anfrage ab

  • Akzeptiert → Abgelehnt: Der Kunde widerruft die Genehmigung, bevor er das Token freigibt

Ablaufpfad

Anfragen laufen automatisch ab, wenn innerhalb des angegebenen Zeitraums keine Maßnahmen ergriffen werden:

  • Nicht zugewiesen → Abgelaufen (1 Tag)

  • Zugewiesen → Abgelaufen (7 Tage)

  • Genehmigung steht noch aus → Abgelaufen (7 Tage)

  • Akzeptiert → Abgelaufen (7 Tage)

  • Abgelehnt → Abgelaufen (7 Tage)

  • Abgeschlossen → Abgelaufen (7 Tage)

Endstaaten

Die folgenden Zustände sind endständig (keine weiteren Übergänge):

  • Finalisiert: Exchange-Token gesendet

  • Abgelehnt: Anfrage wurde abgelehnt

  • Abgelaufen: Das Zeitlimit für die Anfrage wurde überschritten oder der Delegierungszeitraum wurde beendet

Abgelaufene Anfragen werden schließlich nach Ablauf der Aufbewahrungsfrist aus dem System gelöscht.

Status von Delegierungsanfragen in Ihrer Anwendung verwalten

Als Partner müssen Sie den Status der Delegierungsanfragen in Ihrem System nachverfolgen und Ihren Kunden mitteilen. Wenn Sie SNS-Benachrichtigungen über Statusänderungen erhalten, speichern Sie diese Aktualisierungen in Ihrem Backend und geben sie in Ihrer kundenorientierten Benutzeroberfläche wieder. Achten Sie besonders auf den Status „Ausstehende Genehmigung“. Wenn ein Kunde eine Anfrage zur Überprüfung an einen Administrator weiterleitet, AWS sendet er Ihnen eine Benachrichtigung über ausstehende Genehmigung. Anfragen können bis zu 7 Tage in diesem Status verbleiben, bis der Administrator aktiv wird. Zeigen Sie den Kunden während dieser Zeit in Ihrer Anwendung, dass ihre Anfrage noch vom Administrator genehmigt werden muss. Erwägen Sie die Bereitstellung eines Deep-Links zur AWS Konsole, über den Kunden den Status der Anfrage überprüfen oder sich mit ihrem Administrator in Verbindung setzen können. Für ein gutes Integrationserlebnis ist es wichtig, mit der Zustandsmaschine in Ihrem Backend richtig umzugehen und den Kunden in jeder Phase die richtigen Statusinformationen zur Verfügung zu stellen.

Konfigurieren von -Benachrichtigungen

IAM verwendet Amazon Simple Notification Service (SNS), um Ihnen Statusänderungen der Delegierungsanfrage mitzuteilen. Wenn Sie eine Delegierungsanfrage erstellen, müssen Sie einen SNS-Themen-ARN von Ihrem registrierten AWS Konto aus angeben. IAM veröffentlicht Nachrichten zu diesem Thema bei wichtigen Ereignissen, z. B. wenn Kunden Anfragen genehmigen oder ablehnen und wenn das Exchange-Token bereit ist.

Anmerkung

SNS-Themen können nicht in AWS Opt-in-Regionen enthalten sein. Ihr SNS-Thema muss sich in einer AWS Region befinden, die standardmäßig aktiviert ist. Eine Liste der Regionen, für die Sie sich anmelden können, finden Sie im Leitfaden zur AWS Kontoverwaltung unter AWS Regionen verwalten.

Konfiguration des SNS-Themas

Um Benachrichtigungen über Delegierungsanfragen zu erhalten, müssen Sie Ihr SNS-Thema so konfigurieren, dass IAM-Berechtigungen zum Veröffentlichen von Nachrichten an dieses Thema erteilt werden. Fügen Sie Ihrer SNS-Themenrichtlinie die folgende Richtlinienerklärung hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMServiceToPublish", "Effect": "Allow", "Principal": { "Service": "iam.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:REGION:ACCOUNT-ID:TOPIC-NAME" } ] }
Wichtig

Das SNS-Thema muss sich in einem Ihrer registrierten AWS Konten befinden. IAM akzeptiert keine SNS-Themen von anderen Konten. Wenn die Themenrichtlinie nicht korrekt konfiguriert ist, erhalten Sie weder Benachrichtigungen über Statusänderungen noch das Exchange-Token.

Arten von Benachrichtigungen

IAM sendet zwei Arten von Benachrichtigungen:

StateChange Benachrichtigungen

Wird gesendet, wenn eine Delegierungsanfrage in einen neuen Status übergeht („Zugewiesen“, „Genehmigung ausstehend“, „Akzeptiert“, „Abgeschlossen“, „Abgelehnt“, „Abgelaufen“).

ExchangeToken Benachrichtigungen

Wird gesendet, wenn ein Kunde das Delegierungstoken freigibt (Status Finalisiert). Diese Benachrichtigung enthält das Exchange-Token, das Sie zum Abrufen von Anmeldeinformationen benötigen.

In der Benachrichtigung heißt es

Sie erhalten Benachrichtigungen für die folgenden Staaten mit Delegierungsanfragen:

Status Art der Benachrichtigung Description
ZUGEWIESEN StateChange Die Anfrage wurde mit einem Kundenkonto verknüpft
NOCH AUSSTEHENDE GENEHMIGUNG StateChange Der Kunde hat die Anfrage zur Genehmigung an einen Administrator weitergeleitet
AKZEPTIERT StateChange Der Kunde hat die Anfrage genehmigt, das Token aber noch nicht freigegeben
ABGESCHLOSSEN StateChange Der Kunde hat das Exchange-Token veröffentlicht
ABGESCHLOSSEN ExchangeToken Diese Benachrichtigung enthält das Exchange-Token
ABGELEHNT StateChange Der Kunde hat die Anfrage abgelehnt
ABGELAUFEN StateChange Die Anfrage ist vor Abschluss abgelaufen

Format der Benachrichtigungsnachricht

IAM veröffentlicht standardmäßige SNS-Benachrichtigungen. Die Informationen zur Delegierungsanfrage sind im Nachrichtenfeld als JSON-Zeichenfolge enthalten.

Allgemeine Felder (Alle Benachrichtigungen)

Feld Typ Description
Typ Zeichenfolge Entweder "StateChange" oder "ExchangeToken“
RequestId Zeichenfolge Die ID der IAM-Delegierungsanfrage
RequestorWorkflowId Zeichenfolge Die Workflow-ID, die Sie bei der Erstellung der Anfrage angegeben haben
Status Zeichenfolge Aktueller Status der Anfrage
OwnerAccountId Zeichenfolge AWS Konto-ID des Kunden
UpdatedAt Zeichenfolge Zeitstempel der Statusänderung (ISO 8601-Format)

Zusätzliche Felder (nur ExchangeToken Benachrichtigungen)

Feld Typ Description
ExchangeToken Zeichenfolge Das Token, das über die AWS STS GetDelegatedAccessToken API gegen Anmeldeinformationen ausgetauscht werden soll
ExpiresAt Zeichenfolge Wenn der delegierte Zugriff abläuft (ISO 8601-Format)

Beispielbenachrichtigungen

StateChange Benachrichtigung

{ "Type": "Notification", "MessageId": "61ee8ad4-6eec-56b5-8f3d-eba57556aa13", "TopicArn": "arn:aws:sns:us-east-1:123456789012:partner-notifications", "Message": "{\"RequestorWorkflowId\":\"workflow-12345\",\"Type\":\"StateChange\",\"RequestId\":\"dr-abc123\",\"State\":\"ACCEPTED\",\"OwnerAccountId\":\"111122223333\",\"UpdatedAt\":\"2025-01-15T10:30:00.123Z\"}", "Timestamp": "2025-01-15T10:30:00.456Z", "SignatureVersion": "1", "Signature": "...", "SigningCertURL": "...", "UnsubscribeURL": "..." }

ExchangeToken Benachrichtigung

{ "Type": "Notification", "MessageId": "e44e5435-c72c-5333-aba3-354406782f5b", "TopicArn": "arn:aws:sns:us-east-1:123456789012:partner-notifications", "Message": "{\"RequestId\":\"dr-abc123\",\"RequestorWorkflowId\":\"workflow-12345\",\"State\":\"FINALIZED\",\"OwnerAccountId\":\"111122223333\",\"ExchangeToken\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\"ExpiresAt\":\"2025-01-15T18:30:00.123Z\",\"UpdatedAt\":\"2025-01-15T10:30:00.456Z\",\"Type\":\"ExchangeToken\"}", "Timestamp": "2025-01-15T10:30:00.789Z", "SignatureVersion": "1", "Signature": "...", "SigningCertURL": "...", "UnsubscribeURL": "..." }

Tokens austauschen

Ein Exchange-Token oder ein Trade-In-Token wird von IAM ausgestellt, wenn ein Kunde eine Delegierungsanfrage akzeptiert und abschließt. Der Produktanbieter verwendet dieses Tausch- oder Trade-In-Token, um die AWS AWS STS GetDelegatedAccessToken API aufzurufen, um temporäre AWS Anmeldeinformationen mit den vom Kunden genehmigten Berechtigungen abzurufen. Das Exchange-Token selbst gewährt keinen Zugriff auf Ihre AWS Ressourcen. Es muss über AWS STS gegen tatsächliche Anmeldeinformationen eingetauscht werden.

Das Exchange-Token kann nur von dem Konto des Produktanbieters eingelöst werden, das die Delegierungsanfrage erstellt hat. Das anfordernde Konto ist in das Token eingebettet, sodass nur der autorisierte Produktanbieter Anmeldeinformationen für den Zugriff auf das Kundenkonto erhalten kann.

Dauer des Zugriffs

Die Delegierungsfrist beginnt, wenn der Kunde das Exchange-Token freigibt, nicht wenn der Produktanbieter es einlöst. Sobald der Kunde das Token freigibt:

  • Der Produktanbieter erhält das Token per SNS-Benachrichtigung

  • Sie können es sofort gegen Anmeldeinformationen eintauschen

  • Anmeldeinformationen laufen ab am: Veröffentlichungszeit+Gültigkeitsdauer der Genehmigung

  • Der Produktanbieter kann das Token vor Ablauf mehrmals austauschen, um bei Bedarf neue Anmeldeinformationen zu erhalten

Mehrfache Einlösungen

Produktanbieter können den Token während des Gültigkeitszeitraums mehrmals eintauschen, um neue Anmeldeinformationen zu erhalten. Alle Anmeldeinformationen, die mit demselben Exchange-Token abgerufen wurden, laufen jedoch zur gleichen Zeit ab, je nachdem, wann Sie das Token veröffentlicht haben.

Beispiel: Wenn Sie eine zweistündige Delegierungsanfrage genehmigen und das Token um 10:00 Uhr freigeben:

Zeit der Token-Veröffentlichung Zeit für den Token-Austausch Ablauf der Anmeldedaten Nutzbare Zeit
10:00 Uhr 10:00 Uhr 12:00 pm 2 Stunden
10:00 Uhr 10:20 Uhr 12:00 pm 1 Stunde 40 Minuten
10:00 Uhr 11:40 Uhr 12:00 pm 20 Minuten
10:00 Uhr 12:10 Uhr Fehlgeschlagen (Token abgelaufen) 0 Minuten

Wie in der Tabelle dargestellt, führt der Austausch des Tokens zu einem späteren Zeitpunkt im Gültigkeitszeitraum zu einer kürzeren Nutzungszeit für den Produktanbieter.