En esta página, se muestra cómo otorgar acceso a la Autorización Binaria a las políticas y a las imágenes de contenedor que existen en proyectos de Google Cloud diferentes de los de tu proyecto actual. Por ejemplo, si implementas imágenes en tu clúster de Google Kubernetes Engine (GKE) desde un repositorio de Artifact Registry o Container Registry (obsoleto) que pertenece a otro proyecto, deberás otorgar al servicio de autorización binaria en tu proyecto acceso a los metadatos de imágenes en el repositorio de código fuente.
Terminología
En este documento, se usan los siguientes términos:
- Agente de servicio: Una cuenta de servicio administrada por Google Cloud. La Autorización Binaria usa un agente de servicio para interactuar con tus recursos de Google Cloud, como los clústeres de GKE.
- Proyecto de política: el proyecto de Google Cloud que contiene tu política de Autorización Binaria.
- Proyecto del clúster: El proyecto de Google Cloud que contiene tu clúster de GKE.
- Proyecto de artefactos: El proyecto de Google Cloud que contiene tu repositorio de Artifact Registry o Container Registry (obsoleto).
Situaciones que requieren acceso entre proyectos
Debes otorgar permisos entre proyectos en situaciones como las siguientes:
- El proyecto de tu política es diferente del proyecto del clúster.
- El proyecto del clúster es diferente del proyecto del artefacto.
Antes de comenzar
- 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
El proyecto del clúster es diferente del proyecto de política
Otorga al agente de servicio de Autorización Binaria en el proyecto del clúster la función
Evaluador de políticas de autorización binaria
(roles/binaryauthorization.policyEvaluator
)
en el proyecto de política.
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
Reemplaza lo siguiente:
POLICY_PROJECT_ID
: El ID del proyecto que contiene tu política.CLUSTER_PROJECT_ID
: El ID del proyecto del clúster.
Proyecto de clúster diferente al proyecto de artefacto
Otorga al agente de servicio de autorización binaria en el proyecto del clúster la función de lector de Artifact Registry (roles/artifactregistry.reader
) en el proyecto de artefacto.
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
Reemplaza lo siguiente:
ARTIFACT_PROJECT_ID
: El ID del proyecto que contiene tu repositorio de Artifact Registry.CLUSTER_PROJECT_ID
: El ID del proyecto que ejecuta tus clústeres de GKE.