Key Vault Secrets: Integración con Azure Arc

Compartir esta publicación

Mantener la privacidad y garantizar un acceso seguro a los recursos críticos es una tarea fundamental para los equipos de TI en los entornos híbridos y de múltiples nubes actuales Azure Arc permite a las organizaciones ampliar la funcionalidad y las capacidades de seguridad de Azure en las instalaciones y en la nube. La integración de Azure Key Vault Secrets con Azure Arc ayuda a las organizaciones a gestionar de forma segura los secretos y a ofrecer soluciones sólidas para despliegues de nube híbrida.

En este artículo examinaremos los aspectos técnicos de la integración de Key Vault Secrets con Azure Arc. Discutiremos los procesos de diseño y configuración, exploraremos varios casos de uso y destacaremos los beneficios de usar estas herramientas juntas. Por último, proporcionaremos un análisis de las mejores prácticas y abordaremos las limitaciones potenciales de esta integración.

¿Qué es Azure Arc?

Azure Arc es una solución de despliegue de Microsoft que permite a las organizaciones exponer sus recursos on-premise y multi-cloud a Azure, proporcionando un plano de control centralizado para la gestión Azure Arc soporta Kubernetes, SQL Server y servicios de máquinas virtuales en plataformas como Amazon Web Services (AWS) y Google Snake. Permite a los equipos de TI desplegar servicios Azure, gobernanza y herramientas de seguridad en entornos dispares, ofreciendo una mayor fiabilidad y productividad.

¿Qué hace Azure Arc?

Principales funciones de Azure Arc

  1. Gestión unificada en todos los entornos: Azure Arc te permite llevar recursos como servidores, clústeres Kubernetes y bases de datos al entorno de gestión de Azure. Esto significa que puedes supervisar, proteger y gestionar estos recursos del mismo modo que lo harías con los recursos alojados directamente en Azure.
  2. Seguridad y cumplimiento híbridos y multi-nube: Azure Arc permite a las organizaciones aplicar políticas y configuraciones de seguridad coherentes en todos los entornos. Ofrece funciones como Azure Policy y Azure Security Center, que pueden aplicarse a los recursos habilitados para Arc, lo que ayuda a mantener las normas de cumplimiento y las posturas de seguridad de manera uniforme.
  3. Servicios Azure en cualquier lugar: A través de Azure Arc, puedes implementar y ejecutar servicios de Azure como Azure SQL Managed Instance y Azure App Services en las instalaciones o en otras nubes. Esto es particularmente beneficioso para las organizaciones que buscan mantener ciertas cargas de trabajo cerca de sus datos o clientes o para escenarios con estrictos requisitos de residencia de datos.
  4. DevOps y gobernanza automatizados: Azure Arc proporciona una gestión centralizada para los pipelines CI/CD, permitiendo a los equipos DevOps desplegar aplicaciones en múltiples entornos a través de un único proceso. Con GitOps para Kubernetes, por ejemplo, Azure Arc simplifica el despliegue continuo en clústeres Kubernetes híbridos y multicloud.
  5. Amplía los servicios de datos de Azure: En el caso de las bases de datos, Azure Arc permite ejecutar Azure SQL Managed Instance y PostgreSQL Hyperscale en las instalaciones o en cualquier nube, beneficiándose de las actualizaciones automatizadas, el escalado y los servicios de gestión de datos de Azure.

¿Qué es Azure Arc Agent?

Azure Arc Agent es una pieza de software que se utiliza para instalar recursos fuera de Azure (como servidores locales, máquinas virtuales o clústeres Kubernetes en otras nubes) para que Azure Arc pueda gestionarlos Si Azure Arc Agent se instala. Una vez dentro, los productos que se lanzan en Azure Se pueden gestionar como productos nativos de Azure, utilizando herramientas y servicios de Azure como Azure Schedule, Azure Monitor y Azure Security Center.

  Framework Next JS

Tipos de agentes Azure Arc

Azure Arc dispone de diferentes agentes en función del tipo de recurso:

Azure Connected Machine Agent (para servidores): Este agente se instala en servidores Windows y Linux fuera de Azure, lo que permite representarlos como recursos Azure. Con este agente, puedes aplicar directivas de Azure, supervisar el servidor y utilizar funciones de seguridad y cumplimiento de normativas para servidores locales o de varias nubes como lo harías con las máquinas virtuales de Azure.

Agente Azure Arc Kubernetes (para clústeres Kubernetes): Este agente conecta clústeres Kubernetes externos (como los que se ejecutan en las instalaciones, AWS o Google Cloud) a Azure. Permite gestionar estos clústeres desde Azure, aplicando políticas, configurando la seguridad y utilizando herramientas como Azure Monitor y Azure Security Center para Kubernetes.

