Questa chiamata restituisce un nuovo token JWT (JSON Web Token) di autenticazione che consente a un'entità di accedere a una risorsa specificata per conto dell'utente autenticato nel JWT di autenticazione originale. Viene utilizzato per delegare l'accesso con ambito a wrap o unwrap a un'altra entità quando questa deve agire per conto dell'utente.
Richiesta HTTP
POST https://<base_url>/delegate
Sostituisci <base_url>
con l'URL del servizio di elenco di controllo dell'accesso per le chiavi (KACLS).
Parametri del percorso
Nessuno.
Corpo della richiesta
Il corpo della richiesta contiene una rappresentazione JSON della richiesta:
Rappresentazione JSON | |
---|---|
{ "authentication": string, "authorization": string, "reason": string } |
Campi | |
---|---|
authentication |
Un JWT emesso da una terza parte che dichiara l'identità dell'utente. Per maggiori dettagli, consulta la sezione relativa all'autenticazione. |
authorization |
Un JWT con attestazioni |
reason |
Una stringa JSON passthrough che fornisce un contesto aggiuntivo sull'operazione. Il JSON fornito deve essere sanificato prima di essere visualizzato. Dimensioni massime: 1 kB. |
Passaggi di elaborazione obbligatori
Il KACLS deve eseguire almeno questi passaggi:
- Convalida sia i token di autorizzazione sia quelli di autenticazione. Per maggiori informazioni, consulta Token di autorizzazione e Token di autenticazione.
- Verifica che i token di autorizzazione e autenticazione siano per lo stesso utente. Per maggiori informazioni, vedi Criptare e decriptare i dati.
- Verifica che l'attestazione
kacls_url
nel token di autorizzazione corrisponda all'URL KACLS attuale. Ciò consente di rilevare potenziali server man-in-the-middle configurati da insider o amministratori di domini non autorizzati. - Se l'attestazione
kacls_owner_domain
esiste nel token di autorizzazione, verifica che il valore corrisponda al dominio Google Workspace del proprietario di KACLS. In questo modo si impedisce a utenti non autorizzati di registrare il tuo KACLS su Google. - Registra l'operazione, inclusi l'utente che l'ha originata,
delegated_to
,resource_name
e il motivo indicato nella richiesta. - Genera, firma e restituisce un token JWT contenente le rivendicazioni
delegated_to
eresource_name
dal token di autorizzazione.
Il KACLS è libero di eseguire controlli di sicurezza aggiuntivi, inclusi quelli basati sulle rivendicazioni JWT.
Corpo della risposta
In caso di esito positivo, questo metodo restituisce un JWT di autenticazione contenente
le attestazioni delegated_to
e resource_name
. Questo token può essere utilizzato in un secondo momento per
l'autenticazione nelle chiamate ai metodi Wrap e Unwrap. In caso di errore, deve essere restituita una
risposta di errore strutturata.
Rappresentazione JSON | |
---|---|
{ "delegated_authentication": string } |
Campi | |
---|---|
delegated_authentication |
Un JWT di autenticazione delegata valido per l'accesso a |
Esempio
Richiesta
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'}"
}
Risposta
{
"delegated_authentication": "eyJhbGciOi...delegated_to_from_authz_token...resource_name_from_authz_token...}"
}