Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
262 lines (166 sloc) 15.8 KB
title description ms.date ms.topic ms.openlocfilehash ms.sourcegitcommit ms.translationtype ms.contentlocale ms.lasthandoff ms.locfileid
Más información sobre Azure Policy para Azure Kubernetes Service
Obtenga información sobre cómo Azure Policy usa Rego y el agente de directivas público para administrar clústeres en Azure Kubernetes Service.
11/04/2019
conceptual
9a4dd6bbc71c66c3ff37200ed57859b309909ae9
f4f626d6e92174086c530ed9bf3ccbe058639081
HT
es-ES
12/25/2019
75436389

Cómo usar Azure Policy para Azure Kubernetes Service

La integración de Azure Policy con Azure Kubernetes Service (AKS) permite a los usuarios aplicar medidas de protección a escala para clústeres de un modo centralizado y coherente. Al extender el uso de Gatekeeper v2, un webhook de controlador de admisión para Open Policy Agent (OPA), Azure Policy le permite administrar e informar sobre el estado de cumplimiento de sus recursos de Azure y clústeres de AKS desde un solo lugar.

[!NOTE] Azure Policy para AKS está en su versión preliminar limitada y solo admite definiciones de directivas integradas.

Información general

Para habilitar y usar la Azure Policy para AKS con su clúster de AKS, realice las siguientes acciones:

Participar en la versión preliminar

Antes de instalar el complemento de Azure Policy o habilitar cualquiera de las características del servicio, su suscripción debe tener habilitados el proveedor de recursos Microsoft.ContainerService y el proveedor de recursos Microsoft.PolicyInsights; a continuación, debe ser aprobado para unirse a la versión preliminar. Para unirse a la versión preliminar, siga estos pasos en Azure Portal o con la CLI de Azure:

  • Azure Portal:

    1. Registre los proveedores de recursos Microsoft.ContainerService y Microsoft.PolicyInsights. Para conocer los pasos, consulte Proveedores de recursos y sus tipos.

    2. Inicie el servicio Azure Policy en Azure Portal. Para ello, haga clic en Todos los servicios y, a continuación, busque y seleccione Directiva.

      Búsqueda de la directiva en todos los servicios

    3. Seleccione Join Preview (Unirse a la versión preliminar) en el lado izquierdo de la página Azure Policy.

      Unirse a la directiva de la versión preliminar de AKS

    4. Seleccione la fila de la suscripción que quiera agregar a la versión preliminar.

    5. Seleccione el botón Opt-in (Participar) en la parte superior de la lista de suscripciones.

  • CLI de Azure:

    # Log in first with az login if you're not using Cloud Shell
    
    # Provider register: Register the Azure Kubernetes Services provider
    az provider register --namespace Microsoft.ContainerService
    
    # Provider register: Register the Azure Policy provider
    az provider register --namespace Microsoft.PolicyInsights
    
    # Feature register: enables installing the add-on
    az feature register --namespace Microsoft.ContainerService --name AKS-AzurePolicyAutoApprove
    
    # Use the following to confirm the feature has registered
    az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/AKS-AzurePolicyAutoApprove')].{Name:name,State:properties.state}"
    
    # Once the above shows 'Registered' run the following to propagate the update
    az provider register -n Microsoft.ContainerService
    
    # Feature register: enables the add-on to call the Azure Policy resource provider
    az feature register --namespace Microsoft.PolicyInsights --name AKS-DataplaneAutoApprove
    
    # Use the following to confirm the feature has registered
    az feature list -o table --query "[?contains(name, 'Microsoft.PolicyInsights/AKS-DataPlaneAutoApprove')].{Name:name,State:properties.state}"
    
    # Once the above shows 'Registered' run the following to propagate the update
    az provider register -n Microsoft.PolicyInsights
    
    

Complemento de Azure Policy

El complemento de Azure Policy para Kubernetes conecta el servicio de Azure Policy al controlador de admisión de Gatekeeper. El complemento, que se instala en el espacio de nombres azure-policy, ejecuta las siguientes funciones:

  • Comprueba con Azure Policy las asignaciones al clúster de AKS.
  • Descarga y almacena en la caché los detalles de la directiva, incluyendo la definición de la directiva rego, como configmaps.
  • Ejecuta una comprobación de cumplimiento de examen completo en el clúster de AKS.
  • Realiza informes de auditoría y cumplimiento de los detalles de Azure Policy.

