Habilitación de la implementación controlada para AKS mediante la API del clúster administrado

En este artículo se muestra cómo configurar la implementación controlada para Azure Kubernetes Service (AKS) mediante la API del clúster administrado. También puede instalar el sensor Defender for Containers mediante Helm.

La implementación controlada usa un controlador de admisión para evaluar las imágenes de contenedor antes de que se admitan en un clúster de Kubernetes. Para AKS, el agente de despliegue controlado necesita acceso de lectura a los registros de contenedores de Azure (ACR) que utiliza el clúster para poder acceder a los artefactos de hallazgos de vulnerabilidades generados por Defender for Containers.

Antes de configurar la implementación con control de acceso mediante la API de clúster administrado, habilite los componentes necesarios de Defender for Containers para el clúster de AKS y las instancias de ACR.

Para proporcionar el acceso ACR necesario, cree una identidad administrada asignada por el usuario, asígnele permisos de lectura en las ACR pertinentes, configure las credenciales de identidad federada y haga referencia a la identidad administrada en la API del clúster administrado.

Prerequisites

Antes de comenzar, asegúrese de que:

  • Tiene una suscripción de Microsoft Azure. Si no tiene una suscripción de Azure, puede registrarse para obtener una suscripción gratuita.

  • Defender for Cloud está habilitado en la suscripción de Azure.

  • Defender for Containers está habilitado para la suscripción de Azure o las suscripciones de Azure que contienen su clúster de AKS y Azure Container Registry (ACR), con los siguientes componentes habilitados:

    • sensor Defender con control de seguridad
    • Acceso al Registro con hallazgos de seguridad

    Note

    La restricción de seguridad solo debe instalarse una vez. La primera vez que se habilite la opción de control de seguridad, instalará los controles de seguridad. Una vez hecho eso, el control de seguridad ya está instalado. Cuando la instalación se ejecuta de nuevo, el sistema lo detecta y no hace nada. Si intenta instalarlo de nuevo a través de la API, se produce un error porque ya existen restricciones de seguridad.

    Captura de pantalla que muestra que el control de seguridad está activado.

  • El clúster de AKS tiene:

  • Tiene permiso para crear y asignar una identidad administrada asignada por el usuario.

  • Tiene permisos para asignar el rol AcrPull o un rol equivalente de solo lectura, en todos los ACR que usa el clúster.

Configuración de la identidad administrada

Realiza los siguientes pasos para configurar la identidad gestionada para el despliegue con bloqueo:

  1. Cree una identidad de servicio administrada (MSI) para que la use el agente de implementación controlado.

  2. Asigne el rol AcrPull (o un rol de lectura equivalente) al MSI en todos los ACR que utilice el clúster.

  3. Agregue una credencial de identidad federada (FIC) al MSI que permita que el agente de implementación cerrado se autentique mediante la identidad de carga de trabajo de AKS, con los siguientes parámetros FIC:

    • Emisor: la dirección URL del emisor de OIDC de AKS
    • Asunto: la cuenta de servicio utilizada por el agente de implementación controladasystem:serviceaccount:kube-system:defender-admission-controller-serviceaccount.
    • Audiencia: api://AzureADTokenExchange
  4. En la sección securityGating de la configuración de la API del clúster administrado, establezca el objectId de MSI en el parámetro identities en la sección securityGating de la configuración de la API del clúster administrado.

    Captura de pantalla de la configuración de api de clúster administrado que muestra el parámetro identities en la sección de acceso de seguridad.

    Establecer el objectId del MSI en el parámetro identities garantiza que el agente de despliegue bloqueado pueda usar el MSI en tiempo de ejecución.

Paso siguiente