Общие сведения о политике Azure для службы Kubernetes AzureUnderstand Azure Policy for Azure Kubernetes Service

Политика Azure интегрируется со службой Azure Kubernetes (AKS), чтобы обеспечить централизованное и согласованное применение ограничений и мер безопасности в кластерах.Azure Policy integrates with the Azure Kubernetes Service (AKS) to apply at-scale enforcements and safeguards on your clusters in a centralized, consistent manner. Благодаря расширению использования привратника 2, веб-перехватчика контроллера допуска для Open Policy Agent (непрозра), политика Azure позволяет управлять состоянием соответствия ресурсов Azure и кластеров AKS из одного места и сообщать о нем.By extending use of Gatekeeper v2, an admission controller webhook for Open Policy Agent (OPA), Azure Policy makes it possible to manage and report on the compliance state of your Azure resources and AKS clusters from one place.

Примечание

Политика Azure для AKS ограничена предварительной версией и поддерживает только встроенные определения политик.Azure Policy for AKS is in Limited Preview and only supports built-in policy definitions.

ОбзорOverview

Чтобы включить и использовать политику Azure для AKS с кластером AKS, выполните следующие действия.To enable and use Azure Policy for AKS with your AKS cluster, take the following actions:

Согласие на предварительную версиюOpt-in for preview

Прежде чем устанавливать надстройку политики Azure или включить какие-либо функции службы, ваша подписка должна включить поставщик ресурсов Microsoft. ContainerService и поставщик ресурсов Microsoft. полициинсигхтс , а затем утвердить его для приподключения к предварительной версии.Before installing the Azure Policy Add-on or enabling any of the service features, your subscription must enable the Microsoft.ContainerService resource provider and the Microsoft.PolicyInsights resource provider, then be approved to join the preview. Чтобы присоединиться к предварительной версии, выполните следующие действия в портал Azure или с помощью Azure CLI.To join the preview, follow these steps in either the Azure portal or with Azure CLI:

  • Портал Azure:Azure portal:

    1. Зарегистрируйте поставщики ресурсов Microsoft. ContainerService и Microsoft. полициинсигхтс .Register the Microsoft.ContainerService and Microsoft.PolicyInsights resource providers. Инструкции см. в разделе поставщики и типы ресурсов.For steps, see Resource providers and types.

    2. Запустите службу "Политика Azure" на портале Azure, щелкнув Все службы, а затем выполнив поиск и выбрав Политика.Launch the Azure Policy service in the Azure portal by clicking All services, then searching for and selecting Policy.

      Поиск политики в разделе "Все службы"

    3. В левой части страницы политики Azure выберите Предварительный просмотр присоединение .Select Join Preview on the left side of the Azure Policy page.

      Присоединение политики к предварительной версии AKS

    4. Выберите строку подписки, которую нужно добавить в предварительную версию.Select the row of the subscription you want added to the preview.

    5. Нажмите кнопку согласие в верхней части списка подписок.Select the Opt-in button at the top of the list of subscriptions.

  • В Azure CLI:Azure CLI:

    # 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
    
    

Надстройка политики AzureAzure Policy Add-on

Надстройка политики Azure для Kubernetes подключает службу политики Azure к контроллеру допуска привратника.The Azure Policy Add-on for Kubernetes connects the Azure Policy service to the Gatekeeper admission controller. Надстройка, устанавливаемая в пространство имен Azure-Policy , вводит следующие функции:The add-on, which is installed into the azure-policy namespace, enacts the following functions:

  • Проверяет наличие политики Azure для назначений в кластере AKSChecks with Azure Policy for assignments to the AKS cluster
  • Загружает и кэширует сведения о политике, включая определение политики Рего , как конфигмапсDownloads and caches policy details, including the rego policy definition, as configmaps
  • Выполнение проверки соответствия полной проверки на кластере AKSRuns a full scan compliance check on the AKS cluster
  • Сообщает сведения об аудите и соответствии политике AzureReports auditing and compliance details back to Azure Policy