Instalación del complemento

Prerequisites

Antes de instalar el complemento en su clúster de AKS, debe instalar la extensión de la versión preliminar. Este paso se realiza con la CLI de Azure:

  1. Es preciso que esté instalada y configurada la versión 2.0.62 de la CLI de Azure, o cualquier otra versión posterior. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, consulte Instalación de la CLI de Azure.

  2. Se debe usar la versión del clúster de AKS 1.10 o superior. Use el siguiente script para validar la versión del clúster de AKS:

    # Log in first with az login if you're not using Cloud Shell
    
    # Look for the value in kubernetesVersion
    az aks list
    
  3. Instale la versión 0.4.0 de la extensión de la versión preliminar de la CLI de Azure para AKS, aks-preview:

    # Log in first with az login if you're not using Cloud Shell
    
    # Install/update the preview extension
    az extension add --name aks-preview
    
    # Validate the version of the preview extension
    az extension show --name aks-preview --query [version]
    

    [!NOTE] Si ha instalado anteriormente la extensión aks-preview, instale todas las actualizaciones con el comando az extension update --name aks-preview.

Pasos de instalación

Una vez completados los requisitos previos, instale el complemento de Azure Policy en el clúster de AKS que quiera administrar.

  • Portal de Azure

    1. Inicie el servicio AKS en Azure Portal haciendo clic en Todos los servicios; a continuación, busque y seleccione Servicios de Kubernetes.

    2. Seleccione uno de sus clústeres de AKS.

    3. Seleccione Policies (preview) (Directivas [versión preliminar]) en el lado izquierdo de la página de servicio de Kubernetes.

      Directivas del clúster de AKS

    4. En la página principal, seleccione el botón Enable add-on (Habilitar complemento).

      Habilitar la directiva de Azure para el complemento de AKS

      [!NOTE] Si el botón Enable add-on (Habilitar complemento) está en gris, es que la suscripción aún no se ha agregado a la versión preliminar. Consulte Opt-in for preview (Participar en la versión preliminar) para ver los pasos necesarios.

  • Azure CLI

    # Log in first with az login if you're not using Cloud Shell
    
    az aks enable-addons --addons azure-policy --name MyAKSCluster --resource-group MyResourceGroup
    

Validación y frecuencia de los informes

El complemento se registra con Azure Policy para detectar cambios en las asignaciones de directivas cada 5 minutos. Durante este ciclo de actualización, el complemento quita todos los elementos configmaps en el espacio de nombres azure-policy y, a continuación, vuelve a crear el elemento configmaps para uso de Gatekeeper.

[!NOTE] Si bien un administrador de clúster puede tener permiso para el espacio de nombres azure-policy, no se recomienda realizar cambios en el espacio de nombres, puesto que no se admitirán. Cualquier cambio manual realizado se pierde durante el ciclo de actualización.

Cada 5 minutos, el complemento solicita un examen completo del clúster. Después de recopilar los detalles del examen completo y las evaluaciones en tiempo real que realiza Gatekeeper sobre los intentos de cambios en el clúster, el complemento proporciona los resultados a Azure Policy para los agregue en los detalles de cumplimiento como cualquier otra asignación de Azure Policy. Solo los resultados de las asignaciones de directivas activas se devuelven durante el ciclo de auditoría.

Idioma de directiva

La estructura del lenguaje de Azure Policy para administrar AKS sigue el camino de las directivas existentes. El efecto EnforceRegoPolicy se usa para administrar los clústeres de AKS y recopila propiedades de detalles específicas para trabajar con Gatekeeper v2. Para obtener detalles y ejemplos, consulte el efecto EnforceRegoPolicy.

Como parte de la propiedad details.policy en la definición de la directiva, Azure Policy pasa el URI de una directiva rego al complemento. Rego es el lenguaje que OPA y Gatekeeper admiten para validar o mutar una solicitud al clúster de Kubernetes. Al admitir un estándar existente para la administración de Kubernetes, Azure Policy le permite reutilizar las reglas existentes y vincularlas con Azure Policy para obtener una experiencia de informes de cumplimiento unificada en la nube. Para obtener más información, consulte ¿Qué es Rego?

Directivas integradas

