Compartir a través de


Autenticación de usuario de Azure confidential ledger con Microsoft Entra ID

La manera recomendada de acceder a Azure confidential ledger es mediante la autenticación en el servicio Microsoft Entra ID; esto garantiza que Azure confidential ledger nunca obtenga las credenciales de directorio de la entidad de seguridad de acceso.

Para ello, el cliente realiza un proceso de dos pasos:

  1. En el primer paso, el cliente:
    1. Se comunica con el servicio Microsoft Entra.
    2. Se autentica en el servicio Microsoft Entra.
    3. Solicita un token de acceso emitido específicamente para Azure Confidential Ledger.
  2. En el segundo paso, el cliente emite solicitudes a Azure Confidential Ledger, lo que proporciona el token de acceso adquirido en el primer paso como prueba de identidad en Azure Confidential Ledger.

Después, Azure confidential ledger ejecuta la solicitud en nombre de la entidad de seguridad para la que Microsoft Entra ID emitió el token de acceso. Todas las comprobaciones de autorización se realizan mediante esta identidad.

En la mayoría de los casos, la recomendación es usar uno de los SDK de Azure Confidential Ledger para acceder al servicio mediante programación, ya que eliminan gran parte de la molestia de implementar el flujo anterior (y mucho más). Consulte, por ejemplo, la biblioteca cliente de Python y la biblioteca cliente de .NET.

Los principales escenarios de autenticación son:

  • Una aplicación cliente que autentica a un usuario que ha iniciado sesión: en este escenario, una aplicación interactiva (cliente) desencadena una solicitud de Microsoft Entra al usuario para obtener las credenciales (como el nombre de usuario y la contraseña). Consulte autenticación del usuario.

  • Una aplicación "sin personificar": en este escenario, una aplicación se ejecuta sin ningún usuario presente para proporcionar credenciales. En su lugar, la aplicación se autentica como "sí misma" en Microsoft Entra ID con algunas credenciales con las que se ha configurado. Consulte autenticación de la aplicación.

  • Autenticación delegada. En este escenario, a veces denominado "servicio web" o "aplicación web", la aplicación obtiene un token de acceso de Microsoft Entra de otra aplicación y, a continuación, lo "convierte" en otro token de acceso de Microsoft Entra que se puede usar con Azure confidential ledger. Es decir, la aplicación actúa como mediador entre el usuario o la aplicación que proporcionó credenciales y el servicio Azure Confidential Ledger. Consulte Autenticación delegada.

Parámetros de Microsoft Entra

Recurso de Microsoft Entra para Azure confidential ledger

Al adquirir un token de acceso de Microsoft Entra ID, el cliente debe indicar a qué recurso de Microsoft Entra se debe emitir el token. El recurso de Microsoft Entra de un punto de conexión de Azure confidential ledger es el URI del punto de conexión, sin la información del puerto y la ruta de acceso.

Por ejemplo, si tuviera un Azure confidential ledger denominado "myACL", el URI sería:

https://myACL.confidential-ledger.azure.com

Identificador de inquilino de Microsoft Entra

Microsoft Entra ID es un servicio multiinquilino y cada organización puede crear un objeto denominado directorio en Microsoft Entra ID. El objeto de directorio contiene objetos relacionados con la seguridad, como cuentas de usuario, aplicaciones y grupos. Microsoft Entra ID suele hacer referencia al directorio como inquilino. Los inquilinos de Microsoft Entra se identifican mediante un GUID (identificador de inquilino). En muchos casos, los inquilinos de Microsoft Entra también se pueden identificar mediante el nombre de dominio de la organización.

Por ejemplo, una organización denominada "Contoso" podría tener el identificador de inquilino 4da81d62-e0a8-4899-adad-4349ca6bfe24 y el nombre de dominio contoso.com.

El punto de conexión de autoridad de Microsoft Entra

