Grundlegendes zu Azure Policy für Azure Kubernetes ServiceUnderstand Azure Policy for Azure Kubernetes Service

Mit der Integration von Azure Policy mit Azure Kubernetes Service (AKS) können Schutz- und Sicherheitsmaßnahmen in großem Umfang zentral und einheitlich auf Ihre Cluster angewendet werden.Azure Policy integrates with the Azure Kubernetes Service (AKS) to apply at-scale enforcements and safeguards on your clusters in a centralized, consistent manner. Durch die erweiterte Verwendung von Gatekeeper v2, einem Webhook für die Zugangssteuerung für Open Policy Agent (OPA), bietet Azure Policy die Möglichkeit, den Konformitätsstatus Ihrer Azure-Ressourcen und AKS-Cluster von einer zentralen Stelle aus zu verwalten und zu melden.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.

Hinweis

Azure Policy für AKS befindet sich in der eingeschränkten Vorschauversion und unterstützt nur integrierte Richtliniendefinitionen.Azure Policy for AKS is in Limited Preview and only supports built-in policy definitions.

ÜbersichtOverview

Führen Sie die folgenden Schritte aus, um Azure Policy für AKS mit Ihrem AKS-Cluster zu aktivieren und zu verwenden:To enable and use Azure Policy for AKS with your AKS cluster, take the following actions:

Aktivieren der VorschauversionOpt-in for preview

Bevor Sie das Azure Policy-Add-On installieren oder eines der Dienstfeatures aktivieren, muss Ihr Abonnement den Microsoft.ContainerService- und den Microsoft.PolicyInsights-Ressourcenanbieter aktivieren und dann für die Teilnahme an der Vorschau genehmigt werden.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. Um an der Vorschauversion teilzunehmen, führen Sie diese Schritte entweder im Azure-Portal oder mit der Azure CLI durch:To join the preview, follow these steps in either the Azure portal or with Azure CLI:

  • Azure-Portal:Azure portal:

    1. Registrieren Sie die Ressourcenanbieter Microsoft.ContainerService und Microsoft.PolicyInsights.Register the Microsoft.ContainerService and Microsoft.PolicyInsights resource providers. Weitere Informationen finden Sie unter Ressourcenanbieter und -typen.For steps, see Resource providers and types.

    2. Starten Sie den Azure Policy-Dienst über das Azure-Portal, indem Sie auf Alle Dienste klicken und dann nach Richtlinie suchen und die entsprechende Option auswählen.Launch the Azure Policy service in the Azure portal by clicking All services, then searching for and selecting Policy.

      Suchen nach „Policy“ unter „Alle Dienste“

    3. Wählen Sie links auf der Seite „Azure Policy“ die Option zum Beitreten zur Vorschauversion aus.Select Join Preview on the left side of the Azure Policy page.

      Beitreten zur Richtlinie für die AKS-Vorschauversion

    4. Wählen Sie die Zeile des Abonnements aus, das Sie der Vorschauversion hinzufügen möchten.Select the row of the subscription you want added to the preview.

    5. Wählen Sie die Schaltfläche Opt-in (Abonnieren) oben in der Abonnementliste aus.Select the Opt-in button at the top of the list of subscriptions.

  • Azure-Befehlszeilenschnittstelle: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
    
    

Azure Policy-Add-OnAzure Policy Add-on

Das Azure Policy-Add-On für Kubernetes verbindet den Azure Policy-Dienst mit der Gatekeeper-Zugangssteuerung.The Azure Policy Add-on for Kubernetes connects the Azure Policy service to the Gatekeeper admission controller. Das Add-On, das in den Namespace azure-policy installiert wird, führt die folgenden Funktionen aus:The add-on, which is installed into the azure-policy namespace, enacts the following functions:

  • Überprüfen auf Zuweisungen an den AKS-Cluster mit Azure PolicyChecks with Azure Policy for assignments to the AKS cluster
  • Herunterladen und Zwischenspeichern von Richtliniendetails, einschließlich der rego-Richtliniendefinition, als configmapsDownloads and caches policy details, including the rego policy definition, as configmaps
  • Ausführen einer vollständigen Konformitätsprüfung für den AKS-ClusterRuns a full scan compliance check on the AKS cluster
  • Senden von Details zur Überwachung und Konformität an Azure PolicyReports auditing and compliance details back to Azure Policy

Installieren des Add-OnsInstalling the add-on

VoraussetzungenPrerequisites

