Autenticazione di Azure in Generatore API dati
Il generatore di API dati consente agli sviluppatori di definire il meccanismo di autenticazione (provider di identità) che vuole che Generatore API dati usi per autenticare chi effettua richieste.
L'autenticazione viene delegata a un provider di identità supportato in cui è possibile emettere il token di accesso. Un token di accesso acquisito deve essere incluso con le richieste in ingresso a Generatore API dati. Il generatore di API dati convalida quindi tutti i token di accesso presentati, assicurandosi che il generatore di API dati fosse il pubblico previsto del token.
Le opzioni di configurazione del provider di identità supportate sono:
- StaticWebApps
- Token Web JSON (JWT)
Sviluppo in corso (AZ Login)
L'uso di Authentication='Active Directory Default'
nelle stringhe di connessione del database SQL di Azure significa che il client eseguirà l'autenticazione usando le credenziali di Azure Active Directory (AAD). Il metodo di autenticazione esatto è determinato dall'ambiente. Quando uno sviluppatore esegue az login
, l'interfaccia della riga di comando di Azure apre una finestra del browser che richiede all'utente di accedere con un account Microsoft o credenziali aziendali. Dopo l'autenticazione, l'interfaccia della riga di comando di Azure recupera e memorizza nella cache il token collegato all'identità di Azure Active Directory. Questo token viene quindi usato per autenticare le richieste ai servizi di Azure senza richiedere credenziali nella stringa di connessione.
"data-source": {
"connection-string": "...;Authentication='Active Directory Default';"
}
Per configurare le credenziali locali, usare semplicemente az login
dopo aver installato l'interfaccia della riga di comando di Azure .
az login
Autenticazione di App Web statiche di Azure (EasyAuth)
Il Data API builder si aspetta che Azure Static Web Apps (EasyAuth) autentichi la richiesta e fornisca metadati sull'utente autenticato nell'intestazione HTTP X-MS-CLIENT-PRINCIPAL
quando si utilizza l'opzione StaticWebApps
. È possibile fare riferimento ai metadati utente autenticati forniti da App Web statiche nella documentazione seguente: Accesso alle informazioni utente.
Per usare il provider di StaticWebApps
, è necessario specificare la configurazione seguente nella sezione runtime.host
del file di configurazione:
"authentication": {
"provider": "StaticWebApps"
}
L'uso del provider di StaticWebApps
è utile quando si prevede di eseguire Generatore API dati in Azure, ospitarlo usando il servizio app ed eseguirlo in un contenitore: Eseguire un contenitore personalizzato nel servizio app di Azure.
JWT
Per usare il provider JWT, è necessario configurare la sezione runtime.host.authentication
specificando le informazioni necessarie per verificare il token JWT ricevuto:
"authentication": {
"provider": "AzureAD",
"jwt": {
"audience": "<APP_ID>",
"issuer": "https://login.microsoftonline.com/<AZURE_AD_TENANT_ID>/v2.0"
}
}
Selezione ruoli
Dopo l'autenticazione di una richiesta tramite una delle opzioni disponibili, i ruoli definiti nel token vengono usati per determinare come le regole di autorizzazione vengono valutate per autorizzare la richiesta. Qualsiasi richiesta autenticata viene assegnata automaticamente al ruolo di sistema authenticated
, a meno che non venga richiesto un ruolo utente per l'uso. Per ulteriori informazioni, consulta l'autorizzazione .
Richieste anonime
Le richieste possono essere effettuate anche senza essere autenticate. In questi casi, la richiesta viene assegnata automaticamente al ruolo di sistema anonymous
in modo che possa essere correttamente autorizzato.
Intestazione della richiesta X-MS-API-ROLE
Il generatore di API dati richiede che l'intestazione X-MS-API-ROLE
sia utilizzata per autorizzare le richieste usando ruoli personalizzati. Il valore di X-MS-API-ROLE
deve corrispondere a un ruolo specificato nel token. Ad esempio, se il token ha il ruolo Sample.Role, anche X-MS-API-ROLE deve essere Sample.Role. Per ulteriori informazioni, vedere ruoli di autorizzazione utente.