Udostępnij za pośrednictwem


Uwierzytelnianie platformy Azure w narzędziu Data API Builder

Konstruktor interfejsu API danych umożliwia deweloperom zdefiniowanie mechanizmu uwierzytelniania (dostawcy tożsamości), który chce, aby konstruktor interfejsu API danych używał do uwierzytelniania, kto wysyła żądania.

Uwierzytelnianie jest delegowane do obsługiwanego dostawcy tożsamości, w którym można wystawiać token dostępu. Uzyskany token dostępu musi być dołączony do żądań przychodzących do konstruktora interfejsu API danych. Konstruktor interfejsu API danych weryfikuje wszystkie przedstawione tokeny dostępu, zapewniając, że konstruktor interfejsu API danych był zamierzonym odbiorcą tokenu.

Obsługiwane opcje konfiguracji dostawcy tożsamości to:

  • StaticWebApps
  • Tokeny internetowe JSON (JWT)

Uwierzytelnianie usługi Azure Static Web Apps (EasyAuth)

Konstruktor interfejsu API danych oczekuje uwierzytelniania usługi Azure Static Web Apps (EasyAuth) w celu uwierzytelnienia żądania i podania metadanych dotyczących uwierzytelnioowanego użytkownika w nagłówku http X-MS-CLIENT-PRINCIPAL podczas korzystania z opcji StaticWebApps. Uwierzytelnione metadane użytkownika udostępniane przez usługę Static Web Apps można znaleźć w następującej dokumentacji: uzyskiwanie dostępu do informacji o użytkowniku.

Aby użyć dostawcy StaticWebApps, należy określić następującą konfigurację w sekcji runtime.host pliku konfiguracji:

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

Użycie dostawcy StaticWebApps jest przydatne podczas planowania uruchamiania konstruktora interfejsu API danych na platformie Azure, hostowania go przy użyciu usługi App Service i uruchamiania go w kontenerze: Uruchom kontener niestandardowy w usłudze Azure App Service.

JWT

Aby użyć dostawcy JWT, należy skonfigurować sekcję runtime.host.authentication, podając wymagane informacje, aby zweryfikować odebrany token JWT:

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

Wybór ról

Po uwierzytelnieniu żądania za pośrednictwem dowolnej z dostępnych opcji role zdefiniowane w tokenie są używane do określania sposobu oceniania reguł uprawnień w celu autoryzowania żądania. Każde uwierzytelnione żądanie jest automatycznie przypisywane do roli systemu authenticated, chyba że do użycia zostanie zażądana rola użytkownika. Aby uzyskać więcej informacji, zobacz authorization.

Żądania anonimowe

Żądania można również wysyłać bez uwierzytelniania. W takich przypadkach żądanie jest automatycznie przypisywane do roli systemu anonymous, dzięki czemu może być prawidłowo autoryzowany.

Nagłówek żądania X-MS-API-ROLE

Konstruktor interfejsu API danych wymaga X-MS-API-ROLE nagłówka w celu autoryzowania żądań przy użyciu ról niestandardowych. Wartość X-MS-API-ROLE musi być zgodna z rolą określoną w tokenie. Jeśli na przykład token ma rolę Sample.Role, to X-MS-API-ROLE powinien być również Sample.Role. Aby uzyskać więcej informacji, zobacz role użytkownika autoryzacji .