Erzwingung der Richtlinie zur Binärautorisierung einrichten
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Die Binärautorisierung für Google Distributed Cloud ist eine Google Cloud Funktion, mit der die gehostete, bei der Bereitstellung erzwungene Binärautorisierung auf Ihre lokalen Nutzercluster ausgeweitet wird. Der primäre Anwendungsfall für die Binärautorisierung in Google Distributed Cloud besteht darin, Arbeitslasten in Ihren Nutzerclustern zu schützen. Folgen Sie der Anleitung in diesem Leitfaden, um die Erzwingungsregeln einer in Ihrem Google Cloud -Projekt konfigurierten Binärautorisierungsrichtlinie auf Ihre Nutzercluster anzuwenden. Weitere Informationen zu Richtlinien und Regeln für die Binärautorisierung finden Sie unter Überblick über die Binärautorisierung.
Vorbereitung
Bevor Sie die Erzwingung der Binärautorisierungsrichtlinie für einen Nutzercluster aktivieren können, müssen Sie die folgenden Voraussetzungen erfüllen:
Cluster bei einer Flotte registrieren:Ein mit gkectl erstellter Cluster wird bei dem Google Cloud -Projekt registriert, das Sie im Feld gkeConnect.projectID der Clusterkonfigurationsdatei angeben. Dieses Projekt wird als Flotten-Hostprojekt bezeichnet.
Weitere Informationen zu Flotten, darunter Anwendungsfälle, Best Practices und Beispiele, finden Sie in der Dokumentation zur Flottenverwaltung.
Rolle „Bewerter für Richtlinien für Binärautorisierungen“ zum Flotten-Hostprojekt hinzufügen:Führen Sie den folgenden Befehl aus, um dem Kubernetes-Dienstkonto in Ihrem Flotten-Hostprojekt die Rolle „Bewerter für Richtlinien für Binärautorisierungen“ (roles/binaryauthorization.policyEvaluator) zuzuweisen:
Wenn Ihr Cluster hinter einem Proxyserver ausgeführt wird, muss der Proxyserver Verbindungen zur Binärautorisierungs-API (binaryauthorization.googleapis.com) zulassen. Diese API bietet eine richtlinienbasierte Bereitstellungsüberprüfung und ‑steuerung für Images, die in Ihrem Cluster bereitgestellt werden. Weitere Informationen finden Sie unter Proxy- und Firewallregeln.
Sobald Sie die Voraussetzungen erfüllt haben, können Sie die Richtlinie zur Binärautorisierung aktivieren oder deaktivieren, wenn Sie einen neuen Cluster erstellen oder einen vorhandenen Cluster aktualisieren.
Richtlinie zur Binärautorisierung während der Clustererstellung aktivieren
Sie können die Durchsetzung der Binärautorisierungsrichtlinie entweder mit gkectl oder der gcloud CLI aktivieren.
gkectl
So aktivieren Sie die Binärautorisierung, wenn Sie einen Cluster mit gkectl erstellen:
Fügen Sie vor dem Erstellen des Clusters der Konfigurationsdatei des Nutzerclusters binaryAuthorization.evaluationMode hinzu, wie im folgenden Beispiel gezeigt:
project_singleton_policy_enforce: Erzwingt die in der Richtlinie zur Binärautorisierung, auch als Projekt-Singleton-Richtlinie bezeichnet, für Ihr Google Cloud -Projekt angegebenen Regeln, um die Bereitstellung von Container-Images in Ihrem Cluster zu steuern.
disabled: Deaktivieren Sie die Verwendung der Binärautorisierung für Ihren Cluster.
Dies ist der Standardwert. Wenn Sie binaryAuthorization weglassen, ist die Funktion deaktiviert.
Nehmen Sie alle erforderlichen Änderungen an der Clusterkonfigurationsdatei vor und führen Sie dann den Befehl gkectl create cluster aus.
Binärautorisierungsrichtlinie für einen vorhandenen Cluster aktivieren oder deaktivieren
Wenn Sie einen Cluster der Version 1.28 oder höher haben, können Sie die Binärautorisierung jederzeit mit gkectl oder der gcloud CLI aktivieren oder deaktivieren.
gkectl
Zum Aktivieren:
Bearbeiten Sie die Clusterkonfigurationsdatei, um die binaryAuthorization-Felder hinzuzufügen:
ADMIN_CLUSTER_KUBECONFIG: der Pfad der kubeconfig-Datei des Administratorclusters
USER_CLUSTER_CONFIG_FILE: Pfad Ihrer Nutzercluster-Konfigurationsdatei.
Warten Sie, bis das Deployment mit dem Namen binauthz-module-deployment im Namespace binauthz-system bereit ist.
Wenn die Bereitstellung bereit ist, erzwingt die Binärautorisierung die in der Richtlinie für die Binärautorisierung angegebenen Regeln, auch als Projekt-Singleton-Richtlinie bezeichnet. Diese Richtlinie ist mit IhremGoogle Cloud -Projekt verknüpft und enthält Regeln für die Bereitstellung von Container-Images. Weitere Informationen zum Aktualisieren eines Clusters mit gkectl finden Sie unter Cluster aktualisieren.
Weitere Informationen zu Richtlinien und Regeln für die Binärautorisierung finden Sie unter Überblick über die Binärautorisierung.
So deaktivieren Sie die Funktion:
Bearbeiten Sie die Clusterkonfigurationsdatei und entfernen Sie entweder den Abschnitt binaryAuthorization oder setzen Sie evaluationMode auf disabled.
Warten Sie nach dieser Änderung einige Minuten, bis die Bereitstellung mit dem Namen binauthz-module-deployment im Namespace binauthz-system entfernt wurde.
Fehlerbehebung
Wenn Sie nicht alle Voraussetzungen erfüllen, wird möglicherweise eine Meldung wie die folgende angezeigt, die auf ein Problem mit der Binärautorisierungskonfiguration hinweist:
failedtovalidateBinaryAuthorizationpolicy
(1)EnsuretheBinaryAuthorizationAPIisenabledforyour Google Cloud project:
gcloudservicesenablebinaryauthorization.googleapis.com--project=PROJECT_ID(2)EnsureanIAMpolicybindingisinplacegrantingbinaryauthorization.policyEvaluatorroletothebinauthz-system/binauthz-agentKubernetesserviceaccount:
gcloudprojectsadd-iam-policy-bindingPROJECT_ID\--member="serviceAccount:PROJECT_ID.svc.id.goog[binauthz-system/binauthz-agent]"\--role=roles/binaryauthorization.policyEvaluator
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-31 (UTC)."],[],[],null,["Binary Authorization for Google Distributed Cloud is a Google Cloud feature\nthat extends the hosted, deploy-time enforcement of\n[Binary Authorization](/binary-authorization/docs/overview) to your on-premises\nuser clusters. The primary use case for Binary Authorization on\nGoogle Distributed Cloud is to secure workloads on your user clusters. Follow the\nsteps in this guide to apply the enforcement rules of a Binary Authorization\npolicy configured in your Google Cloud project to your user clusters. For more\ninformation about Binary Authorization policies and rules, see\n[Binary Authorizationoverview](/binary-authorization/docs/key-concepts).\n| **Note:** If you enabled the ([Preview](/products#product-launch-stages)) Binary Authorization for Google Distributed Cloud, [disable it and clean up the\n| resources](/binary-authorization/docs/setting-up-on-prem#clean_up) before you enable the GA feature. Use the instructions in this document to enable the GA feature on version 1.28 or higher clusters.\n\nPrerequisites\n\nBefore you can enable Binary Authorization policy enforcement for a user\ncluster, ensure you've met the following prerequisite criteria:\n\n- **Register the cluster with a fleet:** For a cluster created with `gkectl`,\n the cluster is registered to the Google Cloud project that you specify\n in the `gkeConnect.projectID` field in the cluster configuration file. This\n project is referred to as the [fleet host\n project](/anthos/fleet-management/docs/fleet-concepts#fleet-host-project).\n To learn more about fleets, including use cases, best practices, and\n examples, see the [Fleet management](/anthos/fleet-management/docs)\n documentation.\n\n- **Enable the Binary Authorization API in your Google Cloud project:** [enable\n the Binary Authorization service](/binary-authorization/docs/enabling) in\n your fleet host project.\n\n- **Add the Binary Authorization Policy Evaluator role to your fleet host\n project:** To grant the Binary Authorization Policy Evaluator\n (`roles/binaryauthorization.policyEvaluator`) role to the Kubernetes service\n account on your fleet host project, run the following command:\n\n gcloud projects add-iam-policy-binding \u003cvar label=\"ID for the fleet host project\" translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e \\\n --member=\"serviceAccount:\u003cvar scope=\"PROJECT_ID\" translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e.svc.id.goog[binauthz-system/binauthz-agent]\" \\\n --role=\"roles/binaryauthorization.policyEvaluator\"\n\n If your cluster is running behind a proxy server, make sure the proxy server\n allows connections to the Binary Authorization API\n (`binaryauthorization.googleapis.com`). This API provides policy-based\n deployment validation and control for images deployed to your cluster. For\n more information about, see\n [Proxy and firewall rules proxy](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/firewall-rules).\n\nOnce you satisfy the prerequisites, you can enable (or disable) the\nBinary Authorization policy when you create a new cluster or update an existing\ncluster.\n\nEnable the Binary Authorization policy during cluster creation\n\nYou can enable the Binary Authorization policy enforcement with either `gkectl`\nor gcloud CLI. \n\n`gkectl`\n\nTo enable Binary Authorization when you create a cluster with `gkectl`:\n\n1. Before you create your cluster, add\n `binaryAuthorization.evaluationMode` to the user cluster\n configuration file as shown in the following example:\n\n ...\n binaryAuthorization:\n evaluationMode: \"project_singleton_policy_enforce\"\n ...\n\n Allowed values for `evaluationMode` are:\n - `project_singleton_policy_enforce`: enforce the rules specified in the\n Binary Authorization *policy* , also known as a *project-singleton\n policy*, on your Google Cloud project to govern the deployment of\n container images on your cluster.\n\n - `disabled`: disable the use of Binary Authorization for your cluster.\n This is the default value. If you omit `binaryAuthorization`, the\n feature is disabled.\n\n2. Make any other changes needed in the cluster configuration file and then\n run the `gkectl create cluster` command.\n\nFor more information about creating clusters, see\n[Google Distributed Cloud installation overview](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/install-overview).\n\nEnable or disable the Binary Authorization policy for an existing cluster\n\nIf you have an existing version 1.28 or higher cluster, you can enable or\ndisable Binary Authorization at any time, using `gkectl` or\ngcloud CLI. \n\n`gkectl`\n\n- To enable:\n\n 1. Edit the cluster configuration file to add the `binaryAuthorization`\n fields:\n\n ...\n binaryAuthorization:\n evaluationMode: \"project_singleton_policy_enforce\"\n\n 2. Update the cluster:\n\n ```\n gkectl update cluster \\\n --kubeconfig ADMIN_CLUSTER_KUBECONFIG \\\n --config USER_CLUSTER_CONFIG_FILE \\\n --force\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eADMIN_CLUSTER_KUBECONFIG\u003c/var\u003e: the path of the admin cluster kubeconfig file\n - \u003cvar translate=\"no\"\u003eUSER_CLUSTER_CONFIG_FILE\u003c/var\u003e: the path of your user cluster configuration file.\n 3. Wait for the Deployment named `binauthz-module-deployment` in the\n `binauthz-system` namespace to become ready.\n\n When the deployment is ready, Binary Authorization enforces the rules\n specified in the Binary Authorization *policy* , also known as a\n *project-singleton policy* . This policy is associated with your\n Google Cloud project and specifies rules to govern the deployment of\n container images. For more information about using `gkectl` to update a\n cluster, see [Update clusters](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/upgrading).\n For more information about Binary Authorization policies and rules,\n see [Binary Authorization overview](/binary-authorization/docs/key-concepts).\n- To disable:\n\n 1. Edit the cluster configuration file and either remove the\n `binaryAuthorization` section or by set `evaluationMode` to\n `disabled`.\n\n ...\n binaryAuthorization:\n evaluationMode: \"disabled\"\n\n 2. Update the cluster:\n\n ```\n gkectl update cluster \\\n --kubeconfig ADMIN_CLUSTER_KUBECONFIG \\\n --config USER_CLUSTER_CONFIG_FILE \\\n --force\n ```\n\n After you make this change, wait a few minutes until the Deployment named\n `binauthz-module-deployment` in the `binauthz-system` namespace is\n removed.\n\nTroubleshooting\n\nIf you don't complete all of the prerequisites, you may see a message like the\nfollowing indicates there is a problem with the Binary Authorization configuration: \n\n```bash\nfailed to validate Binary Authorization policy\n\n(1) Ensure the Binary Authorization API is enabled for your Google Cloud project:\n gcloud services enable binaryauthorization.googleapis.com --project=PROJECT_ID\n(2) Ensure an IAM policy binding is in place granting binaryauthorization.policyEvaluator role to the binauthz-system/binauthz-agent Kubernetes service account:\n gcloud projects add-iam-policy-binding PROJECT_ID \\\n --member=\"serviceAccount:\u003cvar class=\"readonly\" translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e.svc.id.goog[binauthz-system/binauthz-agent]\" \\\n --role=roles/binaryauthorization.policyEvaluator\n```"]]