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 proporcionan instrucciones sobre cómo proteger sus secretos y reducir el riesgo de acceso no autorizado. Siga estas instrucciones para asegurarse de que no almacena información confidencial, como las credenciales en el código, los repositorios de GitHub, los registros, las canalizaciones de integración continua o implementación continua (CI/CD), etc. La guía en este artículo está hecha a partir de recomendaciones de servicios individuales, así como de Microsoft Cloud Security Benchmark (MCSB).
En este artículo se alinea con el modelo de seguridad de microsoft Zero Trust, que requiere comprobación explícita, acceso con privilegios mínimos y la suposición de infracción. Para conocer los controles de seguridad prescriptivos con cumplimiento de Azure Policy, consulte Microsoft Cloud Security Benchmark v2 - Privileged Access y MCSB v2 - Data Protection.
Detección y prevención de secretos
Antes de poder proteger sus secretos, necesita saber dónde están y evitar que se expongan.
Realizar una auditoría para identificar secretos: realizar una auditoría exhaustiva de los sistemas y aplicaciones ayuda a identificar toda la información confidencial que necesita protección. Esto incluye contraseñas, claves de API, cadenas de conexión y otras credenciales. Las auditorías periódicas garantizan que los nuevos secretos se tengan en cuenta y los existentes se administren correctamente. Incluso los secretos creados dinámicamente, como los tokens de OAuth, que pueden ser temporales, deben protegerse con el mismo rigor que los secretos a largo plazo.
Evite codificar los secretos de forma rígida: la inserción de secretos directamente en el código o los archivos de configuración es un riesgo de seguridad significativo. Si el código base está en peligro, también lo estarán sus secretos. En su lugar, use variables de entorno o herramientas de administración de configuración que mantengan los secretos fuera de su código fuente. Esta práctica minimiza el riesgo de exposición accidental y simplifica el proceso de actualización de secretos. Además, integrar la recuperación de secretos en su canalización de implementación automatizada y utilizar patrones de inyección de secretos puede prevenir que los secretos se expongan accidentalmente en registros o control de versiones. Para obtener más información, consulte Recomendaciones para proteger los secretos de aplicación.
Implementar herramientas de análisis de secretos: examinar periódicamente el código base para secretos incrustados puede evitar la exposición accidental. Herramientas como Azure DevOps Credential Scanner y GitHub examen de secretos pueden detectar y alertar automáticamente a los secretos encontrados en los repositorios. Integrar estas herramientas en el pipeline de CI/CD garantiza la supervisión continua. Trate cualquier secreto encontrado por estas herramientas de análisis como comprometido, lo que significa que debe revocarse y reemplazarse inmediatamente para mantener la integridad de su posición de seguridad.
Almacenamiento seguro y cifrado
La protección de secretos requiere mecanismos de almacenamiento seguros y el cifrado adecuado en todas las fases.
Use almacenes de claves seguros: servicios como Azure Key Vault y Azure HSM administrado proporcionan características de seguridad sólidas, como el control de acceso, el registro y la rotación automática. Este enfoque centraliza la administración de los secretos y reduce el riesgo de accesos no autorizados. Para una mayor seguridad, especialmente para secretos altamente confidenciales o críticos, considere la posibilidad de cifrar el secreto con un almacén de claves en un modelo de seguridad de hardware (HSM), que ofrece una protección mejorada en comparación con los almacenes de secretos basados en software. Para obtener información general sobre todas las ofertas de administración de claves en Azure e instrucciones sobre las que elegir, consulte Administración de claves en Azure y Cómo elegir la solución de administración de claves adecuada.
Cifrar secretos en reposo y en tránsito: Azure Key Vault almacena secretos de forma segura utilizando cifrado envolvente, donde las Claves de Cifrado de Datos (DEKs) se cifran mediante Claves de Cifrado de Claves (KEKs), proporcionando una capa adicional de seguridad. Use protocolos de comunicación seguros como HTTPS para cifrar los datos en tránsito entre las aplicaciones y el almacén de claves. En Azure, el cifrado en reposo se implementa en varios servicios mediante el cifrado AES 256, mientras que los datos en tránsito se protegen mediante TLS y MACsec. Para más información, consulte Cifrado en reposo y en movimiento.
Implementación del aislamiento de red: configure firewalls y grupos de seguridad de red para restringir el acceso a las bóvedas de claves. Solo permita que las aplicaciones y servicios de confianza accedan a los secretos, minimizando la superficie expuesta a ataques y evitando el acceso no autorizado. Considere usar varios almacenes de claves para crear límites de aislamiento en distintos componentes, garantizando que, si hay un componente que se vea en peligro, no se pueda obtener el control sobre otros secretos ni sobre toda la carga de trabajo.
Control de acceso e identidad
La administración de quién y qué pueden acceder a los secretos es fundamental para mantener la seguridad.
Aprovechar identidades administradas: Identidades administradas en Azure proporcionan una manera segura para que las aplicaciones se autentiquen en los servicios de Azure sin almacenar credenciales en el código. Al habilitar identidades administradas para recursos de Azure, puede acceder de forma segura a Azure Key Vault y otros servicios, lo que reduce la necesidad de controlar los secretos manualmente. Este enfoque no solo minimiza la creación de secretos, sino que también reduce el área expuesta a posibles infracciones, ya que la responsabilidad de administrar las credenciales se delega a la plataforma.
Aplicar control de acceso pormenorizado: siga el principio de privilegios mínimos aplicando el control de acceso pormenorizado a los secretos. Use el control de acceso basado en rol de Azure (RBAC) para asegurar que solo las entidades autorizadas tengan acceso a los secretos específicos. Revise y actualice periódicamente los permisos de acceso para evitar accesos no autorizados. Implemente roles distintos como el usuario, el administrador y el auditor para administrar el acceso a los secretos, lo que garantiza que solo las identidades de confianza tengan el nivel de permiso adecuado. Consulte la guía Azure Key Vault RBAC.
Administración del ciclo de vida de secretos
Los secretos requieren administración continua a lo largo de su ciclo de vida, desde la creación hasta la retirada.
Rotar secretos con regularidad: los secretos son susceptibles a la fuga o exposición con el tiempo. La rotación periódica de los secretos reduce el riesgo de accesos no autorizados. Puede rotar secretos en Azure Key Vault para ciertos secretos; para aquellos que no se pueden rotar automáticamente, establezca un proceso de rotación manual y asegúrese de que se eliminen cuando ya no estén en uso. La automatización del proceso de rotación de secretos y la creación de redundancia en la administración de sus secretos puede garantizar que la rotación no interrumpa la disponibilidad del servicio. Implementar la lógica de reintento y los patrones de acceso simultáneos en el código pueden ayudar a minimizar los problemas durante la ventana de rotación.
Distribuir secretos de forma segura: al distribuir secretos, asegúrese de que se comparten de forma segura dentro y fuera de la organización. Use herramientas diseñadas para compartir de forma segura e incluya procedimientos de recuperación de secretos en sus planes de recuperación ante desastres. Si una clave está en peligro o se filtra, se debe volver a generar inmediatamente. Use claves distintas para cada consumidor en lugar de compartir claves, incluso si tienen patrones de acceso similares. Esta práctica simplifica la administración y revocación de claves, lo que garantiza que las claves en peligro se puedan revocar sin afectar a otros consumidores.
Supervisión y registro
La supervisión continua permite la detección de actividades sospechosas y apoya los requisitos de cumplimiento.
- Supervisar y registrar el acceso: habilite el registro y la supervisión para su sistema de gestión de secretos para rastrear el acceso y el uso. Utilice el registro de Key Vault y/o servicios como Azure Monitor y Azure Event Grid, para supervisar todas las actividades relacionadas con sus secretos. Esto proporciona visibilidad sobre quién ha accedido a los secretos y ayuda a detectar cualquier comportamiento sospechoso o posibles incidentes de seguridad. Mantener seguimientos detallados de auditoría es fundamental para inspeccionar y validar el acceso a secretos, lo que puede ayudar a evitar el robo de identidad, evitar el rechazo y reducir la exposición innecesaria.
Instrucciones específicas del servicio para el control de secretos
Los servicios individuales pueden tener procedimientos recomendados adicionales e instrucciones para proteger los secretos. Estos son algunos ejemplos:
- API Management: Usar valores con nombre en directivas de Azure API Management con integración con Key Vault
- App Service: Usar referencias del Key Vault para App Service y Azure Functions
- Application Gateway: Configurar una instancia de Application Gateway con terminación TLS mediante el portal de Azure
- Automation: Administrar credenciales en Azure Automation
- Azure App Configuration: Tutorial: usar referencias de Key Vault en una aplicación de ASP.NET Core
- Azure Bot Service: cifrado de Azure Bot Service para datos en reposo
- Azure Center for SAP solutions: Centro de Azure para soluciones SAP - Implementación - Preparar la red para la implementación
- Azure Communications Gateway: Crear y almacenar secretos
- servicio de comunicaciones de Azure: Crear y administrar tokens de acceso
- Azure Container Apps: Administrar secretos en Azure Container Apps
- Azure Cosmos DB: Configure claves administradas por el cliente para la cuenta de Azure Cosmos DB
- Azure Database for PostgreSQL: servidor flexible: Azure Database for PostgreSQL: cifrado de datos de servidor flexible con una clave administrada por el cliente
- Azure Databricks: Integración de Key Vault en Databricks
- Azure DevTest Labs: Enable identidades administradas asignadas por el usuario en máquinas virtuales de laboratorio en Azure DevTest Labs
- Azure Event Hubs: Configure claves administradas por el cliente para cifrar datos de Azure Event Hubs en reposo
- Azure Front Door: Azure Front Door Secrets
- Azure HDInsight on AKS: Requisitos previos de recursos - Crear Azure Key Vault
- Azure Information Protection: Detalles de soporte de Key Vault de Azure Information Protection
- Azure Kubernetes Service (AKS): CSI Secret Store
- Azure Managed Applications: Acceda al secreto de Key Vault al implementar Azure Managed Applications
- Azure OpenAI: Desarrollar aplicaciones de Foundry Tools con Key Vault
- Azure Pipelines: Protección de secretos en Azure Pipelines
- Azure Purview: Credenciales para la autenticación de fuente en Microsoft Purview
- Azure Service Bus: Integrar Service Bus con Service Connector
- Azure SignalR Service: Referencia de secreto de Key Vault en la configuración de la plantilla de URL
- Azure Spring Apps: Integrar Azure Key Vault con Service Connector
- Azure Stack Edge: Administrar secretos de Azure Stack Edge mediante Azure Key Vault
- Azure Stack Hub: secretos de Rotate
- Azure Web PubSub: Agregar un certificado personalizado
- Copia de seguridad: Configurar un almacén para cifrar mediante claves administradas por el cliente
- Cognitive Services: Develop Azure Cognitive Services applications with Key Vault
- Data Factory: Almacenar credenciales en Azure Key Vault
- ExpressRoute: Configurar el cifrado MACsec para ExpressRoute Direct.
- Funciones: Usar referencias de Key Vault para App Service y Azure Functions
- Key Vault: Acerca de los secretos de Azure Key Vault
- Logic Apps: Configuración de aplicaciones estándar de Logic Apps
- Machine Learning Service: Use los secretos de credenciales de autenticación en trabajos de Azure Machine Learning
- Service Fabric: compatibilidad con KeyVaultReference para aplicaciones de Service Fabric
- IaaS de SQL: Configurar la integración de Azure Key Vault para SQL Server en máquinas virtuales de Azure (Resource Manager)
- Almacenamiento: Administrar claves de cuenta de almacenamiento con Key Vault y el Azure CLI
Pasos siguientes
Minimizar el riesgo para la seguridad es una responsabilidad compartida. Debe tomar medidas proactivas para proteger sus cargas de trabajo. Obtenga más información sobre la responsabilidad compartida en la nube.
- Consulte Azure procedimientos recomendados y patrones de seguridad para obtener más procedimientos recomendados de seguridad que se deben usar al diseñar, implementar y administrar las soluciones en la nube mediante Azure.
- Revise los controles Microsoft Cloud Security Benchmark v2 - Privileged Access para obtener consejos completos sobre secretos y acceso privilegiado con asignaciones de Azure Policy.
- Obtenga información sobre microsoft Secure Future Initiative (SFI), los procedimientos recomendados de seguridad interna de Microsoft para proteger identidades y secretos que también se recomiendan a los clientes.
- Explore la implementación de Zero Trust para identidades para obtener instrucciones sobre la aplicación de los principios de Zero Trust para la gestión de identidades y accesos.