Bevor Sie das Add-On in Ihrem AKS-Cluster installieren, muss die Vorschauerweiterung installiert sein.Before you install the add-on in your AKS cluster, the preview extension must be installed. Dieser Schritt erfolgt mit der Azure CLI:This step is done with Azure CLI:

  1. Azure CLI-Version 2.0.62 oder höher muss installiert und konfiguriert sein.You need the Azure CLI version 2.0.62 or later installed and configured. Führen Sie az --version aus, um die Version zu finden.Run az --version to find the version. Installations- und Upgradeinformationen finden Sie bei Bedarf unter Installieren von Azure CLI.If you need to install or upgrade, see Install the Azure CLI.

  2. Der AKS-Cluster muss die Version 1.10 oder höher aufweisen.The AKS cluster must be version 1.10 or higher. Verwenden Sie das folgende Skript, um Ihre AKS-Clusterversion zu überprüfen: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. Installieren Sie die Version 0.4.0 der Azure CLI-Vorschauerweiterung für 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]
    

    Hinweis

    Wenn Sie zuvor die Erweiterung aks-preview installiert haben, installieren Sie alle Updates mit dem Befehl 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.

InstallationsschritteInstallation steps

Nachdem die Voraussetzungen erfüllt sind, installieren Sie das Azure Policy-Add-On in dem zu verwaltenden AKS-Cluster.Once the prerequisites are completed, install the Azure Policy Add-on in the AKS cluster you want to manage.

  • Azure-PortalAzure portal

    1. Starten Sie den AKS-Dienst im Azure-Portal, indem Sie auf Alle Dienste klicken und dann nach Kubernetes-Dienste suchen und die entsprechende Option auswählen.Launch the AKS service in the Azure portal by clicking All services, then searching for and selecting Kubernetes services.

    2. Wählen Sie einen Ihrer AKS-Cluster aus.Select one of your AKS clusters.

    3. Wählen Sie links Richtlinien (Vorschauversion) auf der Seite des Kubernetes-Diensts aus.Select Policies (preview) on the left side of the Kubernetes service page.

      Richtlinien des AKS-Clusters

    4. Wählen Sie auf der Hauptseite die Schaltfläche Add-On aktivieren aus.In the main page, select the Enable add-on button.

      Aktivieren des Azure Policy für AKS-Add-Ons

      Hinweis

      Wenn die Schaltfläche Add-On aktivieren abgeblendet ist, wurde das Abonnement noch nicht zur Vorschauversion hinzugefügt.If the Enable add-on button is grayed out, the subscription has not yet been added to the preview. Die erforderlichen Schritte finden Sie unter Aktivieren der Vorschauversion.See Opt-in for preview for the required steps.

  • Azure-BefehlszeilenschnittstelleAzure 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
    

Häufigkeit der Prüfung und BerichterstellungValidation and reporting frequency

Das Add-On prüft alle fünf Minuten mit Azure Policy, ob sich die Richtlinienzuweisungen geändert haben.The add-on checks in with Azure Policy for changes in policy assignments every 5 minutes. Während dieses Aktualisierungszyklus entfernt das Add-On alle configmaps im Namespace azure-policy und erstellt die configmaps für die Verwendung mit Gatekeeper neu.During this refresh cycle, the add-on removes all configmaps in the azure-policy namespace then recreates the configmaps for Gatekeeper use.

Hinweis

Obwohl ein Clusteradministrator möglicherweise über die Berechtigung für den Namespace azure-policy verfügt, wird es nicht empfohlen oder unterstützt, Änderungen am Namespace vorzunehmen.While a cluster admin may have permission to the azure-policy namespace, it's not recommended or supported to make changes to the namespace. Alle manuellen Änderungen gehen während des Aktualisierungszyklus verloren.Any manual changes made are lost during the refresh cycle.

Das Add-On fordert alle fünf Minuten einen vollständigen Scan des Clusters an.Every 5 minutes, the add-on calls for a full scan of the cluster. Nachdem Details des vollständigen Scans und alle Echtzeitauswertungen von versuchten Änderungen am Cluster durch Gatekeeper erfasst wurden, meldet das Add-On die Ergebnisse an Azure Policy zurück, um sie in Konformitätsdetails wie bei allen Azure Policy-Zuweisungen aufzunehmen.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. Während des Prüfzyklus werden nur Ergebnisse für aktive Richtlinienzuweisungen zurückgegeben.Only results for active policy assignments are returned during the audit cycle.

