Para obtener más información sobre Workforce Identity Federation, consulta Workforce Identity Federation.
Para obtener información sobre las limitaciones de la federación de identidades de Workforce en Secure Source Manager, consulte Federación de identidades: productos y limitaciones.
Secure Source Manager es un servicio de un solo inquilino. Una sola instancia de Secure Source Manager solo debe incluir usuarios de un cliente, a menos que varias empresas que tengan una relación contractual necesiten usar una sola instancia para colaborar.Google Cloud
Si trabajas con varias empresas y quieres colaborar con ellas en el código fuente, te recomendamos que crees una instancia independiente para cada empresa.
Antes de empezar
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Enable the Secure Source Manager API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Enable the Secure Source Manager API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
- Instala el componente
beta
Google Cloud CLI:gcloud components install beta
Configura tu proveedor de grupos de identidades de carga de trabajo con las siguientes asignaciones de atributos:
google.subject
google.email
- INSTANCE_ID: el nombre de la instancia que quieras crear.
- LOCATION: la región en la que quieres crear la instancia. Para obtener información sobre las ubicaciones admitidas, consulta Ubicaciones.
- PROJECT_ID: el ID del proyecto en el que quieres crear una instancia.
OPERATION_NAME
: el nombre de la operación. Por ejemplo,projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e
.PROJECT_ID
: el Google Cloud proyecto.LOCATION
: la región en la que se encuentra la instancia.- OPERATION_NAME: el nombre de la operación de la respuesta del comando create.
-
Para acceder a la instancia de Secure Source Manager a través de su interfaz web, copie la siguiente URL en la barra de direcciones de su navegador.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev
Haz los cambios siguientes:
- INSTANCE_ID con el nombre de la instancia.
- PROJECT_NUMBER con el número de proyecto de la instancia. Google Cloud Para obtener información sobre cómo identificar proyectos, consulta el artículo Identificar proyectos.
- LOCATION con la región de la instancia.
Aparecerá una pantalla de OAuth en la que se te pedirá el nombre de tu proveedor.
Introduce el nombre de tu proveedor de identidades de la plantilla con el siguiente formato:
locations/global/workforcePools/POOL_ID/providers/PROVIDER_ID
Haz los cambios siguientes:
POOL_ID
con el ID de tu grupo de Workforce Identity Federation.PROVIDER_ID
con el ID de tu proveedor de Workforce Identity Federation.
Para obtener más información sobre los grupos y proveedores de Federación de Identidades de Workforce, consulta Gestionar grupos y proveedores de Federación de Identidades de Workforce.
Se te pedirá que inicies sesión con las credenciales de tu proveedor.
Inicia sesión con las credenciales de tu proveedor.
Se abrirá la interfaz web de Secure Source Manager. Puedes crear y ver repositorios, así como todos los problemas y solicitudes de extracción asociados, desde la interfaz web.
Debes volver a iniciar sesión a través de la interfaz web después de que caduque la duración de la sesión definida en tu grupo de federación de identidades de la plantilla.
- Conceder acceso a la instancia a los usuarios.
- Concede acceso al repositorio a los usuarios.
- Controlar el acceso con la gestión de identidades y accesos.
Encriptado de datos
De forma predeterminada, Google Cloud se encriptan automáticamente los datos en reposo mediante Google-owned and Google-managed encryption keys. Si tienes requisitos de cumplimiento o normativos específicos relacionados con las claves que protegen tus datos, puedes crear instancias de Secure Source Manager cifradas con claves de cifrado gestionadas por el cliente (CMEK).
No almacenes datos sensibles en IDs de instancia ni en pares clave-valor de etiquetas, ya que no están cifrados con CMEK.
Si vas a crear tu primera instancia de Secure Source Manager en tu proyecto, debes crear manualmente el agente de servicio de Secure Source Manager ejecutando el siguiente comando:
gcloud beta services identity create \
--service=securesourcemanager.googleapis.com \
--project=PROJECT_ID
Donde PROJECT_ID
es el ID del proyecto en el que crearás tu instancia de Secure Source Manager.
Después de crear la cuenta de servicio por producto y por proyecto (P4SA), debes asignar el rol Agente de servicio de Secure Source Manager (roles/securesourcemanager.serviceAgent
) al principal service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com, ya que, de lo contrario, no se podrá crear la instancia.
Configurar Workforce Identity Federation
Antes de crear una instancia, debes configurar un grupo y un proveedor de federación de identidades de los trabajadores.
Crear una instancia
Antes de ejecutar el comando, haz los siguientes cambios:
Ejecuta el comando siguiente:
curl \
-X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?instance_id=INSTANCE_ID \
-H "Content-Type: application/json" \
-d "{workforce_identity_federation_config: {enabled: true}}"
Se inicia una operación de creación de instancias de larga duración. La salida tiene un aspecto similar al siguiente:
{
"name": "OPERATION_NAME",
"metadata": {
"@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata",
"createTime": "2022-11-01T14:31:32.420469714Z",
"target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Este ejemplo de salida incluye los siguientes valores:
Anota el OPERATION_NAME
, ya que lo necesitarás para comprobar el estado de la operación.
La creación de la instancia puede tardar hasta 60 minutos.
Comprobar el estado de la operación de creación
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
Método HTTP y URL:
GET https://securesourcemanager.googleapis.com/v1/OPERATION_NAME
Para enviar tu solicitud, despliega una de estas opciones:
Cuando la instancia esté lista, la respuesta tendrá un aspecto similar al siguiente:
"name": "projects/my-project/locations/us-central1/operations/operation-123456789012-5ec69948c0f2b-60dd727f-a9b97a2e", "metadata": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata", "createTime": "2024-10-28T15:37:39.009812863Z", "endTime": "2024-10-28T16:10:58.416640259Z", "target": "projects/my-project/locations/us-central1/instances/my-instance", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.Instance", "name": "projects/my-project/locations/us-central1/instances/my-instance", "createTime": "2024-10-28T15:37:39.004550840Z", "updateTime": "2024-10-28T15:37:39.867857246Z", "state": "ACTIVE", "hostConfig": { "html": "my-instance-326202322590.us-central1.sourcemanager.dev", "api": "my-instance-326202322590-api.us-central1.sourcemanager.dev", "gitHttp": "my-instance-326202322590-git.us-central1.sourcemanager.dev", "gitSsh": "my-instance-326202322590-ssh.us-central1.sourcemanager.dev" }, "workforceIdentityFederationConfig": { "enabled": true } }
Donde my-instance-098765432109.us-central1.sourcemanager.dev
es la URL HTML de la instancia.
Copia la URL HTML de la respuesta de comprobación de estado que se ha creado correctamente. Necesitarás esta URL para acceder a la instancia a través de su interfaz web.
Acceder a la instancia
Una vez creada la instancia, puedes acceder a ella a través de su interfaz web con un navegador.
Crea tu configuración de inicio de sesión de gcloud CLI
Para autenticarte con las credenciales de tu grupo de identidades de empleados en tu instancia de Secure Source Manager mediante comandos de la CLI de gcloud o comandos de Git, debes crear una configuración de inicio de sesión con tu grupo de identidades de empleados.
Para crear una configuración de inicio de sesión de un grupo de identidades de Workforce, sigue las instrucciones de Obtener tokens de corta duración para la federación de identidades de Workforce para crear un inicio de sesión basado en navegador con la CLI de gcloud.
Una vez que te hayas autenticado, podrás usar comandos de Git para interactuar con tu instancia de Secure Source Manager. Para empezar a usar Git, sigue las instrucciones que se indican en el artículo Usar la gestión de código fuente de Git.