數據 API 產生器可讓開發人員定義驗證機制(識別提供者),他們希望 Data API 產生器用來驗證發出要求的人員。
驗證會委托給支持識別的提供者,由其發出存取令牌。 取得的存取令牌必須包含在數據 API 產生器的連入要求中。 然後,資料 API 建構器會驗證任何呈現的存取令牌,確保資料 API 建構器是令牌的預期受眾。
支持的識別提供者組態選項如下:
- StaticWebApps
- JSON Web 令牌 (JWT)
在開發中 (AZ 登入)
在 Authentication='Active Directory Default' Azure SQL Database 連接字串中使用 表示用戶端會使用 Microsoft Entra 認證進行驗證。 確切的驗證方法是由環境所決定。 當開發人員執行 az login時,Azure CLI 會開啟瀏覽器視窗,提示使用者使用Microsoft帳戶或公司認證登入。 驗證之後,Azure CLI 會擷取並快取連結至 Microsoft Entra 身分識別的令牌。 接著,此令牌會用來驗證對 Azure 服務的要求,而不需要連接字串中的認證。
"data-source": {
"connection-string": "...;Authentication='Active Directory Default';"
}
az login
Azure Static Web Apps 驗證 (EasyAuth)
數據 API 產生器預期 Azure Static Web Apps 驗證 (EasyAuth) 會驗證要求,並在使用 選項X-MS-CLIENT-PRINCIPAL時提供 HTTP 標頭中StaticWebApps已驗證使用者的元數據。 靜態 Web Apps 所提供的已驗證使用者元數據可以在下列檔案中參考:存取使用者資訊。
若要使用 StaticWebApps 提供者,您必須在組態檔的 runtime.host 區段中指定下列組態:
"authentication": {
"provider": "StaticWebApps"
}
當您打算在 Azure 中執行數據 API 產生器、使用 App Service 裝載並在容器中執行時,使用 StaticWebApps 提供者很有用:在 Azure App Service中執行自定義容器。
JWT
若要使用 JWT 提供者,您必須配置 [runtime.host.authentication] 區段,提供所需的信息,以驗證收到的 JWT 令牌。
"authentication": {
"provider": "AzureAD",
"jwt": {
"audience": "<APP_ID>",
"issuer": "https://login.microsoftonline.com/<AZURE_AD_TENANT_ID>/v2.0"
}
}
角色選取
在透過任何可用選項驗證請求後,令牌中定義的角色用於協助判斷如何評估權限規則,以授權該請求。 除非要求使用使用者角色,否則任何已驗證的要求都會自動指派給 authenticated 系統角色。 如需詳細資訊,請參閱 授權。
匿名要求
您也可以在未經驗證的情況下提出請求。 在這種情況下,請求會自動分配給 anonymous 系統角色,以便正確地 授權。
X-MS-API-ROLE 請求標頭
數據 API 產生器需要標頭 X-MS-API-ROLE,才能使用自定義角色來授權要求。
X-MS-API-ROLE 的值必須符合令牌中指定的角色。 例如,如果令牌的角色是 Sample.Role,那麼 X-MS-API-ROLE 也應該是 Sample.Role。 如需詳細資訊,請參閱 授權使用者角色。