Para encontrar las directivas integradas para administrar AKS mediante Azure Portal, siga estos pasos:

  1. Inicie el servicio Azure Policy en Azure Portal. Seleccione All services (Todos los servicios) en el panel izquierdo y busque y seleccione la opción Policy (Directiva).

  2. En el panel izquierdo de la página de Azure Policy, seleccione Definitions (Definiciones).

  3. En el cuadro de lista desplegable Category (Categoría), use Select all (Seleccionar todo) para borrar el filtro y seleccione Kubernetes service (Servicio Kubernetes).

  4. Seleccione la definición de directiva y pulse el botón Assign (Asignar).

[!NOTE] Al asignar Azure Policy para la definición de AKS, el Ámbito debe incluir el recurso de clúster de AKS.

Alternativamente, use la opción de inicio rápido Assign a policy - Portal (Asignar una directiva - Portal) para encontrar y asignar una directiva de AKS. Busque una definición de directiva de Kubernetes en lugar del ejemplo "audit vms".

[!IMPORTANT] Las directivas integradas en el servicio de Kubernetes de la categoría solo se usan con AKS.

Registro

Registros del complemento de Azure Policy

Como controlador o contenedor de Kubernetes, el complemento de Azure Policy mantiene registros en el clúster de AKS. Los registros se exponen en la página Insights (Detalles) del clúster AKS. Para obtener más información, consulte Comprender el rendimiento del clúster de AKS con Azure Monitor para contenedores.

Registros de Gatekeeper

Para habilitar los registros de Gatekeeper para nuevas solicitudes de recursos, siga los pasos en Habilitación y revisión de los registros del nodo maestro de Kubernetes en Azure Kubernetes Service (AKS). Esta es una consulta de ejemplo para ver los eventos denegados en nuevas solicitudes de recursos:

| where Category == "kube-audit"
| where log_s contains "admission webhook"
| limit 100

Para ver los registros de los contenedores de Gatekeeper, siga los pasos de Habilitación y revisión de los registros del nodo maestro de Kubernetes en Azure Kubernetes Service (AKS) y active la opción kube-apiserver en el panel Diagnostic settings (Configuración de diagnóstico).

Eliminar el complemento

Para eliminar el complemento de Azure Policy del clúster de AKS, use Azure Portal o la CLI de Azure:

  • Portal de Azure

    1. Inicie el servicio AKS en Azure Portal haciendo clic en Todos los servicios; a continuación, busque y seleccione Servicios de Kubernetes.

    2. Seleccione el clúster de AKS en el que quiera deshabilitar el complemento de Azure Policy.

    3. Seleccione Policies (preview) (Directivas [versión preliminar]) en el lado izquierdo de la página de servicio de Kubernetes.

      Directivas del clúster de AKS

    4. En la página principal, pulse Disable add-on (Deshabilitar complemento).

      Deshabilitar Azure Policy para el complemento de AKS

  • Azure CLI

    # Log in first with az login if you're not using Cloud Shell
    
    az aks disable-addons --addons azure-policy --name MyAKSCluster --resource-group MyResourceGroup
    

Datos de diagnóstico recopilados por el complemento de Azure Policy

El complemento de Azure Policy para Kubernetes recopila datos de diagnóstico de clúster limitados. Estos datos de diagnóstico son datos técnicos esenciales relacionados con el software y el rendimiento. Se utiliza para lo siguiente:

  • Mantener actualizado el complemento de Azure Policy
  • Mantener la seguridad, la confiabilidad y el rendimiento del complemento de Azure Policy
  • Mejorar el complemento de Azure Policy mediante el análisis agregado del uso del complemento

La información recopilada por el complemento no son datos personales. Actualmente se recopilan los detalles siguientes:

  • Versión del agente del complemento de Azure Policy
  • Tipo de clúster
  • Región del clúster
  • Grupo de recursos del clúster
  • Identificador de recurso del clúster
  • Identificador de suscripción del clúster
  • Sistema operativo del clúster (ejemplo: Linux)
  • Ciudad del clúster (ejemplo: Seattle)
  • Estado o provincia del clúster (ejemplo: Washington)
  • País o región del clúster (ejemplo: Estados Unidos)
  • Excepciones o errores encontrados por el complemento de Azure Policy durante la instalación del agente en la evaluación de directiva
  • Número de directivas de Gatekeeper no instaladas por el complemento de Azure Policy

Pasos siguientes

You can’t perform that action at this time.