RichtliniensprachePolicy language

Die Azure Policy-Sprachstruktur zum Verwalten von AKS folgt derjenigen der bestehenden Richtlinien.The Azure Policy language structure for managing AKS follows that of existing policies. Die Auswirkung EnforceRegoPolicy wird verwendet, um Ihre AKS-Cluster zu verwalten, und er übernimmt details-Eigenschaften, die für die Arbeit mit OPA und Gatekeeper v2 spezifisch sind.The effect EnforceRegoPolicy is used to manage your AKS clusters and takes details properties specific to working with OPA and Gatekeeper v2. Details und Beispiele finden Sie unter dem Effekt EnforceRegoPolicy.For details and examples, see the EnforceRegoPolicy effect.

Als Teil der Eigenschaft details.policy in der Richtliniendefinition übergibt Azure Policy den URI einer Rego-Richtlinie an das Add-On.As part of the details.policy property in the policy definition, Azure Policy passes the URI of a rego policy to the add-on. Rego ist die Sprache, die von OPA und Gatekeeper unterstützt wird, um eine Anforderung an den Kubernetes-Cluster zu validieren oder zu ändern.Rego is the language that OPA and Gatekeeper support to validate or mutate a request to the Kubernetes cluster. Durch die Unterstützung eines bestehenden Standards für das Kubernetes-Management ermöglicht Azure Policy die Wiederverwendung bestehender Regeln und deren Kombination mit Azure Policy für eine einheitliche Berichterstellungsumgebung zur Cloud-Compliance.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. Weitere Informationen finden Sie unter Was ist Rego?For more information, see What is Rego?.

Integrierte RichtlinienBuilt-in policies

Um die integrierten Richtlinien für die Verwaltung von AKS über das Azure-Portal zu finden, führen Sie die folgenden Schritte aus:To find the built-in policies for managing AKS using the Azure portal, follow these steps:

  1. Starten Sie den Azure Policy-Dienst im Azure-Portal.Start the Azure Policy service in the Azure portal. Wählen Sie Alle Dienste im linken Bereich aus, suchen Sie dann nach der Option Richtlinie und wählen Sie sie aus.Select All services in the left pane and then search for and select Policy.

  2. Wählen Sie im linken Bereich der Seite „Azure Policy“ die Option Definitionen aus.In the left pane of the Azure Policy page, select Definitions.

  3. Verwenden Sie im Dropdown-Listenfeld „Kategorie“ die Option Alle auswählen, um den Filter zu löschen, und wählen Sie dann Kubernetes-Dienst aus.From the Category drop-down list box, use Select all to clear the filter and then select Kubernetes service.

  4. Wählen Sie die Richtliniendefinition und dann die Schaltfläche Zuweisen aus.Select the policy definition, then select the Assign button.

Hinweis

Bei der Zuweisung der Azure-Richtlinie für die AKS-Definition muss der Bereich die AKS-Clusterressource umfassen.When assigning the Azure Policy for AKS definition, the Scope must include the AKS cluster resource.

Verwenden Sie alternativ die Schnellstartanleitung Zuweisen einer Richtlinie – Portal, um eine AKS-Richtlinie zu finden und zuzuweisen.Alternately, use the Assign a policy - Portal quickstart to find and assign an AKS policy. Suchen Sie nach einer Kubernetes-Richtliniendefinition anstelle des Musters „audit vms“.Search for a Kubernetes policy definition instead of the sample 'audit vms'.

Wichtig

Integrierte Richtlinien in der Kategorie Kubernetes-Dienst können nur mit AKS verwendet werden.Built-in policies in category Kubernetes service are only for use with AKS.

ProtokollierungLogging

Protokolle des Azure Policy-Add-OnsAzure Policy Add-on logs

Als Kubernetes-Controller/-Container erstellt das Azure Policy-Add-On Protokolle im AKS-Cluster.As a Kubernetes controller/container, the Azure Policy Add-on keeps logs in the AKS cluster. Die Protokolle werden auf der Seite Insights des AKS-Clusters angezeigt.The logs are exposed in the Insights page of the AKS cluster. Weitere Informationen finden Sie unter Verstehen der Leistung von AKS-Clustern mit Azure Monitor für Container.For more information, see Understand AKS cluster performance with Azure Monitor for containers.

Gatekeeper-ProtokolleGatekeeper logs

