Ressourcenzugriffsstrategien
Strategien und IDs
Eine Ressourcenzugriffsstrategie ist ein Logiksatz, der angibt, auf welche Ressourcen ein Aufrufer zugreifen kann.
Eine Ressourcenzugriffs-ID ist eine Zeichenfolge, die angibt, wer der Aufrufer ist oder was der Aufrufer besitzt.
Für jeden Aufruf wird der Ressourcenzugriff durch das Ausführen der Ressourcenzugriffsstrategie unter Verwendung der Ressourcenzugriffs-ID als Eingabe bestimmt. Nehmen wir beispielsweise an, dass eine bestimmte Ressourcenzugriffsstrategie angibt, dass „der Aufrufer auf Informationen auf Informationen zu Konten zugreifen kann, die er besitzt“. Und nehmen wir dazu an, dass bei einem bestimmten Aufruf die Ressourcenzugriffs-ID die Kontonummer 464778619 ist. Dies würde Folgendes bedeuten:
- Der Aufrufer kann auf Ressourcen zugreifen, die sich auf Schadenfälle im Zusammenhang mit dem Konto 464778619 beziehen.
- Der Aufrufer kann nicht auf Ressourcen zugreifen, die sich auf andere Konten als 464778619 beziehen.
Einige Ressourcenzugriffsstrategien erfordern eine einzelne Ressourcenzugriffs-ID. Andere Ressourcenzugriffsstrategien lassen ein Array von Ressourcenzugriffs-IDs zu.
Liste der Ressourcenzugriffsstrategien
Die Basiskonfiguration umfasst die folgenden Ressourcenzugriffsstrategien:
| Name der Strategie | Rolle, die diese Strategie verwendet | Die Ressourcenzugriffs-ID lautet... | Gewährt Zugriff auf... |
|---|---|---|---|
| pc_accountNumbers | Kontoinhaber (einschließlich anonymer Benutzer, die ein Konto erstellt haben) | Eine Kontonummer | Ressourcen, die mit dem Konto verknüpft sind, einschließlich der zugehörigen Jobs und Policen |
| pc_username | Interne Benutzer | Ein PolicyCenter-Benutzername | Ressourcen, die dieser interne Benutzer in PolicyCenter basierend auf den zugehörigen Zugriffssteuerungslisten (ACLs) sehen kann. |
| pc.service | Vertrauenswürdige Service-to-Service-Anwendung | Nicht zutreffend | Alle Ressourcen |
| Standard | Aufrufer, die authentifiziert wurden, aber mit dem Aufruf keine Ressourcenzugriffsstrategie angeben | Nicht zutreffend | Nur Metadatenressourcen (einschließlich API-Schemas und Typenlisten) |
| unauthenticated | Nicht authentifizierte Aufrufer | Nicht zutreffend | API-Schemas und die Endpunkte zum Erstellen von Konten. (Die Kontoendpunkte werden von anonymen Benutzern verwendet, die ein Angebot für eine Police erstellen und diese gegebenenfalls verbindlich machen möchten.) |
Der Strategiename wird im JWT verwendet. Im scp-Token-Claim wird angezeigt, welche Ressourcenzugriffsstrategie für den Aufruf verwendet werden soll. Außerdem wird er gegebenenfalls als eigener Token-Claim angezeigt, um die Ressourcenzugriffs-IDs anzugeben.
Nehmen wir beispielsweise an, dass ein bestimmter Aufruf die Ressourcenzugriffsstrategie pc_accountNumbers mit der Ressourcenzugriffs-ID 464778619 verwendet. Das JWT würde Folgendes beinhalten.
"scp": [
"pc_accountNumbers"
],
"pc_accountNumbers": [
"464778619"
]
Festlegen der Ressourcenzugriffsstrategie eines Aufrufs
Ressourcenzugriffsstrategien werden durch internen Code zugewiesen, wie in der folgenden Tabelle beschrieben. Für Aufrufe von Services mit Benutzerkontext werden zwei Ressourcenzugriffsstrategien zugewiesen, eine auf der Serviceebene und eine auf der Benutzerebene. Für alle anderen Aufruftypen wird nur eine Ressourcenstrategie zugewiesen.
| Name der Strategie | Dieser wird einem Aufruf zugewiesen, wenn... |
|---|---|
| pc_accountNumbers |
Eine der folgenden Bedingungen erfüllt ist:
|
| pc_username |
Eine der folgenden Bedingungen erfüllt ist:
|
| pc.service | Der scp-Token-Claim des JWT enthält pc.service. |
| Standard | Der Aufrufer wurde authentifiziert, aber das JWT gibt keine Ressourcenzugriffsstrategie an. |
| unauthenticated | Der Aufrufer wurde nicht authentifiziert. |
Die Ressourcenzugriffsstrategie pc.service
Die meisten Ressourcenzugriffsstrategien geben Einschränkungen an. Diese Ressourcenzugriffsstrategien schränken ein, was ein Aufrufer anzeigen kann.
Die Ressourcenzugriffsstrategie pc.service gibt jedoch fast keine Einschränkungen an. Dies liegt daran, dass diese Ressourcenzugriffsstrategie für die Verwendung durch Services erstellt wurde. Es wird erwartet, dass Services so konfiguriert werden, dass sie nur auf die den Umständen entsprechenden Ressourcen zugreifen. Folglich enthalten JWTs für API-Aufrufe von Services in der Regel keine Ressourcenzugriffs-IDs.
Beachten Sie, dass sich der Ressourcenzugriff für die verschiedenen servicebezogenen Authentifizierungsabläufe wie hier beschrieben verhält:
- Für eigenständige Services verwenden Aufrufe die Ressourcenzugriffsstrategie
pc.service. Sie haben daher uneingeschränkten Ressourcenzugriff. - Bei Services mit Benutzerkontext ist der Ressourcenzugriff jedes Aufrufs der Schnittpunkt des Ressourcenzugriffs auf der Serviceebene und des Ressourcenzugriffs auf der Benutzerebene. Der Ressourcenzugriff auf der Serviceebene erfolgt gemäß der Ressourcenzugriffsstrategie
pc.service, bei der keine Einschränkungen bestehen. Daher hat ein Aufruf eines Services mit Benutzerkontext logisch betrachtet den Ressourcenzugriff, der dem Ressourcenzugriff auf Benutzerebene entspricht. - Bei Services mit Servicekontozuordnung wird der Service einem internen Servicekonto zugeordnet. Die Ressourcenzugriffsstrategie
pc.servicewird nicht verwendet. Stattdessen verwendet der Aufruf die Ressourcenzugriffsstrategiepc_username.