Passaggio dei token alle funzioni del responsabile autorizzazioni per aggiungere autenticazione e autorizzazione alle distribuzioni API

Scopri come utilizzare le funzioni del provider di autorizzazioni a argomento singolo e i token di accesso per aggiungere funzionalità di autenticazione e autorizzazione ai gateway API con il servizio API Gateway.

È possibile aggiungere funzionalità di autenticazione e autorizzazione a un gateway API facendo in modo che il gateway API passi un token di accesso a più argomenti o a un singolo argomento incluso in una richiesta a una funzione del responsabile autorizzazioni distribuita nelle funzioni OCI per la convalida (come descritto in questo argomento). In alternativa, è possibile fare in modo che il gateway API stesso convalidi i token inclusi in una richiesta (come descritto in Convalida dei token per aggiungere l'autenticazione e l'autorizzazione alle distribuzioni API).

È possibile aggiungere funzionalità di autenticazione e autorizzazione ai gateway API scrivendo una 'funzione di autore' che:

  • Elabora gli attributi di richiesta per verificare l'identità di un client API con un provider di identità.
  • Determina le operazioni che il client API è autorizzato a eseguire.
  • Restituisce le operazioni che il client API è autorizzato a eseguire come lista di 'scopi di accesso' (un 'ambito di accesso' è una stringa arbitraria utilizzata per determinare l'accesso).
  • Facoltativamente restituisce una coppia chiave-valore per l'uso da parte della distribuzione API. Ad esempio, come variabile di contesto da utilizzare in una definizione backend HTTP (vedere Aggiunta di variabili di contesto ai criteri e alle definizioni backend HTTP).

A seconda delle funzionalità richieste, è possibile scrivere:

L'utilizzo di una funzione del provider di autorizzazioni multi-argomento (anziché di un singolo argomento) consente a un gateway API di eseguire un'autenticazione basata su richieste con filtro. Una funzione del responsabile autorizzazioni multi-argomento può eseguire query sui servizi di decisione e sugli agenti dei criteri con attributi dal token di accesso e con altri elementi di richiesta, ad esempio parametri di query, nome host e sottodominio.

Nota

Oracle consiglia di utilizzare funzioni di autorizzatore multi-argomento anziché funzioni di autorizzatore mono-argomento a causa della loro versatilità aggiuntiva. Le funzioni del responsabile autorizzazioni a argomento singolo sono state fornite nelle release precedenti e continuano a essere supportate. Tuttavia, poiché le funzioni del responsabile autorizzazioni multi-argomento possono anche accettare token di accesso a singolo argomento contenuti nelle intestazioni di richiesta e nel parametro di query, non è possibile creare nuove funzioni del responsabile autorizzazioni a singolo argomento. Inoltre, le funzioni del responsabile autorizzazioni a argomento singolo sono previste per l'obsolescenza in una release futura.

Dopo aver scritto la funzione del responsabile autorizzazioni, è possibile distribuirla in Funzioni OCI (vedere Distribuzione di una funzione del responsabile autorizzazioni).

Per un'esercitazione per sviluppatori correlata contenente una funzione di autorizzazione di esempio a argomento singolo, vedere Funzioni: Convalida una chiave API con gateway API.

Dopo aver distribuito la funzione del responsabile autorizzazioni, è possibile abilitare l'autenticazione e l'autorizzazione per una distribuzione API includendo due diversi tipi di criteri di richiesta nella specifica di distribuzione API:

  • Criterio di richiesta di autenticazione per l'intera distribuzione API che specifica quanto segue.
    • L'OCID della funzione del responsabile autorizzazioni distribuita nelle funzioni OCI che eseguiranno l'autenticazione e l'autorizzazione.
    • Gli attributi di richiesta da passare alla funzione del responsabile autorizzazioni.
    • Indica se i client API non autenticati possono accedere agli instradamenti nella distribuzione API.
  • Criterio di richiesta di autorizzazione per ogni instradamento che specifica le operazioni che un client API può eseguire, in base agli ambiti di accesso del client API restituiti dalla funzione del responsabile autorizzazioni.

È possibile aggiungere criteri di autenticazione e richiesta di autorizzazione a una specifica di distribuzione API effettuando le operazioni riportate di seguito.

  • Uso di Console.
  • Modifica di un file JSON.
Suggerimento

Per facilitare la risoluzione dei problemi con la funzione del responsabile autorizzazioni, considerare l'opportunità di aggiungere un log di esecuzione alla distribuzione API, con il relativo livello di log impostato su Informazioni (vedere Aggiunta di log alle distribuzioni API).

Per visualizzare i dettagli nei file di log relativi all'autenticazione e all'autorizzazione, cercare customAuth.