Microsoft Entra ID tiene muchos puntos de conexión para la autenticación:

  • Cuando se conoce el inquilino que hospeda la entidad de seguridad que se está autenticando (es decir, cuando uno sabe en qué directorio de Microsoft Entra se encuentran el usuario o la aplicación), el punto de conexión de Microsoft Entra es https://login.microsoftonline.com/{tenantId}. Aquí, {tenantId} es el identificador de inquilino de la organización en Microsoft Entra ID o su nombre de dominio (por ejemplo, contoso.com).
  • Cuando no se conoce el inquilino que hospeda la entidad de seguridad que se está autenticando, se puede usar el punto de conexión "común" reemplazando el {tenantId} anterior por el valor common.

El punto de conexión de servicio de Microsoft Entra usado para la autenticación también se denomina dirección URL de autoridad de Microsoft Entra o simplemente autoridad de Microsoft Entra.

Nota:

El punto de conexión de servicio de Microsoft Entra cambia en las nubes nacionales. Al trabajar con un servicio de Azure confidential ledger implementado en una nube nacional, establezca el punto de conexión de servicio de Microsoft Entra en la nube nacional correspondiente. Para cambiar el punto de conexión, establezca una variable de entorno AadAuthorityUri en el URI necesario.

Autenticación de usuarios

La manera más fácil de acceder a Azure Confidential Ledger con la autenticación de usuario es usar el SDK de Azure Confidential Ledger y establecer la Federated Authentication propiedad de la cadena de conexión de Azure Confidential Ledger en true. La primera vez que se usa el SDK para enviar una solicitud al servicio, se le presentará al usuario un formulario de inicio de sesión para escribir las credenciales de Microsoft Entra. Después de una autenticación correcta, la solicitud se enviará a Azure Confidential Ledger.

Las aplicaciones que no usan el SDK de Azure confidential ledger todavía pueden usar la Biblioteca de autenticación de Microsoft (MSAL) en lugar de implementar el cliente del protocolo de seguridad del servicio Microsoft Entra. Consulte Habilitación de aplicaciones web para iniciar la sesión de los usuarios y llamar a las API con la Plataforma de identidad de Microsoft para desarrolladores.

Si la aplicación está pensada para servir como front-end y autenticar a los usuarios para un clúster de Azure Confidential Ledger, la aplicación debe tener permisos delegados en Azure Confidential Ledger.

Autenticación de la aplicación

Las aplicaciones que utilizan Azure confidential ledger deben autenticarse con un token de Microsoft Entra ID. El propietario de la aplicación debe primero registrarla primero en Microsoft Entra ID. El registro también crea un segundo objeto de aplicación que identifica la aplicación en todos los inquilinos.

Para conocer los pasos detallados sobre cómo registrar una aplicación de Azure confidential ledger con Microsoft Entra ID, consulte estos artículos:

Al final del registro, el propietario de la aplicación obtiene los valores siguientes:

  • Un Id. de aplicación (también conocido como id. de cliente de Microsoft Entra o appID)
  • Clave de autenticación (también conocida como "secreto compartido")

Para obtener un token, la aplicación debe presentar estos dos valores a Microsoft Entra ID.

Los SDK de Azure Confidential Ledger usan la biblioteca cliente de Azure Identity, que permite una autenticación sin problemas en Azure Confidential Ledger entre entornos con el mismo código.

.NET Python Java JavaScript
SDK .NET de Azure Identity SDK Python de Azure Identity SDK Java de Azure Identity SDK JavaScript de Azure Identity

Autenticación delegada

En este escenario, una aplicación envió un token de acceso de Microsoft Entra para algún recurso arbitrario administrado por la aplicación y usa ese token para adquirir un nuevo token de acceso de Microsoft Entra para el recurso de Azure confidential ledger para que la aplicación pudiera acceder al confidential ledger en nombre de la entidad de seguridad indicada por el token de acceso de Microsoft Entra original.

Este flujo se denominaflujo de intercambio de tokens de OAuth2. Por lo general, requiere varios pasos de configuración con Microsoft Entra ID y, en algunos casos (en función de la configuración del inquilino de Microsoft Entra) puede requerir un consentimiento especial del administrador del inquilino de Microsoft Entra.

Pasos siguientes