Configurare l'applicazione dei criteri di Autorizzazione binaria
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
L'autorizzazione binaria per Google Distributed Cloud è una Google Cloud funzionalità
che estende l'applicazione ospitata in fase di deployment di
Autorizzazione binaria ai tuoi cluster di utenti on-premise. Il caso d'uso principale di Binary Authorization su
Google Distributed Cloud è proteggere i carichi di lavoro sui cluster di utenti. Segui i passaggi di questa guida per applicare le regole di applicazione di un criterio di autorizzazione dei binari configurato nel tuo progetto ai tuoi cluster di utenti. Google Cloud Per ulteriori informazioni su criteri e regole di Autorizzazione binaria, consulta la Panoramica di Autorizzazione binaria.
Prerequisiti
Prima di poter attivare l'applicazione dei criteri di autorizzazione binaria per un cluster di utenti, assicurati di soddisfare i seguenti criteri di prerequisito:
Registra il cluster in un parco risorse: per un cluster creato con gkectl, il cluster viene registrato nel Google Cloud progetto specificato nel campo gkeConnect.projectID del file di configurazione del cluster. Questo progetto è denominato progetto host del parco risorse.
Per scoprire di più sui parchi risorse, inclusi casi d'uso, best practice ed esempi, consulta la documentazione relativa alla gestione dei parchi risorse.
Aggiungi il ruolo Valutatore criterio di autorizzazione binaria al progetto host del tuo parco risorse: per concedere il ruolo Valutatore criterio di autorizzazione binaria (roles/binaryauthorization.policyEvaluator) all'account di servizio Kubernetes nel progetto host del tuo parco risorse, esegui il seguente comando:
Se il cluster è in esecuzione dietro un server proxy, assicurati che il server proxy consenta le connessioni all'API Binary Authorization (binaryauthorization.googleapis.com). Questa API fornisce convalida e controllo del deployment basati su criteri per le immagini di cui è stato eseguito il deployment nel cluster. Per maggiori informazioni, consulta Proxy e regole firewall.
Una volta soddisfatti i prerequisiti, puoi attivare (o disattivare) il criterio di autorizzazione binaria quando crei un nuovo cluster o aggiorni un cluster esistente.
Attiva il criterio di Autorizzazione binaria durante la creazione del cluster
Puoi abilitare l'applicazione dei criteri di Autorizzazione binaria con gkectl
o gcloud CLI.
gkectl
Per attivare l'Autorizzazione binaria quando crei un cluster con gkectl:
Prima di creare il cluster, aggiungibinaryAuthorization.evaluationMode al file di configurazione del cluster utente come mostrato nell'esempio seguente:
project_singleton_policy_enforce: applica le regole specificate nel criterio di Autorizzazione binaria, noto anche come criterio progetto-singleton, al tuo progetto Google Cloud per governare il deployment delle immagini dei contenitori nel cluster.
disabled: disattiva l'utilizzo di Autorizzazione binaria per il tuo cluster.
Questo è il valore predefinito. Se ometti binaryAuthorization, la funzionalità viene disattivata.
Apporta le altre modifiche necessarie al file di configurazione del cluster, quindi
esegui il comando gkectl create cluster.
Abilita o disabilita il criterio di autorizzazione binaria per un cluster esistente
Se hai già un cluster della versione 1.28 o successiva, puoi attivare o disattivare l'autorizzazione binaria in qualsiasi momento utilizzando gkectl o gcloud CLI.
gkectl
Per attivare:
Modifica il file di configurazione del cluster per aggiungere i campi binaryAuthorization:
ADMIN_CLUSTER_KUBECONFIG: il percorso del
file kubeconfig del cluster di amministrazione
USER_CLUSTER_CONFIG_FILE: il percorso del
file di configurazione del cluster utente.
Attendi che il deployment denominato binauthz-module-deployment nello spazio dei nomi binauthz-system sia pronto.
Quando il deployment è pronto, Autorizzazione binaria applica le regole specificate nel criterio di Autorizzazione binaria, noto anche come criterio singleton del progetto. Questo criterio è associato al tuo
Google Cloud progetto e specifica le regole che regolano il deployment delle
immagini container. Per ulteriori informazioni sull'utilizzo di gkectl per aggiornare un cluster, consulta Aggiornare i cluster.
Per ulteriori informazioni sui criteri e sulle regole di Autorizzazione binaria, consulta la Panoramica di Autorizzazione binaria.
Per disattivarla:
Modifica il file di configurazione del cluster e rimuovi la sezione binaryAuthorization o imposta evaluationMode su disabled.
Dopo aver apportato questa modifica, attendi qualche minuto fino a quando il deployment denominato
binauthz-module-deployment nello spazio dei nomi binauthz-system non viene
rimosso.
Risoluzione dei problemi
Se non completi tutti i prerequisiti, potresti visualizzare un messaggio come quello riportato di seguito che indica un problema con la configurazione di Autorizzazione binaria:
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
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-01 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```"]]