Autenticación de Azure en data API Builder
Data API Builder permite a los desarrolladores definir el mecanismo de autenticación (proveedor de identidades) que quieren que el generador de Data API use para autenticar quién realiza solicitudes.
La autenticación se delega en un proveedor de identidades compatible en el que se puede emitir el token de acceso. Un token de acceso adquirido debe incluirse con las solicitudes entrantes a Data API Builder. Después, data API Builder valida los tokens de acceso presentados, lo que garantiza que Data API Builder era la audiencia prevista del token.
Las opciones de configuración admitidas del proveedor de identidades son:
- StaticWebApps
- JSON Web Tokens (JWT)
Autenticación de Azure Static Web Apps (EasyAuth)
Data API Builder espera que la autenticación de Azure Static Web Apps (EasyAuth) autentique la solicitud y proporcione metadatos sobre el usuario autenticado en el encabezado HTTP de X-MS-CLIENT-PRINCIPAL
al usar la opción StaticWebApps
. Se puede hacer referencia a los metadatos de usuario autenticados proporcionados por Static Web Apps en la siguiente documentación: acceso a la información de usuario.
Para usar el proveedor de StaticWebApps
, debe especificar la siguiente configuración en la sección runtime.host
del archivo de configuración:
"authentication": {
"provider": "StaticWebApps"
}
El uso del proveedor de StaticWebApps
es útil cuando planea ejecutar data API Builder en Azure, hospedarlo mediante App Service y ejecutarlo en un contenedor: Ejecutar un contenedor personalizado en Azure App Service.
JWT
Para usar el proveedor JWT, debe configurar la sección runtime.host.authentication
proporcionando la información necesaria para comprobar el token JWT recibido:
"authentication": {
"provider": "AzureAD",
"jwt": {
"audience": "<APP_ID>",
"issuer": "https://login.microsoftonline.com/<AZURE_AD_TENANT_ID>/v2.0"
}
}
Selección de roles
Una vez que una solicitud se autentica a través de cualquiera de las opciones disponibles, los roles definidos en el token se usan para ayudar a determinar cómo se evalúan las reglas de permisos para autorizar la solicitud. Cualquier solicitud autenticada se asigna automáticamente al rol de sistema de authenticated
, a menos que se solicite un rol de usuario para su uso. Para obtener más información, consulte autorización.
Solicitudes anónimas
También se pueden realizar solicitudes sin autenticarse. En tales casos, la solicitud se asigna automáticamente al rol de sistema de anonymous
para que se pueda autorizado correctamente.
X-MS: encabezado de solicitudAPI-ROLE
Data API Builder requiere el encabezado X-MS-API-ROLE
para autorizar solicitudes mediante roles personalizados. El valor de X-MS-API-ROLE
debe coincidir con un rol especificado en el token. Por ejemplo, si el token tiene el rol Sample.Role, X-MS-API-ROLE también debe ser Sample.Role. Para obtener más información, consulte roles de usuario de autorización.