Beispielablauf für interne Benutzer
Das folgende Diagramm veranschaulicht den Austausch von Authentifizierungs- und Autorisierungsinformationen für interne Benutzer. Die Farben stehen für Folgendes:
- Orange: Anmeldeinformationen
- Blau: Endpunktzugriffsinformationen
- Grün: Ressourcenzugriffsinformationen
- Rot: Proxy-Benutzer- und Sitzungsinformationen
Einige Werte werden verwendet, um mehrere Zugriffsarten zu bestimmen. Diese Werte erscheinen zunächst in schwarz (wenn sie nicht für einen speziellen Zugriffstyp gelten) und dann später in einer oder mehreren bestimmten Farben (als Identifizierung des Werts, der zu diesem Zeitpunkt im Prozess für eine bestimmte Zugriffsart verwendet wird).
Im folgenden Beispiel wird ein API-Aufruf von Andy Applegate ausgelöst, einem internen Benutzer, der eine browserbasierte Anwendung verwendet.

- Wenn Andy einen API-Aufruf auslöst, muss die aufrufende Anwendung zuerst einen JWT vom Guidewire Hub anfordern. Um den Prozess zum Abrufen des JWT einzuleiten, sendet die aufrufende Anwendung ihre Client-ID (
00ubx7m33sHP1tsew7b4), die ID des IdP (acmeIdP_ID), die Ressourcenzugriffsstrategie der Anwendung (cc.username) und zusätzliche Bereitstellungsinformationen (tenant.acme,project.default,planet_class.prod). - Um den Benutzer zu authentifizieren, erfasst Guidewire Hub den Benutzernamen (
aapplegate@acme.com) und das Kennwort (aPassword) des Benutzers über ein Anmeldefenster. Diese Informationen werden an den zuständigen IdP übermittelt. Der IdP authentifiziert den Benutzer und stellt eine SAML-Antwort mit dem Namen des Benutzers bereit (aapplegate@acme.com). - Guidewire Hub sendet einen Code an die aufrufende Anwendung. Die aufrufende Anwendung verwendet diesen Code, um einen JWT anzufordern.
- Guidewire Hub generiert einen JWT und sendet ihn an die aufrufende Anwendung. Dieses JWT enthält die Client-ID (
cid), einenscp-Token-Claim, der die Ressourcenzugriffsstrategie (cc_username) und zusätzliche Bereitstellungsinformationen festlegt, und eincc_username-Token, das die Ressourcenzugriffs-IDs des Benutzers enthält (aapplegate@acme.com). - Die aufrufende Anwendung sendet die API-Anforderung zusammen mit dem JWT an ClaimCenter.
- ClaimCenter bestimmt den Endpunktzugriff.
- Mit dem Benutzernamen im JWT (
aapplegate@acme.com) fragt ClaimCenter die Benutzerrollen ab, die dieser Benutzer hat. Eine Rolle wird zurückgegeben:Adjuster. - Basierend auf der zurückgegebenen Rolle wird die
Adjuster.role.yaml-API-Rollendatei verwendet, um den Endpunktzugriff zu definieren.
- Mit dem Benutzernamen im JWT (
- Als Nächstes bestimmt ClaimCenter die Ressourcenzugriffsstrategie. Ausgehend von dem im JWT enthaltenen Wert der Ressourcenzugriffsstrategie (
cc_username) wird der Ressourcenzugriff laut Definition in deninternalaccess.yaml-Dateien gestattet. (* ClaimCenter beginnt mitinternal_ext-1.0.access.yaml, aber diese Datei verweist auf zusätzlicheaccess.yaml-Dateien, deren Namen mit „internal“ beginnen.) - Der Proxy-Benutzerzugriff ist für interne Benutzer nicht relevant.
- ClaimCenter verarbeitet die Anforderung.
- Der Sitzungsbenutzer ist der interne Benutzer:
aapplegate@acme.com. - Der Endpunktzugriff wird durch die Datei
Adjuster.role.yamldefiniert. - Der Ressourcenzugriff wird durch die
internalaccess.yaml-Datei mit der Ressourcenzugriffs-IDaapplegate@acme.comdefiniert.
- Der Sitzungsbenutzer ist der interne Benutzer:
- ClaimCenter stellt die Antwort auf den ersten Aufruf bereit.