Se lavori con più aziende e vuoi collaborare con loro sul codice sorgente, ti consigliamo di creare un'istanza separata per ogni azienda.
Per creare un'istanza con Controlli di servizio VPC abilitati, consulta Configurare Secure Source Manager in un perimetro dei Controlli di servizio VPC.
Prima di iniziare
-
Accedi al tuo Account Google.
Se non ne hai già uno, registrati per creare un nuovo 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.-
Installa 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.-
Installa 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
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un'istanza Secure Source Manager,
chiedi all'amministratore di concederti il
ruolo IAM Proprietario dell'istanza Secure Source Manager (roles/securesourcemanager.instanceOwner)
nel Google Cloud progetto.
I ruoli Secure Source Manager non vengono visualizzati nella Google Cloud consolenon appena vengono concessi a un'entità. Per concedere un ruolo Secure Source Manager per la prima volta, consulta Concedi e revoca i ruoli IAM.
Crittografia dei dati
Per impostazione predefinita, Google Cloud cripta automaticamente i dati at-rest utilizzando chiavi di crittografia gestite da Google. Se hai requisiti di conformità o normativi specifici relativi alle chiavi che proteggono i tuoi dati, puoi creare istanze 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, dovrai creare manualmente il service agent Secure Source Manager eseguendo il seguente comando:
gcloud beta services identity create \
--service=securesourcemanager.googleapis.com \
--project=PROJECT_ID
Dove PROJECT_ID è l'ID progetto del progetto in cui creerai l'istanza Secure Source Manager.
Dopo aver creato il account di servizio per prodotto e per progetto (P4SA), devi
concedere il ruolo Service Agent Secure Source Manager
(roles/securesourcemanager.serviceAgent) all'entità
service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com
altrimenti la creazione dell'istanza non riuscirà.
Crea un'istanza
Per creare un'istanza:
Gcloud CLI
Esegui il comando seguente per creare un'istanza. Ti potrebbe essere chiesto di autenticarti a gcloud CLI.
gcloud source-manager instances create INSTANCE_ID \ --region=LOCATION \ --project=PROJECT_ID \ --kms-key=projects/KEY_PROJECT/locations/KEY_LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEYDove:
INSTANCE_IDè l'ID permanente dell'istanza. L'ID deve utilizzare solo lettere minuscole, numeri e trattini, deve iniziare con una lettera e non può essere modificato dopo la creazione.LOCATIONè la regione in cui vuoi creare l'istanza. Per informazioni sulle località supportate, consulta Località.PROJECT_IDè l'ID progetto del progetto in cui vuoi creare un'istanza.-kms-keyè un flag facoltativo. Includilo se vuoi utilizzare la tua chiave di crittografia gestita dal cliente (CMEK) per creare l'istanza. Le chiavi CMEK devono trovarsi nella stessa località in cui stai creando l'istanza, ma possono essere in un progetto diverso. Ometti questo flag se vuoi utilizzare la crittografia predefinita di Google. Se vuoi criptare i tuoi dati utilizzando CMEK, sostituisci quanto segue:KEY_PROJECTcon il progetto in cui hai creato la chiave.KEY_LOCATIONcon la località della chiave.KEYRING_NAMEcon il nome delle chiavi automatizzate.KEYcon il nome della chiave.
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-a9b97a2eDove
projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2eèOPERATION_NAME.La creazione dell'istanza richiede fino a 60 minuti.
Prendi nota di
OPERATION_NAMEperché dovrai utilizzarlo per controllare lo stato dell'operazione.Controlla lo stato dell'operazione
createeseguendo il seguente comando:gcloud source-manager operations describe OPERATION_NAME \ --region=LOCATIONSostituisci quanto segue:
OPERATION_NAMEcon il nome dell'operazione nella risposta al comando di creazione.LOCATIONcon la regione in cui vuoi creare l'istanza. Per informazioni sulle località supportate, consulta Località.
Una volta che 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/test", "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/test", "createTime": "2022-11-01T14:31:32.416413630Z", "updateTime": "2022-11-01T14:31:32.416413630Z", "labels": { "ldap": "user", "source": "manual" }, "state": "ACTIVE", "hostConfig": { "html": "test-098765432109.us-central1.sourcemanager.dev", "api": "test-098765432109-api.us-central1.sourcemanager.dev", "gitHttp": "test-098765432109-git.us-central1.sourcemanager.dev" } } }Dove
test-098765432109.us-central1.sourcemanager.devè l'URL HTML dell'istanza.Copia l'URL HTML dal comando di controllo dello stato creato correttamente. Avrai bisogno di questo URL per accedere all'istanza tramite la sua interfaccia web.
API
Esegui il comando seguente per creare un'istanza. Ti potrebbe essere chiesto di autenticarti a gcloud CLI.
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 '{ "kms_key":"projects/KEY_PROJECT/locations/KEY_LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY"}'Dove:
INSTANCE_IDè l'ID permanente dell'istanza. L'ID deve utilizzare solo lettere minuscole, numeri e trattini e deve iniziare con una lettera.LOCATIONè la regione in cui vuoi creare l'istanza. Per informazioni sulle località supportate, consulta Località.PROJECT_IDè l'ID progetto del progetto in cui vuoi creare un'istanza.-dè un flag di dati HTTP POST facoltativo che può essere utilizzato per specificare una chiave CMEK per criptare l'istanza. Ometti questo flag se vuoi utilizzare la crittografia predefinita di Google. Se vuoi criptare i tuoi dati utilizzando CMEK, sostituisci quanto segue:KEY_PROJECTcon il progetto in cui hai creato la chiave.KEY_LOCATIONcon la località della chiave.KEYRING_NAMEcon il nome delle chiavi automatizzate.KEYcon il nome della chiave.
Viene avviata un'operazione di creazione dell'istanza a lunga esecuzione. L'output è simile al seguente:
{ "name": "projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e", "metadata": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata", "createTime": "2022-11-01T14:31:32.420469714Z", "target": "projects/my-project/locations/us-central1/instances/test", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }Dove
projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2eèOPERATION_NAME.La creazione dell'istanza richiede fino a 60 minuti.
Copia
OPERATION_NAME.Controlla lo stato dell'operazione di creazione eseguendo il seguente comando:
curl \ -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/OPERATION_NAMEDove OPERATION_NAME è il nome dell'operazione nella risposta al comando di creazione.
Una volta che 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/test", "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/test", "createTime": "2022-11-01T14:31:32.416413630Z", "updateTime": "2022-11-01T14:31:32.416413630Z", "labels": { "ldap": "user", "source": "manual" }, "state": "ACTIVE", "hostConfig": { "html": "test-098765432109.us-central1.sourcemanager.dev", "api": "test-098765432109-api.us-central1.sourcemanager.dev", "gitHttp": "test-098765432109-git.us-central1.sourcemanager.dev" } } }Dove
test-098765432109.us-central1.sourcemanager.devè l'URL HTML dell'istanza.Copia l'URL HTML dal comando di controllo dello stato creato correttamente. Avrai bisogno di questo URL per accedere all'istanza tramite la sua interfaccia web.
Accedi a un'istanza
Dopo aver creato l'istanza, puoi accedervi tramite la sua interfaccia web utilizzando un browser.
Per creare repository nell'istanza
devi disporre del ruolo Creatore repository (roles/securesourcemanager.repoCreator) nel
progetto dell'istanza e del ruolo Creatore repository istanza
(roles/securesourcemanager.instanceRepositoryCreator) nell'istanza Secure Source Manager.
-
Per accedere all'istanza 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 del progetto dell'istanza. Google CloudPer informazioni sull'identificazione dei progetti, consulta Identificare i progetti.
- LOCATION con la regione dell'istanza.
Viene visualizzata una schermata OAuth che ti chiede se vuoi concedere a
sourcemanager.devl'accesso al tuo Account Google.Fai clic sul pulsante Consenti.
Si apre l'interfaccia web di Secure Source Manager. Puoi creare e visualizzare repository e tutti i problemi e le richieste di pull associati dall'interfaccia web.
Passaggi successivi
- Concedi agli utenti l'accesso all'istanza.
- Crea e clona un repository.
- Concedi agli utenti l'accesso al repository.
- Controlla l'accesso con IAM.