Azure-autentisering i Data API-byggare
Med Data API Builder kan utvecklare definiera den autentiseringsmekanism (identitetsprovider) som de vill att Data API-byggare ska använda för att autentisera vem som gör begäranden.
Autentisering delegeras till en identitetsprovider som stöds där åtkomsttoken kan utfärdas. En förvärvad åtkomsttoken måste ingå i inkommande begäranden till Data API Builder. Data API Builder verifierar sedan alla presenterade åtkomsttoken, vilket säkerställer att Data API Builder var den avsedda målgruppen för token.
Konfigurationsalternativen för identitetsprovidern som stöds är:
- StaticWebApps
- JSON-webbtoken (JWT)
Azure Static Web Apps-autentisering (EasyAuth)
Data API Builder förväntar sig att Azure Static Web Apps-autentisering (EasyAuth) autentiserar begäran och tillhandahåller metadata om den autentiserade användaren i X-MS-CLIENT-PRINCIPAL
HTTP-huvudet när du använder alternativet StaticWebApps
. Autentiserade användarmetadata från Static Web Apps kan refereras i följande dokumentation: Åtkomst till användarinformation.
Om du vill använda StaticWebApps
-providern måste du ange följande konfiguration i avsnittet runtime.host
i konfigurationsfilen:
"authentication": {
"provider": "StaticWebApps"
}
Det är användbart att använda StaticWebApps
-providern när du planerar att köra Data API Builder i Azure, hantera den med App Service och köra den i en container: Kör en anpassad container i Azure App Service.
JWT
Om du vill använda JWT-providern måste du konfigurera avsnittet runtime.host.authentication
genom att ange nödvändig information för att verifiera den mottagna JWT-token:
"authentication": {
"provider": "AzureAD",
"jwt": {
"audience": "<APP_ID>",
"issuer": "https://login.microsoftonline.com/<AZURE_AD_TENANT_ID>/v2.0"
}
}
Val av roller
När en begäran har autentiserats via något av de tillgängliga alternativen används rollerna som definieras i token för att avgöra hur behörighetsregler utvärderas för att auktorisera begäran. Alla autentiserade begäranden tilldelas automatiskt till authenticated
systemroll, såvida inte en användarroll begärs för användning. Mer information finns i auktorisering.
Anonyma begäranden
Begäranden kan också göras utan att autentiseras. I sådana fall tilldelas begäran automatiskt till anonymous
-systemrollen så att den kan auktoriserade.
X-MS-API-ROLE begärandehuvud
Data API Builder kräver huvudet X-MS-API-ROLE
för att auktorisera begäranden med hjälp av anpassade roller. Värdet för X-MS-API-ROLE
måste matcha en roll som anges i token. Om token till exempel har rollen Sample.Rolebör X-MS-API-ROLE också vara Sample.Role. Mer information finns i användarroller för auktorisering.