Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe cómo configurar la autenticación para Azure Container Apps para que la aplicación inicie sesión de los usuarios mediante la plataforma de identidad de Microsoft como proveedor de autenticación.
La autenticación de Container Apps puede crear automáticamente un registro de aplicaciones con la plataforma de identidad de Microsoft. También es posible usar un registro que el usuario o un administrador de directorios cree por separado.
- Creación de un nuevo registro de aplicaciones automáticamente
- Uso de un registro existente creado por separado
Opción 1: creación de un nuevo registro de aplicaciones automáticamente
Esta opción está diseñada para simplificar la autenticación y requiere unos pocos pasos.
Inicie sesión en Azure Portal y vaya a la aplicación.
Seleccione Autenticación de seguridad> en el panel izquierdo. Seleccione Agregar proveedor de identidad.
Seleccione Microsoft en la lista de proveedores de identidades. La opción para crear un nuevo registro está seleccionada de forma predeterminada. Puede cambiar el nombre del registro o los tipos de cuenta admitidos.
Se crea y almacena un secreto de cliente como secreto en la aplicación contenedora.
En la lista Expiración del secreto de cliente , seleccione una fecha de expiración.
Si va a configurar el primer proveedor de identidades para esta aplicación, verá una sección de configuración de autenticación de Container Apps. De lo contrario, pasa al siguiente paso.
Estas opciones determinan cómo responde la aplicación a las solicitudes no autenticadas. Las selecciones predeterminadas redirigen todas las solicitudes para iniciar sesión con este nuevo proveedor. Puede personalizar este comportamiento ahora o ajustar esta configuración más adelante en el panel autenticación principal seleccionando Editar junto a Configuración de autenticación. Para obtener más información acerca de estas opciones, consulte Flujo de autenticación.
(Opcional) Seleccione Siguiente: Permisos y agregue los ámbitos que necesite la aplicación. Los ámbitos se agregan al registro de la aplicación, pero también puede cambiarlos más adelante.
Seleccione Agregar.
De este modo ya estará listo para usar la plataforma de identidad de Microsoft para realizar la autenticación en la aplicación. El proveedor aparece en el panel Autenticación . Desde allí, puede editar o eliminar esta configuración de proveedor.
Opción 2: uso de un registro existente creado por separado
También puede registrar manualmente la aplicación para la plataforma de identidad de Microsoft, personalizar el registro y configurar la autenticación de Container Apps con los detalles de registro. Este enfoque es útil cuando se quiere usar un registro de aplicaciones de un inquilino de Microsoft Entra que no es aquel en el que se define su aplicación.
Crear un registro de aplicación en Microsoft Entra ID para la aplicación contenedora
Primero, crea el registro de tu aplicación. Al hacerlo, recopile la siguiente información que necesita más adelante al configurar la autenticación en la aplicación contenedora:
- Id. de cliente
- Id. de inquilino
- Secreto de cliente (opcional)
- URI de ID de aplicación
Para registrar la aplicación, lleve a cabo los siguientes pasos:
Inicie sesión en Azure Portal.
Busque y seleccione Aplicaciones de contenedor y luego seleccione la aplicación. En el panel Información General, anote la dirección URL de la aplicación. Se usa para configurar el registro de aplicaciones de Microsoft Entra.
Seleccione Inicio para volver a la página principal del portal. Busque y seleccione Microsoft Entra ID.
En el panel Información general , seleccione Agregar y, a continuación, seleccione Registro de aplicaciones.
En el panel Registrar una aplicación , escriba un nombre para el registro de la aplicación.
En la sección URI de redirección , seleccione Web y escriba lo siguiente. Reemplace por
\<APP_URL\>la dirección URL de la aplicación que anotó anteriormente.<APP_URL>/.auth/login/aad/callbackPor ejemplo:
https://<CONTAINER_APP_NAME>.<ENVIRONMENT_UNIQUE_ID>.<REGION_NAME>.azurecontainerapps.io/.auth/login/aad/callbackSeleccione Registrar.
En Administrar en el panel izquierdo, seleccione Autenticación (versión preliminar).
En la pestaña Configuración , seleccione Tokens de identificador (usados para flujos implícitos e híbridos) para permitir inicios de sesión de usuario de OpenID Connect desde Container Apps. Haga clic en Guardar.
Vaya al nuevo registro de aplicaciones.
- En el panel Información general , copie el identificador de aplicación (cliente) y el identificador de directorio (inquilino) para más adelante.
- (Opcional) Si aún no ha agregado el URI de redirección al registro de la aplicación, puede hacerlo ahora.
En Administrar en el panel izquierdo, seleccione Autenticación (versión preliminar).
En el panel Autenticación (versión preliminar), seleccione Agregar URI de redirección.
En el panel Seleccionar una plataforma para agregar URI de redirección , seleccione Web.
En el panel Agregar URI de redirección , en el cuadro URI de redirección , escriba lo siguiente. Reemplace por
\<APP_URL\>la dirección URL de la aplicación que anotó anteriormente.<APP_URL>/.auth/login/aad/callbackPor ejemplo:
https://<CONTAINER_APP_NAME>.<HOSTNAME>.<LOCATION>.azurecontainerapps.io/.auth/login/aad/callbackSeleccione Configurar.
- (Opcional) En Administrar en el panel izquierdo, seleccione Personalización de marca y propiedades. En el cuadro Dirección URL de la página principal, escriba la dirección URL de la aplicación contenedora y, a continuación, seleccione Guardar.
- En Administrar en el panel izquierdo, seleccione Exponer una API.
Seleccione Agregar junto a URI de id. de aplicación.
El URI del identificador de aplicación identifica de forma única la aplicación cuando se usa como un recurso. Permite que los tokens solicitados concedan acceso. El valor también se usa como prefijo para los ámbitos que usted cree.
Para una aplicación de un solo inquilino, puede usar el valor predeterminado, que tiene el formato
api://<APPLICATION_CLIENT_ID>. También puede especificar un URI más legible, comohttps://contoso.com/api, en función de uno de los dominios verificados para su inquilino. Para una aplicación multitenant, debe proporcionar un URI personalizado. Para obtener más información sobre los formatos aceptados para los URI de id. de aplicación, consulte Procedimientos recomendados de seguridad para las propiedades de la aplicación en Microsoft Entra ID.El valor se guarda automáticamente.
Seleccione Agregar un ámbito.
En el panel Agregar un ámbito, el URI de identificador de aplicación es el valor que estableció en un paso anterior.
Selecciona Guardar y continuar.
En el campo Nombre del ámbito, escriba user_impersonation.
Escriba el nombre para mostrar del consentimiento del administrador y la descripción del consentimiento del administrador que desea que los administradores vean en la página de consentimiento. Un ejemplo de nombre de visualización de consentimiento es Acceso <application-name>.
Selecciona la opción Agregar un ámbito.
- En el panel izquierdo, en Administrar, seleccione Certificados y secretos.
- En el panel Certificados y secretos , seleccione Secretos de cliente.
- Seleccione Nuevo secreto de cliente.
- Escriba una descripción y, a continuación, en Expira, seleccione una fecha de expiración.
- Seleccione Agregar.
- Copie el valor del secreto de cliente que se muestra en la página. El sitio no te lo mostrará otra vez.
Habilitar Microsoft Entra ID en la aplicación de contenedor
Inicie sesión en Azure Portal y vaya a la aplicación.
En el panel izquierdo, en Seguridad, seleccione Autenticación. Seleccione Agregar proveedor.
Seleccione Microsoft en la lista de proveedores de identidades.
En Tipo de registro de aplicación, puede seleccionar Elegir un registro de aplicación existente en este directorio, que recopila automáticamente la información necesaria de la aplicación. Si el registro procede de otro inquilino o no tiene permiso para ver el objeto de registro, seleccione Proporcionar los detalles de un registro de aplicación existente. Para esta opción, debe proporcionar los siguientes detalles de configuración:
Advertencia
Siempre que sea posible, evite usar el flujo de concesión implícita. En la mayoría de los escenarios, hay alternativas más seguras y recomendables. Algunas configuraciones de este flujo requieren un alto grado de confianza en la aplicación y conllevan riesgos que no están presentes en otros flujos. Solo debe usar este flujo cuando no se puedan usar otros más seguros. Para obtener más información, consulte los problemas de seguridad del flujo de concesión implícita.
Configuración Descripción Id. de la aplicación (cliente) Use el identificador de la aplicación (cliente) del registro de aplicaciones. Secreto de cliente Use el secreto de cliente que generó en el registro de la aplicación. Los secretos de cliente utilizan el flujo híbrido y la aplicación devuelve tokens de acceso y actualización. Cuando no se establece el secreto de cliente, se usa el flujo implícito y solo se devuelve un token de identificador. El proveedor envía los tokens y se almacenan en el almacén de tokens de EasyAuth. Dirección URL del emisor Utilice <AUTHENTICATION-ENDPOINT>/<TENANT-ID>/v2.0. Reemplace <AUTHENTICATION-ENDPOINT> por el punto de conexión de autenticación del entorno de nube (por ejemplo, "https://login.microsoftonline.com" para Azure global). Reemplace <TENANT-ID> por el identificador de directorio (inquilino) en el que se creó el registro de la aplicación. Este valor se usa para redirigir a los usuarios al tenant correcto de Microsoft Entra, y para descargar los metadatos, determinar las claves de firma de tokens adecuadas y el valor de reclamación del emisor de tokens, por ejemplo. En el caso de las aplicaciones que usan Azure Active Directory v1, omita/v2.0en la dirección URL.Audiencias de token permitidas El ID de aplicación (cliente) configurado se considera siempre implícitamente como un público permitido. Si este valor se trata de una aplicación en la nube o de servidor y desea aceptar tokens de autenticación de una aplicación de contenedor de cliente (el token de autenticación se puede recuperar en el encabezado X-MS-TOKEN-AAD-ID-TOKEN), agregue aquí el Id. de aplicación (cliente) de la aplicación cliente.El secreto de cliente se almacena como secreto en la aplicación contenedora.
Si este es el primer proveedor de identidades configurado para la aplicación, verá una sección Configuración de autenticación de Container Apps. De lo contrario, pasa al siguiente paso.
Estas opciones determinan cómo responde la aplicación a las solicitudes no autenticadas. Las selecciones predeterminadas redirigirán todas las solicitudes para iniciar sesión con este nuevo proveedor. Puede cambiar este comportamiento ahora o ajustar esta configuración más adelante en el panel autenticación principal seleccionando Editar junto a Configuración de autenticación. Para obtener más información acerca de estas opciones, consulte Flujo de autenticación.
Seleccione Agregar.
De este modo ya estará listo para usar la plataforma de identidad de Microsoft para realizar la autenticación en la aplicación. El proveedor aparece en el panel Autenticación . Desde allí, puede editar o eliminar esta configuración de proveedor.
Configuración de las aplicaciones cliente para acceder a la aplicación de contenedor
En la sección anterior, registró su aplicación de contenedor para autenticar a los usuarios. En esta sección, registrará aplicaciones nativas de cliente o demonio. Después, pueden solicitar acceso a las API expuestas por la aplicación de contenedor en nombre de los usuarios o a sí mismos. No es necesario completar los pasos de esta sección si solo desea autenticar a los usuarios.
Aplicación cliente nativa
Puede registrar clientes nativos para solicitar acceso a las API de la aplicación de contenedor en nombre de un usuario que ha iniciado sesión.
En Azure Portal, busque y seleccione Microsoft Entra ID.
En el panel Información general , seleccione Agregar>registro de aplicaciones.
En el panel Registrar una aplicación , escriba un nombre para el registro de la aplicación.
En URI de redirección, seleccione Cliente público (móvil y escritorio) y escriba la dirección URL
<app-url>/.auth/login/aad/callback. Por ejemplo,https://<hostname>.azurecontainerapps.io/.auth/login/aad/callback.Nota:
Para una aplicación de Microsoft Store, use en su lugar el valor de SID del paquete como URI.
Seleccione Registrar.
Una vez creado el registro de la aplicación, copie el valor de id. de aplicación (cliente).
En el panel izquierdo, en Administrar, seleccione Permisos de API. Seleccione Agregar un permiso>Mis API.
Seleccione el registro de aplicaciones que creó anteriormente para la aplicación de contenedor. Si no ve el registro de aplicaciones, asegúrese de agregar el ámbito de user_impersonation en Crear un registro de aplicación en Microsoft Entra ID para la aplicación contenedora.
En Permisos delegados, seleccione user_impersonation y luego seleccione Agregar permisos.
Aplicación cliente de demonio (llamadas de servicio a servicio)
La aplicación puede adquirir un token para llamar a una API web hospedada en la aplicación de contenedor en nombre propio (no en el nombre de un usuario). Este escenario es útil para las aplicaciones de demonio no interactivas que realizan tareas sin un usuario que ha iniciado sesión. Usa la concesión de credenciales del cliente OAuth 2.0 estándar.
- En Azure Portal, busque y seleccione Microsoft Entra ID.
- En el panel Información general, seleccione Agregar>registro de aplicaciones.
- En el panel Registrar una aplicación, escriba el nombre del registro de aplicaciones de demonio.
- En el caso de una aplicación daemónica, no necesita un URI de redirección, por lo que puede dejar el campo vacío.
- Seleccione Registrar.
- Una vez creado el registro de la aplicación, copie el valor de id. de aplicación (cliente).
- En el panel izquierdo, en Administrar, seleccione Certificados & secretos.
- En el panel Certificados y secretos , seleccione Nuevo secreto de cliente.
- Seleccione Agregar en el panel Agregar un secreto de cliente . Copie el valor del secreto de cliente que se muestra en la página. No se vuelve a mostrar.
Ahora puede solicitar un token de acceso mediante el Id. de cliente y el secreto de cliente estableciendo el parámetro resource con el URI del id. de aplicación de la aplicación de destino. A continuación, puede presentar el token de acceso resultante a la aplicación de destino mediante el encabezado de autorización estándar de OAuth 2.0. La autenticación y autorización de Container Apps valida y usa el token como de costumbre para indicar que el autor de la llamada (una aplicación en este caso, no un usuario) está autenticado.
Este proceso permite cualquier aplicación cliente en su entidad de Microsoft Entra solicitar un token de acceso y autenticarse a través de la aplicación de destino. Si también desea aplicar autorización para permitir solo determinadas aplicaciones cliente, debe ajustar la configuración.
- Defina un rol de aplicación en el manifiesto del registro de la aplicación que representa la aplicación contenedora que desea proteger.
- En el registro de aplicaciones que representa el cliente que debe autorizarse, seleccione Permisos> de APIAgregar un permiso.
- En el panel Solicitar permisos de API, seleccione Mis API.
- Seleccione el registro de aplicaciones que creó anteriormente. Si no encuentra el registro de la aplicación, asegúrese de agregar un rol de aplicación.
- En Permisos de aplicación, seleccione el rol de aplicación que creó anteriormente y, a continuación, seleccione Agregar permisos.
- Asegúrese de seleccionar Conceder consentimiento del administrador para autorizar a la aplicación cliente a solicitar permiso.
- Como en el escenario anterior (antes de agregar roles), ahora puede solicitar un token de acceso para el mismo destino
resource. El token de acceso incluye una declaraciónrolesque contiene los roles de la aplicación autorizados para la aplicación cliente. - En el código de Container Apps de destino, valide que los roles previstos ahora están presentes en el token. La capa de autenticación de Container Apps no realiza los pasos de validación. Para más información, consulte Acceso a las notificaciones de usuario.
Trabajar con usuarios autenticados
Consulte los siguientes recursos para obtener más información sobre cómo trabajar con usuarios autenticados.
- Personalización del inicio y cierre de sesión
- Acceder a los atributos de usuario en el código de la aplicación