Conexión segura a los servicios y bases de datos de Azure desde Azure App Service

Es posible que el servicio de aplicaciones tenga que conectarse a otros servicios de Azure, como una base de datos, almacenamiento u otra aplicación. En esta introducción se recomiendan diferentes métodos para conectarse y cuándo usarlos.

Método de conexión Cuándo se deben usar
Conexión mediante la identidad de la aplicación * Quiere conectarse a un recurso sin un usuario autenticado presente o mediante la identidad de la aplicación.
* No es necesario administrar credenciales, claves ni secretos, ni las credenciales ni siquiera son accesibles para usted.
* Puede usar identidades administradas para administrar las credenciales.
* Se requiere una identidad de Microsoft Entra para acceder al recurso de Azure. Por ejemplo, servicios como Microsoft Graph o SDK de administración de Azure.
Conexión como usuario autenticado * Desea acceder a un recurso y realizar alguna acción como usuario que ha iniciado sesión.
Conexión mediante secretos * Necesita que los secretos se pasen a la aplicación como variables de entorno.
* Desea conectarse a servicios que no son de Azure, como GitHub, Twitter, Facebook o Google.
* El recurso de bajada no admite la autenticación de Microsoft Entra.
* El recurso de bajada requiere una cadena de conexión o una clave o un secreto de algún tipo.

Conexión mediante secretos

Hay dos maneras recomendadas de usar secretos en la aplicación: usar secretos almacenados en Azure Key Vault o secretos en la configuración de la aplicación de App Service.

Uso de secretos en la configuración de aplicaciones

Algunas aplicaciones acceden a secretos mediante variables de entorno. Tradicionalmente, la configuración de la aplicación de App Service se ha usado para almacenar cadenas de conexión, claves de API y otras variables de entorno. Estos secretos se insertan en el código de la aplicación como variables de entorno durante el inicio de la aplicación. La configuración de la aplicación siempre se cifra cuando se almacena (cifrado en reposo). Si también quiere directivas de acceso y historial de auditoría para los secretos, considere la posibilidad de colocarlas en Azure Key Vault y usar referencias de Key Vault en la configuración de la aplicación.

Ejemplos de uso de secretos de aplicación para conectarse a una base de datos:

Uso de secretos del almacén de claves

Azure Key Vault se puede usar para almacenar de forma segura secretos y claves, supervisar el acceso y el uso de secretos y simplificar la administración de secretos de aplicación. Si el servicio de bajada de la aplicación no admite la autenticación de Microsoft Entra o requiere una cadena de conexión o una clave, use Key Vault para almacenar los secretos y conectar la aplicación a Key Vault con una identidad administrada y recuperar los secretos.

Entre las ventajas de las identidades administradas integradas con Key Vault se incluyen:

  • El acceso al almacén de claves está restringido a la aplicación.
  • Los colaboradores de la aplicación, como los administradores, pueden tener un control completo de los recursos de App Service y, al mismo tiempo, no tienen acceso a los secretos de Key Vault.
  • Si el código de la aplicación ya tiene acceso a los secretos de conexión con la configuración de la aplicación, no se requiere ningún cambio en el código.
  • Key Vault proporciona supervisión y auditoría de quién ha accedido a los secretos.
  • La rotación de la información de conexión en Key Vault no requiere ningún cambio en App Service.

En la imagen siguiente se muestra la conexión de App Service a Key Vault mediante una identidad administrada y a continuación, el acceso a un servicio de Azure mediante secretos almacenados en i Key Vault:

Image showing app service using a secret stored in Key Vault and managed with Managed identity to connect to Azure AI services.

Conexión mediante la identidad de la aplicación

En algunos casos, la aplicación debe acceder a los datos en la identidad de la propia aplicación o sin que haya un usuario que haya iniciado sesión. Una identidad administrada de Microsoft Entra ID permite a App Service acceder a los recursos a través del control de acceso basado en rol (RBAC), sin necesidad de credenciales de aplicación. Una identidad administrada puede conectarse a cualquier recurso que admita la autenticación de Microsoft Entra. Después de asignar una identidad administrada a la aplicación web, Azure se encarga de la creación y distribución de un certificado. No tiene que preocuparse de administrar secretos ni credenciales de aplicaciones.

En la imagen siguiente se muestra una instancia de App Service que se conecta a otros servicios de Azure:

  • A: El usuario visita el sitio web de Azure App Service.
  • B: Conectarse de forma segura desde App Service a otro servicio Azure usando una identidad administrada.
  • C: Conéctese de forma segura desde App Servicea Microsoft Graph mediante una identidad administrada.

Diagram showing managed identity accessing a resource with or without the user's identity.

Conexión como usuario autenticado

En algunos casos, la aplicación debe conectarse a un recurso y realizar algunas acciones que solo puede hacer el usuario que ha iniciado sesión. Conceda permisos delegados a la aplicación para conectarse a los recursos mediante la identidad del usuario que ha iniciado sesión.

En la imagen siguiente se muestra una aplicación que accede de forma segura a una base de datos SQL en nombre del usuario que ha iniciado sesión.

Architecture diagram for tutorial scenario.

Algunos escenarios comunes son los siguientes:

Pasos siguientes

Obtenga información sobre cómo: