Delen via


Azure-verificatie in Data API Builder

Met Data API Builder kunnen ontwikkelaars het verificatiemechanisme (id-provider) definiëren dat ze willen dat Data API Builder kan gebruiken om te verifiëren wie aanvragen doet.

Verificatie wordt gedelegeerd aan een ondersteunde id-provider waar toegangstoken kan worden uitgegeven. Een verkregen toegangstoken moet worden opgenomen in binnenkomende aanvragen voor Data API Builder. Data API Builder valideert vervolgens alle gepresenteerde toegangstokens, zodat Data API Builder de beoogde doelgroep van het token was.

De ondersteunde configuratieopties voor id-providers zijn:

  • StaticWebApps
  • JSON-webtokens (JWT)

In ontwikkeling (AZ-aanmelding)

Het gebruik van Authentication='Active Directory Default' in Azure SQL Database-verbindingsreeksen betekent dat de client wordt geverifieerd met behulp van AAD-referenties (Azure Active Directory). De exacte verificatiemethode wordt bepaald door de omgeving. Wanneer een ontwikkelaar az loginuitvoert, opent de Azure CLI een browservenster waarin de gebruiker wordt gevraagd zich aan te melden met een Microsoft-account of bedrijfsreferenties. Nadat de verificatie is uitgevoerd, haalt Azure CLI het token op dat is gekoppeld aan de Azure Active Directory-identiteit en slaat het in de cache op. Dit token wordt vervolgens gebruikt om aanvragen bij Azure-services te verifiëren zonder inloggegevens in de verbindingsreeks.

"data-source": {
    "connection-string": "...;Authentication='Active Directory Default';"
}

Als u lokale referenties wilt instellen, gebruikt u az login nadat u de Azure CLI-hebt geïnstalleerd.

az login

Verificatie van Azure Static Web Apps (EasyAuth)

Data API Builder verwacht azure Static Web Apps-verificatie (EasyAuth) om de aanvraag te verifiëren en metagegevens te verstrekken over de geverifieerde gebruiker in de X-MS-CLIENT-PRINCIPAL HTTP-header wanneer u de optie StaticWebAppsgebruikt. In de volgende documentatie kan worden verwezen naar de geverifieerde gebruikersmetagegevens van Static Web Apps: Toegang tot gebruikersgegevens.

Als u de StaticWebApps-provider wilt gebruiken, moet u de volgende configuratie opgeven in de sectie runtime.host van het configuratiebestand:

"authentication": {
    "provider": "StaticWebApps"
}

Het gebruik van de StaticWebApps-provider is handig wanneer u van plan bent om Data API Builder uit te voeren in Azure, deze host met Behulp van App Service en deze uit te voeren in een container: Een aangepaste container uitvoeren in Azure App Service.

JWT

Als u de JWT-provider wilt gebruiken, moet u de sectie runtime.host.authentication configureren door de benodigde informatie op te geven om het ontvangen JWT-token te verifiëren:

"authentication": {
    "provider": "AzureAD",
    "jwt": {
        "audience": "<APP_ID>",
        "issuer": "https://login.microsoftonline.com/<AZURE_AD_TENANT_ID>/v2.0"
    }
}

Selectie van rollen

Zodra een aanvraag is geverifieerd via een van de beschikbare opties, worden de rollen die in het token zijn gedefinieerd, gebruikt om te bepalen hoe machtigingsregels worden geëvalueerd voor autoriseren de aanvraag. Elke geverifieerde aanvraag wordt automatisch toegewezen aan de authenticated systeemrol, tenzij een gebruikersrol wordt aangevraagd voor gebruik. Zie autorisatievoor meer informatie.

Anonieme aanvragen

Aanvragen kunnen ook worden gedaan zonder te worden geverifieerd. In dergelijke gevallen wordt de aanvraag automatisch toegewezen aan de anonymous systeemrol, zodat deze correct kan worden geautoriseerd.

X-MS-API-ROLE verzoekheader

Voor data-API builder is de header-X-MS-API-ROLE vereist om aanvragen te autoriseren met behulp van aangepaste rollen. De waarde van X-MS-API-ROLE moet overeenkomen met een rol die is opgegeven in het token. Als het token bijvoorbeeld de rol Sample.Roleheeft, moet X-MS-API-ROLE ook Sample.Rolezijn. Zie gebruikersrollen voor autorisatievoor meer informatie.