En este documento se explica cómo configurar Autorización binaria para clústeres locales creados como parte de Google Distributed Cloud. A continuación, se explica cómo configurar una política de autorización binaria de ejemplo.
Antes de empezar
Asegúrate de que tus clústeres tengan una versión compatible de Google Distributed Cloud. Autorización binaria admite los siguientes entornos.
Bare metal
Google Distributed Cloud 1.14 o 1.15. En la versión 1.16 o posteriores, la autorización binaria se puede configurar durante la creación o la actualización del clúster.
VMware
Distributed Cloud for VMware (Google Distributed Cloud) 1.4 o versiones posteriores.
El servicio Autorización binaria usa una dirección IP externa a la que se puede acceder mediante una conexión a Internet normal. Configura las reglas de cortafuegos para HTTPS de forma que el clúster de usuarios pueda acceder al endpoint
binaryauthorization.googleapis.com.Bare metal
Configura las reglas de cortafuegos de Google Distributed Cloud.
VMware
Configura las reglas de cortafuegos de Google Distributed Cloud.
Si quieres usar registros de auditoría de Cloud centralizados para ver las entradas de registro de auditoría, incluidas las de Autorización binaria para clústeres externos Google Cloud, debes configurar los registros de auditoría de Cloud en la configuración de tu clúster.
Bare metal
Configura los registros de auditoría de Cloud en Google Distributed Cloud.
VMware
Configura los registros de auditoría de Cloud en Google Distributed Cloud.
Debes habilitar la API de autorización binaria de la siguiente manera:
Ve a la Google Cloud consola.
En la lista desplegable de proyectos, selecciona el proyecto host de tu flota. Puedes encontrarlo en la sección
gkeConnectde tu archivo de configuración de clúster de usuario. Este es el Google Cloud proyecto que conecta tu clúster de usuarios con Google Cloud.
Configurar autorización binaria
En esta sección, configurarás la autorización binaria en tu clúster local.
Especificar variables de entorno de instalación
Para especificar las variables de entorno, haga lo siguiente:
Usar Workload Identity
Especifica el proyecto host de tu flota:
export PROJECT_ID=PROJECT_IDAsigna el ID de pertenencia a la flota al ID de tu clúster:
El ID de la suscripción se muestra en la columna
NAMEcuando ejecutas el comandogcloud container fleet memberships list.export MEMBERSHIP_ID=CLUSTER_NAME
Usar una clave de cuenta de servicio
Especifica el proyecto host de tu flota:
export PROJECT_ID=PROJECT_IDSustituye PROJECT_ID por el Google Cloud proyecto en la sección
gkeConnectde tu archivo de configuración del clúster de usuarios.Especifica la ruta del archivo kubeconfig del clúster de usuarios:
export KUBECONFIG=PATHSustituye PATH por la ruta del archivo kubeconfig de tu clúster de usuario.
Elige un nombre para la cuenta de servicio de acceso a la API de autorización binaria:
export SA_NAME=SERVICE_ACCOUNT_NAMESustituye SERVICE_ACCOUNT_NAME por el nombre de la cuenta de servicio que quieras. El módulo de autorización binaria usa esta cuenta de servicio para acceder a la API Binary Authorization.
Especifica la ruta al archivo de clave de cuenta de servicio que descargarás más adelante en esta guía:
export SA_JSON_PATH=SA_KEY_FILE_PATHSustituye SA_KEY_FILE_PATH por la ruta del archivo de clave JSON de la cuenta de servicio.
Instalar el módulo de autorización binaria en el clúster de usuario
Para instalar el módulo de autorización binaria, haz lo siguiente:
Usar Workload Identity
La identidad de carga de trabajo de flotas permite que las cargas de trabajo de tu clúster se autentiquen en Google sin que tengas que descargar, rotar manualmente y gestionar en general las claves de las cuentas de servicio. Google Cloud Para obtener más información sobre cómo funciona la identidad de cargas de trabajo de flotas y las ventajas de usarla, consulta el artículo Usar la identidad de cargas de trabajo de flotas.
Asigna el rol
binaryauthorization.policyEvaluatora la cuenta de servicio de Kubernetes en el proyecto host de tu flota:gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PROJECT_ID}.svc.id.goog[binauthz-system/binauthz-admin]" \ --role="roles/binaryauthorization.policyEvaluator"Crea un directorio de trabajo:
Crea un directorio llamado
binauthz.Cambia al directorio.
Descarga el archivo
manifest-wi-0.2.6.yaml.tmpl, que se usa para instalar el módulo de autorización binaria en tu clúster de usuario:Bare metal
gcloud storage cp gs://anthos-baremetal-release/binauthz/manifest-wi-0.2.6.yaml.tmpl .VMware
gcloud storage cp gs://gke-on-prem-release/binauthz/manifest-wi-0.2.6.yaml.tmpl .Sustituye las variables de entorno en la plantilla:
envsubst < manifest-wi-0.2.6.yaml.tmpl > manifest-0.2.6.yamlInstala el módulo de autorización binaria en tu clúster de usuario:
kubectl apply -f manifest-0.2.6.yamlVerifica que se haya creado la implementación:
kubectl get pod --namespace binauthz-systemVerá el pod
binauthz-module-deployment-*en la lista conStatusde