Weitere Informationen zur Mitarbeiteridentitätsföderation finden Sie unter Mitarbeiteridentitätsföderation.
Informationen zu Einschränkungen der Mitarbeiteridentitätsföderation in Secure Source Manager finden Sie unter Identitätsföderation: Produkte und Einschränkungen.
Secure Source Manager ist ein Dienst für einzelne Mandanten. Eine einzelne Secure Source Manager-Instanz sollte nur Nutzer eines Google Cloud Kunden umfassen, es sei denn, mehrere Unternehmen mit einer vertraglichen Beziehung müssen eine einzelne Instanz für die Zusammenarbeit verwenden.
Wenn Sie mit mehreren Unternehmen zusammenarbeiten und mit ihnen gemeinsam an Quellcode arbeiten möchten, empfehlen wir, für jedes Unternehmen eine separate Instanz zu erstellen.
Hinweis
-
Melden Sie sich bei Ihrem Google-Konto an.
Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.
-
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.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
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.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
Datenverschlüsselung
Standardmäßig Google Cloud verschlüsseltruhende Daten automatisch mitGoogle-owned and Google-managed encryption keys. Wenn Sie bestimmte Compliance- oder gesetzliche Anforderungen für die Schlüssel zum Schutz Ihrer Daten erfüllen müssen, können Sie Secure Source Manager-Instanzen erstellen, die mit kundenverwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) verschlüsselt sind.
Speichern Sie keine vertraulichen Daten in Instanz-IDs oder Label-Schlüssel/Wert-Paaren, da diese nicht mit CMEK verschlüsselt werden.
Wenn Sie die erste Secure Source Manager-Instanz in Ihrem Projekt erstellen, müssen Sie den Secure Source Manager-Dienst-Agent manuell erstellen. Führen Sie dazu den folgenden Befehl aus:
gcloud beta services identity create \
--service=securesourcemanager.googleapis.com \
--project=PROJECT_ID
Dabei ist PROJECT_ID die Projekt-ID des Projekts, in dem Sie die Secure Source Manager-Instanz erstellen.
Nachdem Sie das dienstspezifische Dienstkonto pro Projekt (Per-Product, Per-Project Service Account, P4SA) erstellt haben, müssen Sie dem Prinzipal
service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com
die Rolle „Secure Source Manager-Dienst-Agent“
(roles/securesourcemanager.serviceAgent) zuweisen.
Andernfalls schlägt die Instanzerstellung fehl.
Mitarbeiteridentitätsföderation einrichten
Bevor Sie eine Instanz erstellen, müssen Sie einen Pool und einen Anbieter für die Mitarbeiteridentitätsföderation einrichten.
Erstellen Sie einen Pool für die Mitarbeiteridentitätsföderation.
Konfigurieren Sie Ihren Anbieter für Mitarbeiteridentitätspools mit den folgenden Attributzuordnungen:
google.subjectgoogle.email
Instanz erstellen
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- INSTANCE_ID: der Name der Instanz, die Sie erstellen möchten.
- LOCATION: die Region, in der Sie die Instanz erstellen möchten. Informationen zu unterstützten Standorten finden Sie unter Standorte.
- PROJECT_ID: die Projekt-ID des Projekts, in dem Sie eine Instanz erstellen möchten.
Führen Sie den folgenden Befehl aus:
Linux, macOS oder 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
Ein Vorgang mit langer Ausführungszeit zum Erstellen einer Instanz wird gestartet. Die Ausgabe sieht etwa so aus:
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
Dabei ist projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e der OPERATION_NAME.
Notieren Sie sich den OPERATION_NAME, da Sie ihn benötigen, um den Status des Vorgangs zu prüfen.
Das Erstellen der Instanz dauert bis zu 60 Minuten.
API
Ersetzen Sie die folgenden Werte, bevor Sie diesen Befehl ausführen:
- INSTANCE_ID: der Name der Instanz, die Sie erstellen möchten.
- LOCATION: die Region, in der Sie die Instanz erstellen möchten. Informationen zu unterstützten Standorten finden Sie unter Standorte.
- PROJECT_ID: die Projekt-ID des Projekts, in dem Sie eine Instanz erstellen möchten.
Führen Sie dazu diesen Befehl aus:
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}}"
Ein Vorgang mit langer Ausführungszeit zum Erstellen einer Instanz wird gestartet. Die Ausgabe sollte so aussehen:
{
"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
}
Diese Beispielausgabe enthält die folgenden Werte:
OPERATION_NAME: der Name des Vorgangs, z. B.projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e.PROJECT_ID: das Google Cloud Projekt.LOCATION: die Region, in der sich die Instanz befindet.
Notieren Sie sich den OPERATION_NAME, da Sie ihn benötigen, um den Status des Vorgangs zu prüfen.
Das Erstellen der Instanz dauert bis zu 60 Minuten.
Terraform
Im folgenden Beispiel wird eine Secure Source Manager-Instanz mit aktivierter Mitarbeiteridentitätsföderation erstellt:
resource "google_secure_source_manager_instance" "instance" {
instance_id = "INSTANCE_ID"
location = "LOCATION"
project = "PROJECT_ID"
workforce_identity_federation_config {
enabled = true
}
}
Vorgangsstatus prüfen
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- OPERATION_NAME: der Name des Vorgangs aus der Antwort auf Ihren Erstellungs Befehl.
- LOCATION: die Region der Instanz.
Führen Sie den folgenden Befehl aus:
Linux, macOS oder 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
Sobald die Instanz bereit ist, sieht die Antwort so aus:
"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"
}
}
Dabei ist my-instance-098765432109.us-central1.sourcemanager.dev die HTML-URL der Instanz.
API
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- OPERATION_NAME: der Name des Vorgangs aus der Antwort auf Ihren Erstellungs Befehl.
HTTP-Methode und URL:
GET https://securesourcemanager.googleapis.com/v1/OPERATION_NAME
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sobald die Instanz bereit ist, sieht die Antwort so aus:
"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
}
}
Dabei ist my-instance-098765432109.us-central1.sourcemanager.dev die HTML-URL der Instanz.
Kopieren Sie die HTML-URL aus der Antwort auf die erfolgreiche Statusprüfung. Sie benötigen diese URL, um über die Weboberfläche auf die Instanz zuzugreifen.
Auf die Instanz zugreifen
Nachdem die Instanz erstellt wurde, können Sie über einen Browser über die Weboberfläche darauf zugreifen.
-
Wenn Sie über die Weboberfläche auf die Secure Source Manager-Instanz zugreifen möchten, kopieren Sie die folgende URL in die Adressleiste Ihres Browsers.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.devErsetzen Sie Folgendes:
- INSTANCE_ID durch den Instanznamen.
- PROJECT_NUMBER durch die Projektnummer der Instanz. Google Cloud Informationen zum Identifizieren von Projekten finden Sie unter Projekte identifizieren.
- LOCATION durch die Region der Instanz.
Ein OAuth-Bildschirm wird angezeigt, auf dem Sie nach dem Namen Ihres Anbieters gefragt werden.
Geben Sie den Namen Ihres Anbieters für die Mitarbeiteridentitätsföderation im folgenden Format ein:
locations/global/workforcePools/POOL_ID/providers/PROVIDER_IDErsetzen Sie Folgendes:
POOL_IDdurch die Pool-ID Ihrer Mitarbeiteridentitätsföderation.PROVIDER_IDmit der Anbieter-ID Ihrer Mitarbeiteridentitätsföderation.
Weitere Informationen zu Pools und Anbietern für die Mitarbeiteridentitätsföderation finden Sie unter Identitätspools und ‑anbieter für die Mitarbeiteridentitätsföderation verwalten.
Sie werden aufgefordert, sich mit Ihren Anmeldedaten für den Anbieter anzumelden.
Melden Sie sich mit Ihren Anmeldedaten für den Anbieter an.
Die Weboberfläche von Secure Source Manager wird geöffnet. Hier können Sie Repositories, Probleme und Pull-Anfragen erstellen und ansehen.
Sie müssen sich über die Weboberfläche noch einmal anmelden, nachdem die Sitzungsdauer in Ihrem Pool für die Mitarbeiteridentitätsföderation abgelaufen ist.
Anmeldekonfiguration für die gcloud CLI erstellen
Wenn Sie sich mit Ihren Anmeldedaten für den Mitarbeiteridentitätspool bei Ihrer Secure Source Manager-Instanz authentifizieren möchten, indem Sie gcloud CLI- oder Git-Befehle verwenden, müssen Sie eine Anmeldekonfiguration mit Ihrem Mitarbeiteridentitätspool erstellen.
Folgen Sie der Anleitung in Kurzlebige Tokens für die Mitarbeiteridentitätsföderation abrufen, um eine Anmeldekonfiguration für den Mitarbeiteridentitätspool zu erstellen und sich browserbasiert mit der gcloud CLI anzumelden.
Nachdem Sie sich authentifiziert haben, können Sie mit Git-Befehlen mit Ihrer Secure Source Manager-Instanz interagieren. Informationen zu den ersten Schritten mit Git finden Sie unter Git-Quellcodeverwaltung verwenden.
Nächste Schritte
- Nutzern Zugriff auf Instanzen gewähren.
- Nutzern Zugriff auf Repositories gewähren.
- Zugriff mit IAM steuern.