Установка надстройкиInstalling the add-on

Технические условияPrerequisites

Перед установкой надстройки в кластере AKS необходимо установить расширение предварительной версии.Before you install the add-on in your AKS cluster, the preview extension must be installed. Этот шаг выполняется с Azure CLI:This step is done with Azure CLI:

  1. Требуется Azure CLI версии 2.0.62 или более поздней.You need the Azure CLI version 2.0.62 or later installed and configured. Чтобы узнать версию, выполните команду az --version.Run az --version to find the version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI.If you need to install or upgrade, see Install the Azure CLI.

  2. Кластер AKS должен иметь версию 1,10 или более позднюю.The AKS cluster must be version 1.10 or higher. Используйте следующий скрипт для проверки версии кластера AKS:Use the following script to validate your AKS cluster version:

    # Log in first with az login if you're not using Cloud Shell
    
    # Look for the value in kubernetesVersion
    az aks list
    
  3. Установите версию 0.4.0 предварительной версии расширения Azure CLI для AKS, aks-preview:Install version 0.4.0 of the Azure CLI preview extension for 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]
    

    Примечание

    Если вы ранее установили расширение AKS-Preview , установите все обновления с помощью команды az extension update --name aks-preview.If you've previously installed the aks-preview extension, install any updates using the az extension update --name aks-preview command.

Шаги установкиInstallation steps

После завершения предварительных требований установите надстройку политики Azure в кластере AKS, которым вы хотите управлять.Once the prerequisites are completed, install the Azure Policy Add-on in the AKS cluster you want to manage.

  • Портал AzureAzure portal

    1. Запустите службу AKS в портал Azure, щелкнув все службы, а затем выполнив поиск и выбрав Kubernetes Services.Launch the AKS service in the Azure portal by clicking All services, then searching for and selecting Kubernetes services.

    2. Выберите один из кластеров AKS.Select one of your AKS clusters.

    3. В левой части страницы службы Kubernetes выберите политики (Предварительная версия) .Select Policies (preview) on the left side of the Kubernetes service page.

      Политики из кластера AKS

    4. На главной странице нажмите кнопку включить надстройку .In the main page, select the Enable add-on button.

      Включение надстройки "политика Azure для AKS"

      Примечание

      Если кнопка включить надстройка неактивна, подписка еще не добавлена в предварительную версию.If the Enable add-on button is grayed out, the subscription has not yet been added to the preview. Необходимые шаги см. в разделе согласие на предварительную версию .See Opt-in for preview for the required steps.

  • Интерфейс командной строки AzureAzure 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
    

Периодичность проверки и отчетностиValidation and reporting frequency

Надстройка проверяет в политике Azure изменения назначений политик каждые 5 минут.The add-on checks in with Azure Policy for changes in policy assignments every 5 minutes. Во время этого цикла обновления надстройка удаляет все конфигмапс в пространстве имен Azure-Policy , а затем повторно создает конфигмапс для использования привратника.During this refresh cycle, the add-on removes all configmaps in the azure-policy namespace then recreates the configmaps for Gatekeeper use.

Примечание

Хотя Администратор кластера может иметь разрешение на пространство имен политики Azure , он не рекомендуется или не поддерживается для внесения изменений в пространство имен.While a cluster admin may have permission to the azure-policy namespace, it's not recommended or supported to make changes to the namespace. Все внесенные вручную изменения теряются во время цикла обновления.Any manual changes made are lost during the refresh cycle.

Каждые 5 минут надстройка вызывает полную проверку кластера.Every 5 minutes, the add-on calls for a full scan of the cluster. После сбора подробных сведений о полной проверке и любых оценках в реальном времени с помощью привратника попыток внести изменения в кластер, эта надстройка выводит результаты обратно в политику Azure для включения в сведения о соответствии , например любое назначение политики Azure.After gathering details of the full scan and any real-time evaluations by Gatekeeper of attempted changes to the cluster, the add-on reports the results back to Azure Policy for inclusion in compliance details like any Azure Policy assignment. Во время цикла аудита возвращаются только результаты активных назначений политик.Only results for active policy assignments are returned during the audit cycle.

