Prácticas recomendadas para implementar contraseñas y otros datos confidenciales en ASP.NET y Azure App Service
por Rick Anderson
Advertencia
- Nunca almacene contraseñas u otros datos confidenciales en el código fuente, incluidos los archivos de configuración.
- Nunca use secretos de producción en desarrollo y pruebas.
Se recomienda usar la opción de autenticación segura más segura. En el caso de los servicios de Azure, la autenticación más segura es identidades administradas. Para muchas aplicaciones, la opción más segura es usar Azure Key Vault.
Evite la concesión de credenciales de contraseña del propietario del recurso porque:
- Expone la contraseña del usuario al cliente.
- Es un riesgo de seguridad considerable.
- Solo se debe usar cuando no se puedan usar otros flujos de autenticación.
Las identidades administradas son una manera segura de autenticarse en los servicios sin necesidad de almacenar credenciales en el código, las variables de entorno o los archivos de configuración. Las identidades administradas están disponibles para los servicios de Azure y se pueden usar con Azure SQL, Azure Storage y otros servicios de Azure:
- Identidades administradas en Microsoft Entra para Azure SQL
- Identidades administradas para App Service y Azure Functions
- Flujos de autenticación seguros
Cuando la aplicación se implementa en un servidor de prueba, se puede utilizar una variable de entorno para establecer la cadena de conexión en un servidor de base de datos de prueba. Para obtener más información, vea Configuración. NUNCA se debe usar una variable de entorno para almacenar una cadena de conexión de producción.
Para más información, vea:
- Procedimientos recomendados para identidades administradas
- Conexión desde la aplicación a los recursos sin administrar credenciales en tu código
- Servicios de Azure que pueden usar identidades administradas para acceder a otros servicios
- Procedimiento recomendado actual de seguridad de IETF OAuth 2.0