Cette page explique comment accorder une autorisation binaire aux règles et aux images de conteneurs existant dans des projets Google Cloud différents de votre projet actuel. Par exemple, si vous déployez des images dans votre cluster Google Kubernetes Engine (GKE) à partir d'un dépôt Artifact Registry ou Container Registry (obsolète) appartenant à un autre projet, vous devez accorder au service d'autorisation binaire de votre projet l'accès aux métadonnées d'image dans le dépôt source.
Terminologie
Ce document utilise les termes suivants :
- Agent de service : compte de service géré par Google Cloud. L'autorisation binaire utilise un agent de service pour interagir avec vos ressources Google Cloud, telles que les clusters GKE.
- Projet de règles : projet Google Cloud qui contient votre règle d'autorisation binaire.
- Projet de clusters : projet Google Cloud qui contient votre cluster GKE.
- Projet d'artefacts : projet Google Cloud contenant votre dépôt Artifact Registry ou Container Registry (obsolète).
Scénarios nécessitant un accès entre projets
Vous devez accorder des autorisations entre projets dans les situations suivantes :
- Votre projet de règles est différent de votre projet de clusters.
- Votre projet de clusters est différent de votre projet d'artefacts.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Binary Authorization API:
gcloud services enable binaryauthorization.googleapis.com
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Binary Authorization API:
gcloud services enable binaryauthorization.googleapis.com
Projet de clusters différent du projet de règles
Accordez à l'agent de service d'autorisation binaire du projet de clusters le rôle Évaluateur des règles d'autorisation binaire (roles/binaryauthorization.policyEvaluator
) sur le projet de règles.
gcloud projects add-iam-policy-bindingPOLICY_PROJECT_ID
\ --member="serviceAccount:service-$(gcloud projects describeCLUSTER_PROJECT_ID
--format='value(projectNumber)')@gcp-sa-binaryauthorization.iam.gserviceaccount.com" \ --role=roles/binaryauthorization.policyEvaluator
Remplacez les éléments suivants :
POLICY_PROJECT_ID
: ID du projet contenant votre règle.CLUSTER_PROJECT_ID
: ID de projet du cluster.
Projet de clusters différent du projet d'artefacts
Accordez à l'agent de service d'autorisation binaire du projet de clusters le rôle Lecteur Artifact Registry (roles/artifactregistry.reader
) sur le projet d'artefacts.
gcloud projects add-iam-policy-bindingARTIFACT_PROJECT_ID
\ --member="serviceAccount:service-$(gcloud projects describeCLUSTER_PROJECT_ID
--format='value(projectNumber)')@gcp-sa-binaryauthorization.iam.gserviceaccount.com" \ --role=roles/artifactregistry.reader
Remplacez les éléments suivants :
ARTIFACT_PROJECT_ID
: ID du projet contenant votre dépôt Artifact Registry.CLUSTER_PROJECT_ID
: ID du projet qui exécute vos clusters GKE.