Compartir a través de


Autenticación de aplicaciones .NET en servicios de Azure mediante la biblioteca de identidades de Azure

Las aplicaciones pueden usar la biblioteca de identidades de Azure para autenticarse en el identificador de Microsoft Entra, lo que permite que las aplicaciones accedan a los servicios y recursos de Azure. Este requisito de autenticación se aplica si la aplicación se implementa en Azure, se hospeda en el entorno local o se ejecuta localmente en una estación de trabajo para desarrolladores. En las secciones anteriores se describen los enfoques recomendados para autenticar una aplicación en el identificador de Microsoft Entra en distintos entornos al usar las bibliotecas cliente del SDK de Azure.

La autenticación basada en tokens a través de Microsoft Entra ID es el enfoque recomendado para autenticar aplicaciones en Azure, en lugar de usar cadenas de conexión o opciones basadas en claves. La biblioteca de identidades de Azure proporciona clases que admiten la autenticación basada en tokens y permiten que las aplicaciones se autentiquen en recursos de Azure tanto si la aplicación se ejecuta localmente, en Azure como en un servidor local.

Ventajas de la autenticación basadas en token

La autenticación basada en tokens ofrece las siguientes ventajas sobre las cadenas de conexión:

  • La autenticación basada en tokens garantiza que solo las aplicaciones específicas destinadas a acceder al recurso de Azure pueden hacerlo, mientras que cualquier persona o aplicación con una cadena de conexión pueden conectarse a un recurso de Azure.
  • La autenticación basada en tokens permite limitar aún más el acceso a los recursos de Azure solo a los permisos específicos necesarios para la aplicación. Este enfoque sigue el principio de privilegios mínimos. Por el contrario, una cadena de conexión concede derechos completos al recurso de Azure.
  • Al usar una identidad administrada para la autenticación basada en tokens, Azure controla las funciones administrativas automáticamente, por lo que no tiene que preocuparse por tareas como proteger o rotar secretos. Esto hace que la aplicación sea más segura porque no hay ninguna cadena de conexión o secreto de aplicación que pueda verse comprometido.
  • La biblioteca de identidades de Azure adquiere y administra los tokens de Microsoft Entra.

El uso de cadenas de conexión debe limitarse a escenarios en los que la autenticación basada en tokens no es una opción, aplicaciones de prueba de concepto iniciales o prototipos de desarrollo que no tienen acceso a datos confidenciales o de producción. Cuando sea posible, use las clases de autenticación basadas en tokens disponibles en la biblioteca de identidades de Azure para autenticarse en los recursos de Azure.

Autenticación en distintos entornos

El tipo específico de autenticación basada en tokens que una aplicación debe usar para autenticarse en los recursos de Azure depende de dónde se ejecute la aplicación. En el diagrama siguiente se proporcionan instrucciones para distintos escenarios y entornos:

Un diagrama mostrando las estrategias de autenticación basadas en tokens para una aplicación dependiendo de dónde se está ejecutando.

Cuando una aplicación:

  • Hospedado en Azure: la aplicación debe autenticarse en los recursos de Azure mediante una identidad administrada. Esta opción se describe con más detalle en autenticación en entornos de servidor.
  • Ejecución local durante el desarrollo: la aplicación puede autenticarse en Azure mediante una entidad de servicio de aplicación para el desarrollo local o mediante las credenciales de Azure del desarrollador. Cada opción se describe con más detalle en autenticación en el contexto del desarrollo local.
  • Hospedado localmente: la aplicación debe autenticarse en recursos de Azure mediante una entidad de servicio de aplicación o una identidad administrada en el caso de Azure Arc. Los flujos de trabajo locales se describen con más detalle en la autenticación en entornos de servidor.

Autenticación para aplicaciones hospedadas en Azure

Cuando la aplicación se hospeda en Azure, puede usar identidades administradas para autenticarse en recursos de Azure sin necesidad de administrar credenciales. Hay dos tipos de identidades administradas: asignadas por el usuario y asignadas por el sistema.

Uso de una identidad administrada asignada por el usuario

Las identidades administrada asignadas por el usuario se crean como recursos de Azure independientes. Se puede asignar a uno o varios recursos de Azure, lo que permite que esos recursos compartan la misma identidad y permisos. Para autenticarse mediante una identidad administrada asignada por el usuario, cree la identidad, asígnela al recurso de Azure y, a continuación, configure la aplicación para que use esta identidad para la autenticación especificando su identificador de cliente, identificador de recurso o identificador de objeto.

Usar una identidad administrada asignada por el sistema

Una identidad administrada asignada por el sistema se habilita directamente en un recurso de Azure. La identidad está vinculada al ciclo de vida de ese recurso y se elimina automáticamente cuando se elimina el recurso. Para autenticarse mediante una identidad administrada asignada por el sistema, habilite la identidad en el recurso de Azure y configure la aplicación para que use esta identidad para la autenticación.

Autenticación durante el desarrollo local

Durante el desarrollo local, puede autenticarse en los recursos de Azure mediante las credenciales de desarrollador o una entidad de servicio. Esto le permite probar la lógica de autenticación de la aplicación sin implementarla en Azure.

Uso de credenciales de desarrollador

Puede usar sus propias credenciales de Azure para autenticarse en los recursos de Azure durante el desarrollo local. Normalmente, esto se hace mediante una herramienta de desarrollo, como la CLI de Azure o Visual Studio, que puede proporcionar a la aplicación los tokens necesarios para acceder a los servicios de Azure. Este método es cómodo, pero solo debe usarse con fines de desarrollo.

Uso de una entidad de servicio

Una entidad de servicio se crea en un inquilino de Microsoft Entra para representar una aplicación y se puede usar para autenticarse en los recursos de Azure. Puede configurar su aplicación para usar credenciales de entidad de servicio durante el desarrollo local. Este método es más seguro que usar credenciales de desarrollador y está más cerca de cómo se autenticará la aplicación en producción. Sin embargo, sigue siendo menos ideal que usar una identidad administrada debido a la necesidad de secretos.

Autenticación para aplicaciones hospedadas en el entorno local

En el caso de las aplicaciones hospedadas en el entorno local, puede usar una entidad de servicio para autenticarse en los recursos de Azure. Esto implica crear una entidad de servicio en microsoft Entra ID, asignarle los permisos necesarios y configurar la aplicación para que use sus credenciales. Este método permite que la aplicación local acceda de forma segura a los servicios de Azure.