Dieser Aufruf gibt ein neues JSON Web Token (JWT) für die Authentifizierung zurück, mit dem eine Identität im Namen des Nutzers, der im ursprünglichen Authentifizierungs-JWT authentifiziert wurde, auf eine bestimmte Ressource zugreifen kann. Sie wird verwendet, um den Zugriff mit eingeschränktem Umfang auf wrap oder unwrap an eine andere Entität zu delegieren, wenn diese im Namen des Nutzers handeln muss.
HTTP-Anfrage
POST https://<base_url>/delegate
Ersetzen Sie <base_url>
durch die URL des Key Access Control List Service (KACLS).
Pfadparameter
Keine.
Anfragetext
Der Anfragetext enthält eine JSON-Darstellung der Anfrage:
JSON-Darstellung | |
---|---|
{ "authentication": string, "authorization": string, "reason": string } |
Felder | |
---|---|
authentication |
Ein von einem Drittanbieter ausgestelltes JWT, das angibt, wer der Nutzer ist. Weitere Informationen finden Sie im Abschnitt zur Authentifizierung. |
authorization |
Ein JWT mit den Anforderungen |
reason |
Ein Passthrough-JSON-String, der zusätzlichen Kontext zum Vorgang enthält. Das bereitgestellte JSON sollte bereinigt werden, bevor es angezeigt wird. Maximale Größe: 1 KB. |
Erforderliche Verarbeitungsschritte
Der KACLS muss mindestens die folgenden Schritte ausführen:
- Sowohl Autorisierungs- als auch Authentifizierungstokens validieren Weitere Informationen finden Sie unter Autorisierungstokens und Authentifizierungstokens.
- Prüfen Sie, ob Autorisierungs- und Authentifizierungstokens für denselben Nutzer gelten. Weitere Informationen finden Sie unter Daten verschlüsseln und entschlüsseln.
- Prüfen Sie, ob die Anforderung
kacls_url
im Autorisierungstoken mit der aktuellen KACLS-URL übereinstimmt. So können potenzielle Man-in-the-Middle-Server erkannt werden, die von Insidern oder betrügerischen Domainadministratoren konfiguriert wurden. - Wenn der Anspruch
kacls_owner_domain
im Autorisierungstoken vorhanden ist, prüfen Sie, ob der Wert mit der Google Workspace-Domain des KACLS-Inhabers übereinstimmt. So wird verhindert, dass nicht autorisierte Nutzer Ihre KACLS bei Google registrieren. - Protokolliere den Vorgang, einschließlich des Nutzers, der ihn initiiert hat, der
delegated_to
, derresource_name
und des in der Anfrage übergebenen Grunds. - Generieren, signieren und geben Sie ein JWT-Token mit den Ansprüchen
delegated_to
undresource_name
aus dem Autorisierungstoken zurück.
Der KACLS kann zusätzliche Sicherheitsprüfungen durchführen, einschließlich JWT-Anspruchsprüfungen.
Antworttext
Bei Erfolg gibt diese Methode ein Authentifizierungs-JWT mit den Ansprüchen delegated_to
und resource_name
zurück. Dieses Token kann später zur Authentifizierung bei Aufrufen der Methoden „Wrap“ und „Unwrap“ verwendet werden. Im Fehlerfall sollte eine strukturierte Fehlerantwort zurückgegeben werden.
JSON-Darstellung | |
---|---|
{ "delegated_authentication": string } |
Felder | |
---|---|
delegated_authentication |
Ein delegiertes Authentifizierungs-JWT, das für den Zugriff auf |
Beispiel
Anfrage
POST https://mykacls.example.com/v1/delegate
{
"authentication": "eyJhbGciOi...",
"authorization": "eyJhbGciOi...delegated_to\":\"other_entity_id\",\"resource_name\":\"meeting_id\"...}",
"reason": "{client:'meet' op:'delegate_access'}"
}
Antwort
{
"delegated_authentication": "eyJhbGciOi...delegated_to_from_authz_token...resource_name_from_authz_token...}"
}