Data Controller (para servicios de datos habilitados para Azure Arc): Cuando se utiliza Azure Arc para gestionar bases de datos (como Azure SQL Managed Instance o PostgreSQL Hyperscale) fuera de Azure, el Data Controller actúa como el agente que facilita la conexión y gestiona el despliegue, la supervisión, el escalado y las actualizaciones de los servicios de datos de Azure en las instalaciones o en otras nubes.

¿Cómo funciona Azure Arc Agent?

  1. Instalación del Agente: El Azure Arc Agent se instala en un servidor de destino, VM o clúster Kubernetes, estableciendo una conexión segura con Azure.
  2. Autenticación y conexión: Una vez conectado, el agente utiliza la gestión de identidades y accesos de Azure para autenticarse, lo que permite un acceso seguro y basado en roles.
  3. Proyección a Azure: El recurso se proyecta en el plano de control de Azure, donde se trata como un recurso de Azure.

Gestión continua: Los servicios de Azure, como la aplicación de políticas, la supervisión y la seguridad, pueden aplicarse entonces al recurso, manteniéndolo bajo la gestión unificada de Azure.

¿Qué es Azure Key Vault Secret?

Azure Key Vault es un servicio en la nube que proporciona almacenamiento y gestión seguros de información confidencial, como claves de API, contraseñas y certificados. Azure Key Vault Secret tiene una función integrada que permite a los usuarios almacenar y proteger información confidencial en distintas ubicaciones.

Key Vault Secrets admite sólidas funciones de cifrado, acceso y auditoría y permite a las organizaciones almacenar y gestionar secretos para garantizar el cumplimiento de las normas de seguridad. La integración de Azure Key Vault Secrets con Azure Arc proporciona una solución para la gestión centralizada y segura de secretos en sistemas híbridos y multicloud.

¿Por qué integrar Key Vault Secrets con Azure Arc?

La integración de Azure Key Vault Secrets con Azure Arc puede resolver varios retos operativos y de seguridad en una configuración híbrida o multicloud, como:

  1. Gestión centralizada: Azure Key Vault permite el almacenamiento centralizado y el control de acceso de secretos en diferentes entornos, reduciendo el riesgo de la gestión de secretos distribuidos.
  2. Seguridad mejorada: Al aprovechar los controles de seguridad de Azure, Azure Key Vault protege los secretos con un cifrado sólido y estrictos controles de acceso, lo que permite a las organizaciones mantener los estándares de seguridad en todos los entornos.
  3. Escalabilidad: La integración de Azure Key Vault con Azure Arc permite a las organizaciones a gran escala escalar su gestión de secretos a través de infraestructuras globales distribuidas sin comprometer la seguridad ni incurrir en costes de gestión excesivos.
  Buscando el mejor proceso de selección posible

Cumplimiento simplificado: El uso de Azure Key Vault en un entorno híbrido garantiza el cumplimiento de las normas de seguridad y auditoría, mientras que Azure Arc proporciona visibilidad y control en diversas infraestructuras.

Integración técnica de Key Vault Secrets con Azure Arc

La integración de Key Vault Secrets con Azure Arc implica configurar el acceso a Key Vault dentro de un clúster Kubernetes habilitado para Arc, lo que permite que las cargas de trabajo que se ejecutan en recursos habilitados para Arc recuperen secretos de Key Vault.

Prerrequisitos

  • Una suscripción Azure con permiso para crear y gestionar recursos.
  • Clúster Kubernetes habilitado para Azure Arc con una versión de Kubernetes compatible.
  • Una instancia de Azure Key Vault con Key Vault Secrets habilitado.

Paso 1: Configurar políticas de acceso a Key Vault

Para permitir que Azure Arc acceda a Key Vault, configura las políticas de acceso:

  1. Ve a la instancia de Azure Key Vault en el portal de Azure.
  2. En Políticas de acceso, añade una nueva política que permita el acceso a los secretos.
  3. Concede permisos Get y List de secretos a la entidad principal de servicio o identidad gestionada necesaria asociada a Azure Arc.

Paso 2: Configurar una identidad para Kubernetes habilitados para Arc

Azure Arc utiliza identidades gestionadas para autenticar y acceder a los recursos de Azure de forma segura:

  1. Crea una identidad gestionada para el clúster de Kubernetes habilitado para Azure Arc.
  2. Asigna a la identidad gestionada los permisos adecuados en Key Vault para acceder a los secretos.
  3. Configura el clúster Kubernetes para utilizar la identidad gestionada con Azure Arc.

Paso 3: Implanta el controlador Azure Key Vault Provider for Secrets Store CSI

El controlador CSI del almacén de secretos permite la recuperación directa de los secretos de Key Vault por parte de las cargas de trabajo que se ejecutan en el clúster de Kubernetes:

  1. Instala el controlador Azure Key Vault Provider for Secrets Store CSI en su clúster Kubernetes habilitado para Arc. Este proveedor permite que las cargas de trabajo de Kubernetes recuperen secretos directamente de Key Vault.
bash

