Per ulteriori informazioni sulla federazione delle identità per la forza lavoro, consulta Federazione delle identità per la forza lavoro.
Per informazioni sulle limitazioni alla federazione delle identità per la forza lavoro in Secure Source Manager, consulta Federazione delle identità: prodotti e limitazioni.
Secure Source Manager è un servizio single-tenant. Una singola istanza Secure Source Manager deve includere solo utenti di un unico clienteGoogle Cloud , a meno che più aziende che hanno un rapporto contrattuale non debbano utilizzare una singola istanza per la collaborazione.
Se collabori con più aziende e vuoi collaborare con loro sul codice sorgente, ti consigliamo di creare un'istanza separata per ogni azienda.
Prima di iniziare
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init Crea un pool federazione delle identità per la forza lavoro.
Configura il fornitore del pool di identità per la forza lavoro con le seguenti mappature degli attributi:
google.subjectgoogle.email
- INSTANCE_ID: il nome dell'istanza che vuoi creare.
- LOCATION: la regione in cui vuoi creare l'istanza. Per informazioni sulle località supportate, vedi Località.
- PROJECT_ID: l'ID progetto del progetto in cui vuoi creare un'istanza.
- INSTANCE_ID: il nome dell'istanza che vuoi creare.
- LOCATION: la regione in cui vuoi creare l'istanza. Per informazioni sulle località supportate, vedi Località.
- PROJECT_ID: l'ID progetto del progetto in cui vuoi creare un'istanza.
OPERATION_NAME: il nome dell'operazione, ad esempioprojects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e.PROJECT_ID: il Google Cloud progetto.LOCATION: la regione in cui si trova l'istanza.- OPERATION_NAME: il nome dell'operazione dalla risposta del comando create.
- LOCATION: la regione dell'istanza.
- OPERATION_NAME: il nome dell'operazione dalla risposta del comando create.
-
Per accedere all'istanza di Secure Source Manager tramite la sua interfaccia web, copia il seguente URL nella barra degli indirizzi del browser.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.devSostituisci quanto segue:
- INSTANCE_ID con il nome dell'istanza.
- PROJECT_NUMBER con il numero di progetto Google Cloud dell'istanza. Per informazioni sull'identificazione dei progetti, consulta Identificazione dei progetti.
- LOCATION con la regione dell'istanza.
Viene visualizzata una schermata OAuth che richiede il nome del provider.
Inserisci il nome del provider di identità della forza lavoro nel seguente formato:
locations/global/workforcePools/POOL_ID/providers/PROVIDER_IDSostituisci quanto segue:
POOL_IDcon l'ID del tuo pool di federazione delle identità per la forza lavoro.PROVIDER_IDcon l'ID del provider di federazione delle identità per la forza lavoro.
Per ulteriori informazioni sui pool e sui provider di federazione delle identità per la forza lavoro, consulta Gestire i pool e i provider di identità della federazione delle identità per la forza lavoro.
Ti viene chiesto di accedere utilizzando le credenziali del tuo fornitore.
Accedi utilizzando le credenziali del tuo fornitore.
Si apre l'interfaccia web di Secure Source Manager. Da qui puoi creare e visualizzare repository, problemi e richieste di pull.
Devi accedere di nuovo tramite l'interfaccia web dopo la scadenza della durata della sessione nel pool di federazione delle identità per la forza lavoro.
- Concedi agli utenti l'accesso all'istanza.
- Concedi agli utenti l'accesso al repository.
- Controlla l'accesso con IAM.
Crittografia dei dati
Per impostazione predefinita, Google Cloud cripta automaticamente i dati at-rest utilizzando Google-owned and Google-managed encryption keys. Se hai requisiti di conformità o normativi specifici relativi alle chiavi che proteggono i tuoi dati, puoi creare istanze di Secure Source Manager criptate con chiavi di crittografia gestite dal cliente (CMEK).
Non archiviare dati sensibili negli ID istanza o nelle coppie chiave-valore delle etichette perché non sono criptati con CMEK.
Se stai creando la tua prima istanza Secure Source Manager nel tuo progetto, devi creare manualmente il service agent Secure Source Manager eseguendo il seguente comando:
gcloud services identity create \
--service=securesourcemanager.googleapis.com \
--project=PROJECT_ID
In questo caso, PROJECT_ID è l'ID progetto del progetto in cui crei l'istanza Secure Source Manager.
Dopo aver creato il account di servizio per prodotto e per progetto (P4SA), devi
concedere il ruolo Agente di servizio Secure Source Manager
(roles/securesourcemanager.serviceAgent) al service account principale
service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com
altrimenti la creazione dell'istanza non andrà a buon fine.
Configura la federazione delle identità per la forza lavoro
Prima di creare un'istanza, devi configurare un pool e un provider di federazione delle identità per la forza lavoro.
Crea un'istanza
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
Esegui questo comando:
Linux, macOS o Cloud Shell
gcloud source-manager instances create INSTANCE_ID --region=LOCATION --project=PROJECT_ID --enable-workforce-identity-federation
Windows (PowerShell)
gcloud source-manager instances create INSTANCE_ID --region=LOCATION --project=PROJECT_ID --enable-workforce-identity-federation
Windows (cmd.exe)
gcloud source-manager instances create INSTANCE_ID --region=LOCATION --project=PROJECT_ID --enable-workforce-identity-federation
Viene avviata un'operazione di creazione dell'istanza a lunga esecuzione. L'output è simile al seguente:
Create request issued for [my-instance].
done: false
metadata:
'@type': type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata
apiVersion: v1
createTime: '2023-02-27T20:57:52.315609549Z'
requestedCancellation: false
target: projects/my-project/locations/us-central1/instances/my-instance
verb: create
name: projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e
Dove projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e è il OPERATION_NAME.
Registra OPERATION_NAME, in quanto dovrai utilizzarlo per controllare lo stato dell'operazione.
La creazione dell'istanza richiede fino a 60 minuti.
API
Prima di eseguire questo comando, sostituisci i seguenti valori:
Esegui questo comando:
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}}"
Viene avviata un'operazione di creazione dell'istanza a lunga esecuzione. L'output è simile al seguente:
{
"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
}
Questo output di esempio include i seguenti valori:
Registra l'OPERATION_NAME perché devi utilizzarlo per controllare lo stato dell'operazione.
La creazione dell'istanza richiede fino a 60 minuti.
Terraform
L'esempio seguente crea un'istanza Secure Source Manager con la federazione delle identità per i lavoratori abilitata:
resource "google_secure_source_manager_instance" "instance" {
instance_id = "INSTANCE_ID"
location = "LOCATION"
project = "PROJECT_ID"
workforce_identity_federation_config {
enabled = true
}
}
Controlla lo stato dell'operazione
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
Esegui questo comando:
Linux, macOS o Cloud Shell
gcloud source-manager operations describe OPERATION_NAME --region=LOCATION
Windows (PowerShell)
gcloud source-manager operations describe OPERATION_NAME --region=LOCATION
Windows (cmd.exe)
gcloud source-manager operations describe OPERATION_NAME --region=LOCATION
Quando l'istanza è pronta, la risposta sarà simile alla seguente:
"name": "projects/my-project/locations/us-central1/operations/operation-123456789012-5ec69948c0f2b-60dd727f-a9b97a2e",
"metadata": {
"@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata",
"createTime": "2022-11-01T14:31:32.420469714Z",
"endTime": "2022-11-01T14:48:34.140378114Z",
"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": "2022-11-01T14:31:32.416413630Z",
"updateTime": "2022-11-01T14:31:32.416413630Z",
"labels": {
"ldap": "user",
"source": "manual"
},
"state": "ACTIVE",
"hostConfig": {
"html": "my-instance-098765432109.us-central1.sourcemanager.dev",
"api": "my-instance-098765432109-api.us-central1.sourcemanager.dev",
"gitHttp": "my-instance-098765432109-git.us-central1.sourcemanager.dev"
}
}
dove my-instance-098765432109.us-central1.sourcemanager.dev è l'URL HTML dell'istanza.
API
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
Metodo HTTP e URL:
GET https://securesourcemanager.googleapis.com/v1/OPERATION_NAME
Per inviare la richiesta, espandi una di queste opzioni:
Quando l'istanza è pronta, la risposta sarà simile alla seguente:
"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
}
}
dove my-instance-098765432109.us-central1.sourcemanager.dev è l'URL HTML dell'istanza.
Copia l'URL HTML dalla risposta con lo stato di controllo riuscito. Questo URL è necessario per accedere all'istanza tramite la sua interfaccia web.
Accedere all'istanza
Dopo aver creato l'istanza, puoi accedervi tramite la sua interfaccia web utilizzando un browser.
Crea la configurazione di accesso a gcloud CLI
Per autenticarti con le credenziali del tuo pool di identità della forza lavoro nell'istanza di Secure Source Manager utilizzando i comandi gcloud CLI o Git, devi creare una configurazione di accesso con il tuo pool di identità della forza lavoro.
Per creare una configurazione di accesso al pool di identità della forza lavoro, segui le istruzioni riportate in Recuperare token di breve durata per la federazione delle identità per la forza lavoro per creare un accesso basato sul browser con gcloud CLI.
Una volta eseguita l'autenticazione, puoi utilizzare i comandi Git per interagire con l'istanza di Secure Source Manager. Per iniziare a utilizzare Git, consulta Utilizzare la gestione del codice sorgente Git.