Язык политикиPolicy language

Языковая структура политики Azure для управления AKS соответствует существующим политикам.The Azure Policy language structure for managing AKS follows that of existing policies. Действие енфорцерегополици используется для управления кластерами AKS и принимает свойства сведений , относящиеся к работе с непрозра и привратником v2.The effect EnforceRegoPolicy is used to manage your AKS clusters and takes details properties specific to working with OPA and Gatekeeper v2. Дополнительные сведения и примеры см. в разделе енфорцерегополици Effect.For details and examples, see the EnforceRegoPolicy effect.

Как часть свойства Details. Policy в определении политики, политика Azure передает универсальный код ресурса (URI) политики Рего в надстройку.As part of the details.policy property in the policy definition, Azure Policy passes the URI of a rego policy to the add-on. Рего — это язык, который поддержка НЕПРОЗРА и привратника для проверки или изменения запроса к кластеру Kubernetes.Rego is the language that OPA and Gatekeeper support to validate or mutate a request to the Kubernetes cluster. Благодаря поддержке существующего стандарта для управления Kubernetes, политика Azure позволяет повторно использовать существующие правила и связывать их с политикой Azure для единого создания отчетов о соответствии с облаком.By supporting an existing standard for Kubernetes management, Azure Policy makes it possible to reuse existing rules and pair them with Azure Policy for a unified cloud compliance reporting experience. Дополнительные сведения см. в разделе что такое Рего?.For more information, see What is Rego?.

Встроенные политикиBuilt-in policies

Чтобы найти встроенные политики для управления AKS с помощью портал Azure, выполните следующие действия.To find the built-in policies for managing AKS using the Azure portal, follow these steps:

  1. Запустите службу политики Azure в портал Azure.Start the Azure Policy service in the Azure portal. Выберите все службы на левой панели, а затем найдите и выберите Политика.Select All services in the left pane and then search for and select Policy.

  2. В левой области страницы политика Azure выберите определения.In the left pane of the Azure Policy page, select Definitions.

  3. В раскрывающемся списке Категория выберите команду выбрать все , чтобы очистить фильтр, а затем выберите Kubernetes Service.From the Category drop-down list box, use Select all to clear the filter and then select Kubernetes service.

  4. Выберите определение политики, а затем нажмите кнопку назначить .Select the policy definition, then select the Assign button.

Примечание

При назначении политики Azure для определения AKS область должна включать ресурс кластера AKS.When assigning the Azure Policy for AKS definition, the Scope must include the AKS cluster resource.

Кроме того, для поиска и назначения политики AKS используйте краткое руководство по назначению политики с помощью портала.Alternately, use the Assign a policy - Portal quickstart to find and assign an AKS policy. Выполните поиск определения политики Kubernetes вместо примера "Audit VMS".Search for a Kubernetes policy definition instead of the sample 'audit vms'.

Важно!

Встроенные политики в категории Kubernetes Service предназначены только для использования с AKS.Built-in policies in category Kubernetes service are only for use with AKS.

Ведение журналаLogging

Журналы надстроек для политики AzureAzure Policy Add-on logs

Как контроллер или контейнер Kubernetes, надстройка политики Azure хранит журналы в кластере AKS.As a Kubernetes controller/container, the Azure Policy Add-on keeps logs in the AKS cluster. Журналы отображаются на странице Insights кластера AKS.The logs are exposed in the Insights page of the AKS cluster. Дополнительные сведения см. в статье производительность кластера AKS с Azure Monitor для контейнеров.For more information, see Understand AKS cluster performance with Azure Monitor for containers.