kubectl apply -f https://raw.githubusercontent.com/Azure/secrets-store-csi-driver-provider-azure/master/deployment/install-azure-provider.yaml

2. Configura el controlador para utilizar la identidad gestionada asociada al clúster habilitado para Arc.

Paso 4: Vincula secretos de Key Vault a pods de Kubernetes

Después de configurar el controlador CSI, puedes definir los secretos que se recuperarán de Key Vault:

  1. Define una SecretProviderClass en Kubernetes para especificar los secretos de Key Vault que deben estar disponibles para pods específicos:
yaml

apiVersion: secrets-store.csi.x-k8s.io/v1alpha1
kind: SecretProviderClass
metadata:
  name: azure-kvname
spec:
  provider: azure
  parameters:
    usePodIdentity: "false"
    keyvaultName: "your-keyvault-name"
    cloudName: ""  # Azure cloud name, leave blank for public cloud
    objects: |
      array:
        - |
          objectName: your-secret-name
          objectType: secret        # options: secret, key, or certificate
          objectVersion: ""         # leave empty for latest version
    tenantId: "your-tenant-id"

2. Haz referencia a esta SecretProviderClass en la configuración de despliegue de Kubernetes para cualquier pod que requiera estos secretos.

  De la POO a la FP por Joaquin Azcarate - desarrollador backend en Apiumhub en Software Crafters Barcelona

3. Despliega el pod, que montará los secretos de Key Vault en la ubicación especificada, permitiendo que la aplicación acceda a ellos de forma segura.

Casos de uso clave para la integración de la carga de trabajo de Kubernetes y Azure Arc mediante Azure Key Vault

1. Gestión de secretos en varias nubes

Las organizaciones con recursos en varias nubes pueden utilizar Azure Arc para realizar copias de seguridad de estos recursos en Azure y gestionar la confidencialidad en una instancia centralizada de Key Vault. Esto mitiga los riesgos de seguridad asociados a la gestión de secretos dispersos y garantiza el cumplimiento en la nube.

2. Seguridad coherente en entornos híbridos

Para las organizaciones con recursos locales y basados en la nube, la integración de Kubernetes Workload con Azure Arc permite estandarizar la infraestructura de seguridad y agilizar la implantación. Esto es especialmente valioso para trabajos delicados que requieren control de acceso y técnicas computacionales sólidas.

3. Agilización de DevOps en Kubernetes

Los clústeres de Kubernetes habilitados para Azure Arc pueden acceder directamente a Key Vault Secrets, lo que proporciona una gestión de secretos segura y escalable dentro de la canalización de DevOps. Esto elimina la necesidad de configurar manualmente la privacidad y garantiza que los secretos permanezcan actualizados.

Retos y limitaciones

  1. Limitaciones de las identidades gestionadas: Aunque las identidades gestionadas simplifican la autenticación, pueden añadir complejidad cuando se trabaja con varios inquilinos o suscripciones de Azure.
  2. Dependencia de la conectividad a Internet: Azure Arc requiere conectividad a Azure. Para entornos totalmente desconectados, pueden ser necesarias configuraciones adicionales o soluciones alternativas.

Posibles sobrecargas en la configuración: La configuración del controlador CSI del almacén de secretos y la gestión de identidades requieren conocimientos tanto de Kubernetes como de Azure, lo que puede suponer un reto para los equipos que no cuenten con una amplia experiencia en Azure.

Conclusión

La integración de Azure Key Vault Secrets con Azure Arc proporciona una solución segura, escalable y centralizada para la gestión de secretos en entornos multi-nube e híbridos al permitir prácticas de seguridad consistentes en múltiples infraestructuras, las organizaciones pueden reducir los riesgos de seguridad, garantizar el cumplimiento y aumentar la productividad. Key Vault y Azure Arch trabajan juntos a la perfección para proporcionar un entorno robusto para despliegues de nube híbrida, proporcionando un plano de gestión unificado con la flexibilidad y el control necesarios para despliegues de nivel empresarial

A pesar de algunos desafíos, la combinación de Kubernetes Workload y Azure Arc utilizando Azure Key Vault Secrets sigue siendo un activo para las organizaciones que buscan agilizar y optimizar sus procesos de gestión de la privacidad en todos los sectores. Con un diseño bien pensado y las mejores prácticas, las empresas pueden maximizar los beneficios de Azure Arc y Key Vault para implementaciones modernas de nube híbrida.

Author

  • IleanaDiaz

    I am a Computer Engineer by training, with more than 20 years of experience working in the IT sector, specifically in the entire life cycle of a software, acquired in national and multinational companies, from different sectors.

    Ver todas las entradas

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Suscríbete a nuestro boletín de noticias

Recibe actualizaciones de los últimos descubrimientos tecnológicos

¿Tienes un proyecto desafiante?

Podemos trabajar juntos

apiumhub software development projects barcelona
Secured By miniOrange