Dela via


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.