Журналы привратникаGatekeeper logs

Чтобы включить журналы привратника для новых запросов ресурсов, выполните действия, описанные в разделе Включение и проверка журналов главного узла Kubernetes в AKS.To enable Gatekeeper logs for new resource requests, follow the steps in Enable and review Kubernetes master node logs in AKS. Ниже приведен пример запроса для просмотра отклоненных событий для новых запросов ресурсов.Here is an example query to view denied events on new resource requests:

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

Чтобы просмотреть журналы из контейнеров привратника, выполните действия, описанные в разделе Включение и просмотр журналов главного узла Kubernetes в AKS и проверьте параметр KUBE-аписервер в области параметры диагностики .To view logs from Gatekeeper containers, follow the steps in Enable and review Kubernetes master node logs in AKS and check the kube-apiserver option in the Diagnostic settings pane.

Удаление надстройкиRemove the add-on

Чтобы удалить надстройку политики Azure из кластера AKS, используйте либо портал Azure, либо Azure CLI.To remove the Azure Policy Add-on from your AKS cluster, use either the Azure portal or Azure CLI:

  • Портал AzureAzure portal

    1. Запустите службу AKS в портал Azure, щелкнув все службы, а затем выполнив поиск и выбрав Kubernetes Services.Launch the AKS service in the Azure portal by clicking All services, then searching for and selecting Kubernetes services.

    2. Выберите кластер AKS, в котором необходимо отключить надстройку политики Azure.Select your AKS cluster where you want to disable the Azure Policy Add-on.

    3. В левой части страницы службы Kubernetes выберите политики (Предварительная версия) .Select Policies (preview) on the left side of the Kubernetes service page.

      Политики из кластера AKS

    4. На главной странице нажмите кнопку отключить надстройку .In the main page, select the Disable add-on button.

      Отключите политику Azure для надстройки AKS

  • Интерфейс командной строки AzureAzure 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
    

Диагностические данные, собираемые надстройкой политики AzureDiagnostic data collected by Azure Policy Add-on

Надстройка политики Azure для Kubernetes собирает ограниченные диагностические данные кластера.The Azure Policy Add-on for Kubernetes collects limited cluster diagnostic data. Эти диагностические данные являются важнейшими техническими данными, относящимися к программному обеспечению и производительности.This diagnostic data is vital technical data related to software and performance. Она используется для:It's used in the following ways:

  • Обновление надстройки политики AzureKeep Azure Policy Add-on up to date
  • Обеспечьте надежную, надежную, производительную надстройку политики AzureKeep Azure Policy Add-on secure, reliable, performant
  • Улучшите надстройку политики Azure с помощью статистического анализа использования надстройкиImprove Azure Policy Add-on - through the aggregate analysis of the use of the add-on

Сведения, собираемые надстройкой, не являются личными данными.The information collected by the add-on isn't personal data. В настоящее время собраны следующие сведения:The following details are currently collected:

  • Версия агента надстройки политики AzureAzure Policy Add-on agent version
  • Тип кластераCluster type
  • Регион кластераCluster region
  • Группа ресурсов кластераCluster resource group
  • Идентификатор ресурса кластераCluster resource ID
  • Идентификатор подписки кластераCluster subscription ID
  • ОС кластера (пример: Linux)Cluster OS (Example: Linux)
  • Город кластера (пример: Сиэтл)Cluster city (Example: Seattle)
  • Штат или провинция кластера (пример: Вашингтон)Cluster state or province (Example: Washington)
  • Страна или регион кластера (например: США)Cluster country or region (Example: United States)
  • Исключения и ошибки, обнаруженные надстройкой политики Azure во время установки агента при оценке политикиExceptions/errors encountered by Azure Policy Add-on during agent installation on policy evaluation
  • Число политик привратника, не установленных надстройкой политики AzureNumber of Gatekeeper policies not installed by Azure Policy Add-on

Дальнейшие действияNext steps