Habilitación de DevSecOps con Azure y GitHub
DevSecOps, a veces denominado Secure DevOps, se basa en los principios de DevOps, pero coloca la seguridad en el centro del ciclo de vida de toda la aplicación. Este concepto se denomina “seguridad de desplazamiento a la izquierda”: traslada la seguridad hacia arriba de una preocupación solo de producción para abarcar las primeras fases del planeamiento y el desarrollo. Todos los equipos e individuos que trabajan en una aplicación deben tener en cuenta la seguridad.
Microsoft y GitHub ofrecen soluciones para generar confianza en el código que se ejecuta en producción. Estas soluciones inspeccionan el código y permiten su trazabilidad hasta los elementos de trabajo y la información sobre los componentes de terceros que están en uso.
Protección del código con GitHub
Los desarrolladores pueden usar herramientas de examen de código que analicen de forma rápida y automática el código en un repositorio de GitHub para encontrar vulnerabilidades de seguridad y errores de programación.
Puede examinar código para buscar, evaluar y priorizar las correcciones de los problemas existentes en el código. El análisis de código también evita que los desarrolladores generen nuevos problemas. Puede programar los análisis para días y horas concretos, o bien desencadenarlos cuando se produzca un evento específico en el repositorio, como una inserción. También puede realizar el seguimiento de las dependencias del repositorio y recibir alertas de seguridad cuando GitHub detecte dependencias vulnerables.
- Análisis del código con CodeQL y el examen de tokens
- Administración de avisos de seguridad para los proyectos
- Protección de las dependencias del código con Dependabot
Seguimiento del trabajo con Azure Boards
Los equipos pueden usar el servicio web Azure Boards para administrar sus proyectos de software. Azure Boards ofrece un amplio conjunto de funcionalidades, como compatibilidad nativa con Scrum y Kanban, paneles personalizables e informes integrados.
Compilación e implementación de contenedores con Azure Pipelines
Integre clústeres de Azure Pipelines y Kubernetes con facilidad. Puede usar los mismos documentos de YAML para crear canalizaciones de varias fases como código para la integración continua y la entrega continua.
Azure Pipelines integra el seguimiento de los metadatos en las imágenes de contenedor, incluidos los hash de confirmación y los números de emisión de Azure Boards, lo que le permite inspeccionar las aplicaciones con confianza.
La capacidad de crear canalizaciones de implementación con archivos de YAML y almacenarlas en el control de código fuente ayuda a impulsar un bucle de comentarios más estrecho entre los equipos de desarrollo y operaciones que confían en documentos claros y legibles.
- Almacenamiento de imágenes de Docker en Azure Container Registry
- Creación de una imagen de Docker con Azure Pipelines
- Implementación en Kubernetes con rastreabilidad completa
- Protección de Azure Pipelines
Ejecución y depuración de contenedores con Bridge to Kubernetes
El desarrollo de una aplicación de Kubernetes puede ser complicado. Para ello, necesita archivos de configuración de Docker y Kubernetes. Además, debe averiguar cómo probar la aplicación localmente e interactuar con otros servicios dependientes. Es posible que deba desarrollar y probar varios servicios a la vez y con un equipo de desarrolladores.
Puente a Kubernetes le permite ejecutar y depurar el código en el equipo de desarrollo mientras sigue conectado al clúster de Kubernetes con el resto de aplicaciones o servicios. El código se puede probar de un extremo a otro, se pueden establecer puntos de interrupción en el código que se ejecuta en el clúster y compartir un clúster de desarrollo entre los miembros del equipo sin interferencias.
Exigencia de la seguridad del contenedor con Microsoft Defender para contenedores y Azure Policy
Microsoft Defender para contenedores es la solución nativa de nube para proteger sus contenedores.
- Introducción a Microsoft Defender para contenedores
- Descripción de Azure Policy para clústeres de Kubernetes (versión preliminar)
- Azure Kubernetes Service (AKS)
Administración de identidades y acceso con la plataforma de identidad de Microsoft
La plataforma de identidad de Microsoft es la evolución de la plataforma para desarrolladores de Azure Active Directory (Azure AD). Permite a los desarrolladores compilar aplicaciones que inicien sesión en todas las identidades de Microsoft, obtener tokens para llamar a las API de Microsoft, como Microsoft Graph, o a otras API que los desarrolladores hayan creado.
Azure AD B2C proporciona identidad de negocio a cliente como servicio. Los clientes usan las identidades de la cuenta de redes sociales, corporativa o local preferidas para acceder al inicio de sesión único para sus aplicaciones y API.
La administración de acceso de los recursos en la nube es una función esencial para cualquier organización que use la nube. El control de acceso basado en rol de Azure (RBAC de Azure) ayuda a administrar quién tiene acceso a los recursos de Azure, qué pueden hacer con esos recursos y a qué áreas pueden acceder.
Puede usar la plataforma de identidad de Microsoft para autenticarse con el resto de las herramientas de DevOps, incluida la compatibilidad nativa dentro de Azure DevOps e integraciones con GitHub Enterprise.
Actualmente, un clúster de Azure Kubernetes Service (AKS) (específicamente, el proveedor de nube Kubernetes) requiere una identidad para crear recursos adicionales, como equilibradores de carga y discos administrados en Azure. Esta identidad puede ser una identidad administrada o una entidad de servicio. Si usa una entidad de servicio, debe indicarla, o bien AKS la creará automáticamente. Si usa la identidad administrada, AKS creará una automáticamente. En el caso de los clústeres que usan entidades de servicio, la entidad de servicio debe renovarse finalmente para mantener el clúster en funcionamiento. La administración de entidades de servicio agrega complejidad, por lo que es más fácil usar identidades administradas. Se aplican los mismos requisitos de permisos tanto en las entidades de servicio como en las identidades administradas.
Las identidades administradas son básicamente un contenedor relacionado con las entidades de servicio y facilitan su administración.
Administración de claves y secretos con Azure Key Vault
Azure Key Vault se puede usar para almacenar de forma segura y controlar el acceso a tokens, contraseñas, certificados, claves de API y otros secretos. La centralización del almacenamiento de secretos de aplicación en Key Vault permite controlar su distribución. Key Vault reduce en gran medida las posibilidades de que se puedan filtrar por accidente los secretos. Cuando se usa Key Vault, los desarrolladores de aplicaciones ya no necesitan almacenar información de seguridad en su aplicación, lo que elimina la necesidad de hacer que esta información forme parte del código. Por ejemplo, puede que una aplicación necesite conectarse a una base de datos. En lugar de almacenar la cadena de conexión en el código de la aplicación, puede almacenarla de forma segura en Key Vault.
Supervisión de las aplicaciones
Con Azure Monitor, puede supervisar la aplicación y la infraestructura en tiempo real, lo que permite identificar problemas con el código, así como posibles actividades sospechosas y anomalías. Azure Monitor se integra con las canalizaciones de versión en Azure Pipelines para habilitar la aprobación automática de las validaciones de calidad o la reversión de la versión en función de los datos de supervisión.
Obtenga información sobre cómo supervisar las aplicaciones y la infraestructura con Azure Application Insights y Azure Monitor.
- Administración del rendimiento de las aplicaciones con Application Insights
- Supervisión de aplicaciones contenedorizadas con Azure Monitor
Creación de la arquitectura adecuada
La seguridad constituye uno de los aspectos más importantes de cualquier arquitectura. La seguridad proporciona garantías de confidencialidad, integridad y disponibilidad contra ataques deliberados y abuso de sus datos y sistemas valiosos. La pérdida de estas garantías puede afectar negativamente a las operaciones comerciales y los ingresos, así como a la reputación de su organización en Marketplace.