Führen Sie die Schritte unter Aktivieren und Prüfen von Kubernetes-Masterknotenprotokollen in AKS aus, um Gatekeeper-Protokolle für neue Ressourcenanforderungen zu aktivieren.To enable Gatekeeper logs for new resource requests, follow the steps in Enable and review Kubernetes master node logs in AKS. Hier folgt eine Beispielabfrage, um abgelehnte Ereignisse bei neuen Ressourcenanforderungen anzuzeigen: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

Um Protokolle aus Gatekeeper-Containern anzuzeigen, führen Sie die Schritte im Abschnitt Aktivieren und Prüfen von Kubernetes-Masterknotenprotokollen in AKS aus, und aktivieren Sie die Option kube-apiserver im Abschnitt Diagnoseeinstellungen.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.

Entfernen des Add-OnsRemove the add-on

Verwenden Sie zum Entfernen des Azure Policy-Add-Ons aus Ihrem AKS-Cluster entweder das Azure-Portal oder die Azure CLI:To remove the Azure Policy Add-on from your AKS cluster, use either the Azure portal or Azure CLI:

  • Azure-PortalAzure portal

    1. Starten Sie den AKS-Dienst im Azure-Portal, indem Sie auf Alle Dienste klicken und dann nach Kubernetes-Dienste suchen und die entsprechende Option auswählen.Launch the AKS service in the Azure portal by clicking All services, then searching for and selecting Kubernetes services.

    2. Wählen Sie Ihren AKS-Cluster aus, in dem Sie das Azure Policy-Add-On deaktivieren möchten.Select your AKS cluster where you want to disable the Azure Policy Add-on.

    3. Wählen Sie links Richtlinien (Vorschauversion) auf der Seite des Kubernetes-Diensts aus.Select Policies (preview) on the left side of the Kubernetes service page.

      Richtlinien des AKS-Clusters

    4. Wählen Sie auf der Hauptseite die Schaltfläche Add-On deaktivieren aus.In the main page, select the Disable add-on button.

      Deaktivieren des Azure Policy für AKS-Add-Ons

  • Azure-BefehlszeilenschnittstelleAzure 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
    

Vom Azure Policy-Add-On gesammelte DiagnosedatenDiagnostic data collected by Azure Policy Add-on

Das Azure Policy-Add-On für Kubernetes sammelt begrenzte Clusterdiagnosedaten.The Azure Policy Add-on for Kubernetes collects limited cluster diagnostic data. Diese Diagnosedaten sind wichtige technische Daten in Bezug auf Software und Leistung.This diagnostic data is vital technical data related to software and performance. Sie werden für folgende Zwecke verwendet:It's used in the following ways:

  • Azure Policy Add-On auf dem neuesten Stand haltenKeep Azure Policy Add-on up to date
  • Azure Policy Add-On sicher, zuverlässig und leistungsfähig haltenKeep Azure Policy Add-on secure, reliable, performant
  • Azure Policy Add-On verbessern – durch die aggregierte Analyse der Verwendung des Add-OnsImprove Azure Policy Add-on - through the aggregate analysis of the use of the add-on

Die vom Add-On gesammelten Informationen sind keine persönlichen Daten.The information collected by the add-on isn't personal data. Die folgenden Details werden derzeit gesammelt:The following details are currently collected:

  • Version des Azure Policy-Add-On-AgentsAzure Policy Add-on agent version
  • ClustertypCluster type
  • ClusterregionCluster region
  • ClusterressourcengruppeCluster resource group
  • Clusterressourcen-IDCluster resource ID
  • Clusterabonnement-IDCluster subscription ID
  • Clusterbetriebssystem (Beispiel: Linux)Cluster OS (Example: Linux)
  • Ort für den Cluster (Beispiel: Seattle)Cluster city (Example: Seattle)
  • Bundesland oder Kanton für den Cluster (Beispiel: Washington)Cluster state or province (Example: Washington)
  • Land oder Region für den Cluster (Beispiel: USA)Cluster country or region (Example: United States)
  • Ausnahmen/Fehler, die während der Installation des Agents bei der Richtlinienauswertung durch das Azure Policy Add-On festgestellt werdenExceptions/errors encountered by Azure Policy Add-on during agent installation on policy evaluation
  • Anzahl von Gatekeeper-Richtlinien, die nicht vom Azure Policy Add-On installiert werdenNumber of Gatekeeper policies not installed by Azure Policy Add-on

Nächste SchritteNext steps