El nivel premium de Assured Open Source Software (Assured OSS) te permite mejorar la seguridad de tu código usando los paquetes de software libre que Google utiliza en sus propios flujos de trabajo de desarrollo. Cuando usas Assured OSS, tus desarrolladores pueden aprovechar la experiencia y los conocimientos de seguridad que aplica Google para proteger sus propias dependencias de código abierto.
Cuando integras Assured OSS con Security Command Center, puedes hacer lo siguiente:
- Elige entre miles de paquetes de Java y Python seleccionados y populares, incluidos proyectos comunes de aprendizaje automático e inteligencia artificial, como TensorFlow, Pandas y Scikit-learn.
- Configura un proxy seguro para descargar todos los paquetes de Java, Python y JavaScript con certificaciones de Assured OSS, lo que convierte a Google en un proveedor conocido y de confianza.
- Usa las listas de materiales de software y los documentos VEX de Assured OSS, que se proporcionan en formatos estándar del sector, como SPDX y CycloneDX, para obtener más información sobre los ingredientes.
- Mejora la confianza en la integridad de los paquetes que utilizas a través de procedencias firmadas y a prueba de manipulaciones de Google.
- Reduce los riesgos de seguridad, ya que Google analiza, detecta y corrige de forma activa las nuevas vulnerabilidades en los paquetes seleccionados.
Antes de empezar
Completa estas tareas antes de completar las tareas restantes de esta página.
Activar el nivel Enterprise de Security Command Center
Comprueba que el nivel Enterprise de Security Command Center esté activado a nivel de organización y que hayas completado los seis primeros pasos de la guía de configuración.
Configurar permisos a nivel de organización
Debe configurar los permisos a nivel de organización y de proyecto.
-
Make sure that you have the following role or roles on the organization: Security Center Admin, Organization Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the organization.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona la organización.
- Haz clic en Conceder acceso.
-
En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.
- En la lista Selecciona un rol, elige un rol.
- Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
- Haz clic en Guardar.
Configurar permisos a nivel de proyecto
-
Make sure that you have the following role or roles on the project: Service Usage Admin, Service Account Admin, Project IAM Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Conceder acceso.
-
En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.
- En la lista Selecciona un rol, elige un rol.
- Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
- Haz clic en Guardar.
Configurar Google Cloud CLI
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Configurar Assured OSS
Consola
En la Google Cloud consola, ve a la guía de configuración de Security Command Center.
Comprueba que estás viendo la organización en la que has activado el nivel Enterprise de Security Command Center.
Abre el panel Resumen de las funciones de seguridad.
Haz clic en Seguridad del código > Configurar.
En el panel Configurar seguridad del código, haz clic en Configuración de AOSS.
Selecciona una cuenta de servicio nueva o las cuentas de servicio que quieras añadir a los permisos de Assured Open Source Software.
Selecciona el Google Cloud proyecto en el que quieras ubicar los recursos de Assured OSS.
Haz clic en Configurar Assured OSS.
El proceso de configuración completa automáticamente lo siguiente:
- Si se selecciona, se crea la cuenta de servicio.
assuredoss@PROJECT_ID.gservicesaccount.com
- Asigna el rol de usuario de Assured OSS a la cuenta de servicio designada para usarla con Assured OSS.
- Asigna el rol de administrador de Assured OSS a la cuenta de usuario que ha iniciado sesión para que pueda configurar el servicio.
- Habilita la API Assured Open Source Software y, si aún no está habilitada, la API Artifact Registry.
- Configura el servicio de proxy de Assured OSS en una instancia de Artifact Registry del proyecto que hayas seleccionado. Se proporciona un repositorio para cada lenguaje (Java, Python y JavaScript). Estos repositorios pueden extraer automáticamente paquetes de la cartera seleccionada. Si un paquete no está disponible en la cartera seleccionada, los repositorios redirigen la solicitud a los repositorios canónicos. El servicio proxy solo está disponible en Estados Unidos.
- Te concede a ti y a la cuenta de servicio permisos para acceder a los metadatos y las notificaciones de los paquetes de proyectos propiedad de Google.
- Si se selecciona, se crea la cuenta de servicio.
Crea una clave de cuenta de servicio para cada cuenta de servicio de Assured OSS designada y descarga la clave en formato JSON.
En la línea de comandos de tu máquina local, ejecuta el siguiente comando en el archivo de claves descargado para obtener la cadena codificada en base64:
base64 KEY_FILENAME.json
Sustituye
KEY_FILENAME.json
por el nombre de la clave de cuenta de servicio que has descargado.Necesitarás la cadena codificada en Base64 cuando configures un repositorio remoto para Assured OSS.
Para descargar los paquetes, usa los endpoints que proporciona Assured OSS para cada idioma. Anota estos endpoints para usarlos más adelante.
- Java:
https://us-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://us-python.pkg.dev/
PROJECT_ID
/assuredoss-python - JavaScript:
https://us-npm.pkg.dev/
PROJECT_ID
/assuredoss-javascript
Sustituye
PROJECT_ID
por el ID del proyecto que seleccionaste al configurar Assured OSS.- Java:
Haz clic en Siguiente. Configura Assured OSS con el gestor de repositorios de artefactos de tu organización, como JFrog Artifactory o Sonatype Nexus.
gcloud
Autentícate en Google Cloud con una cuenta de usuario que quieras usar para habilitar Assured OSS:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login
Busca el proyecto en el que quieras localizar los recursos de Assured OSS:
gcloud alpha projects search --query="displayName=PROJECT_NAME"
Sustituye
PROJECT_NAME
por el nombre del proyecto.Define el proyecto en el que quieras ubicar los recursos de Assured OSS:
gcloud config set project PROJECT_ID
Sustituye
PROJECT_ID
por el identificador del proyecto.Asigna roles a la cuenta de usuario para configurar Assured OSS:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/assuredoss.admin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/serviceusage.serviceUsageAdmin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/iam.serviceAccountAdmin
Donde
email@domain.com
es la dirección de correo de tu cuenta de usuario.Habilita Assured OSS en el proyecto. Al habilitar Assured OSS, también se habilita la API de Artifact Registry.
gcloud services enable assuredoss.googleapis.com
Para crear una cuenta de servicio para Assured OSS en lugar de usar cuentas de servicio que ya tengas, sigue estos pasos:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="Service account for using Assured OSS" --display-name="Assured OSS service account"
Sustituye
SERVICE_ACCOUNT_NAME
por el nombre de la cuenta de servicio (por ejemplo,assuredoss
).Configura las cuentas de servicio de Assured OSS:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/assuredoss.user
Haz los cambios siguientes:
SERVICE_ACCOUNT_NAME
: el nombre de la cuenta de servicio (por ejemplo,assuredoss
).PROJECT_ID
: el identificador del proyecto.
- Para acceder al repositorio de metadatos de seguridad después de configurar Assured OSS Premium con gcloud, envía un correo a customer-support-aoss@google.com con las cuentas de servicio que hayas habilitado para Assured OSS.
Configura el servicio de proxy de Assured OSS en una instancia de Artifact Registry creando repositorios de Assured OSS. Debes crear repositorios para todos los idiomas. El servicio proxy de Assured OSS que aprovisiona los repositorios solo admite la región de EE. UU.
alias gcurlj='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -X' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-java -d '{"format": "MAVEN", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-javascript -d '{"format": "NPM", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-python -d '{"format": "PYTHON", "mode": "AOSS_REPOSITORY"}'
Sustituye
PROJECT_ID
por el ID del proyecto que seleccionaste al configurar Assured OSS.Estos repositorios pueden extraer automáticamente paquetes de la cartera seleccionada. Si un paquete no está disponible en la cartera seleccionada, los repositorios redirigen la solicitud a los repositorios canónicos.
Crea una clave de cuenta de servicio para cada cuenta de servicio de Assured OSS y descarga la clave en formato JSON.
En la línea de comandos, ejecuta el siguiente comando en el archivo de claves descargado para obtener la cadena codificada en base64:
base64 KEY_FILENAME.json
Sustituye
KEY_FILENAME.json
por el nombre de la clave de cuenta de servicio que has descargado.Necesitarás la cadena codificada en Base64 cuando configures un repositorio remoto para Assured OSS.
Para descargar los paquetes, usa los endpoints proporcionados por Assured OSS para cada idioma. Toma nota de estos endpoints:
- Java:
https://us-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://us-python.pkg.dev/
PROJECT_ID
/assuredoss-python - JavaScript:
https://us-npm.pkg.dev/
PROJECT_ID
/assuredoss-javascript
Sustituye
PROJECT_ID
por el ID del proyecto que seleccionaste al configurar Assured OSS.- Java:
Configura Assured OSS para descargar paquetes con el gestor de repositorios de artefactos de tu organización, como JFrog Artifactory o Sonatype Nexus.
También puedes ver los paquetes de Java, Python y JavaScript disponibles:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login --cred-file=KEY_FILENAME.json
Sustituye
KEY_FILENAME.json
por el nombre de la clave de cuenta de servicio que has descargado.export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILENAME.json
Sustituye
KEY_FILENAME.json
por el nombre de la clave de cuenta de servicio que has descargado.gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-java/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-python/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-javascript/packages"
Sustituye
PROJECT_ID
por el ID del proyecto que seleccionaste al configurar Assured OSS.
Siguientes pasos
- Configurar la compatibilidad con Controles de Servicio de VPC
- Validar la conexión
- Descargar paquetes de Java
- Descargar paquetes de Python
- Configurar un repositorio remoto
- Verificar los metadatos de seguridad
- Configurar notificaciones de actualizaciones de paquetes
-
-