Untuk mengetahui informasi selengkapnya tentang Workforce Identity Federation, lihat Workforce Identity Federation.
Untuk mengetahui informasi tentang batasan pada Workforce Identity Federation di Secure Source Manager, lihat Federasi identitas: produk dan batasan.
Secure Source Manager adalah layanan tenant tunggal. Satu instance Secure Source Manager hanya boleh menyertakan pengguna dari satu pelangganGoogle Cloud , kecuali jika beberapa perusahaan yang memiliki hubungan kontraktual perlu menggunakan satu instance untuk berkolaborasi.
Jika Anda bekerja sama dengan beberapa perusahaan dan ingin berkolaborasi dengan mereka dalam kode sumber, sebaiknya buat instance terpisah untuk setiap perusahaan.
Sebelum memulai
-
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.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
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.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init Konfigurasi penyedia pool identitas tenaga kerja dengan pemetaan atribut berikut:
google.subjectgoogle.email
- INSTANCE_ID: nama instance yang ingin Anda buat.
- LOCATION: region tempat Anda ingin membuat instance. Untuk mengetahui informasi tentang lokasi yang didukung, lihat Lokasi.
- PROJECT_ID: project ID project tempat Anda ingin membuat instance.
- INSTANCE_ID: nama instance yang ingin Anda buat.
- LOCATION: region tempat Anda ingin membuat instance. Untuk mengetahui informasi tentang lokasi yang didukung, lihat Lokasi.
- PROJECT_ID: project ID dari project tempat Anda ingin membuat instance.
OPERATION_NAME: nama operasi—misalnya,projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e.PROJECT_ID: Google Cloud project.LOCATION: region tempat instance berada.- OPERATION_NAME: nama operasi dari respons perintah create Anda.
- LOCATION: region instance.
- OPERATION_NAME: nama operasi dari respons perintah create Anda.
-
Untuk mengakses instance Secure Source Manager melalui antarmuka webnya, salin URL berikut ke kolom URL browser Anda.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.devGanti kode berikut:
- INSTANCE_ID dengan nama instance.
- PROJECT_NUMBER dengan nomor project Google Cloud instance. Untuk mengetahui informasi tentang cara mengidentifikasi project, lihat Mengidentifikasi project.
- LOCATION dengan region instance.
Layar OAuth akan muncul dan meminta nama penyedia Anda.
Masukkan nama penyedia identitas tenaga kerja Anda dalam format berikut:
locations/global/workforcePools/POOL_ID/providers/PROVIDER_IDGanti kode berikut:
POOL_IDdengan ID kumpulan Workforce Identity Federation Anda.PROVIDER_IDdengan ID penyedia Workforce Identity Federation Anda.
Untuk mengetahui informasi selengkapnya tentang kumpulan dan penyedia Workforce Identity Federation, lihat Mengelola kumpulan dan penyedia identitas Workforce Identity Federation.
Anda akan diminta untuk login menggunakan kredensial penyedia Anda.
Login menggunakan kredensial penyedia Anda.
Antarmuka web Secure Source Manager akan terbuka. Dari sini, Anda dapat membuat dan melihat repositori, masalah, dan permintaan pull.
Anda harus login lagi melalui antarmuka web setelah durasi sesi di pool Workforce Identity Federation Anda berakhir.
- Memberikan akses instance kepada pengguna.
- Memberikan akses repositori kepada pengguna.
- Mengontrol akses dengan IAM.
Enkripsi data
Secara default, Google Cloud otomatis mengenkripsi data dalam penyimpanan menggunakan Google-owned and Google-managed encryption keys. Jika Anda memiliki persyaratan kepatuhan atau peraturan khusus terkait kunci yang melindungi data, Anda dapat membuat instance Secure Source Manager yang dienkripsi dengan kunci enkripsi yang dikelola pelanggan (CMEK).
Jangan menyimpan data sensitif di ID instance atau pasangan nilai kunci label karena data tersebut tidak dienkripsi dengan CMEK.
Jika Anda membuat instance Secure Source Manager pertama di project, Anda harus membuat agen layanan Secure Source Manager secara manual dengan menjalankan perintah berikut:
gcloud services identity create \
--service=securesourcemanager.googleapis.com \
--project=PROJECT_ID
Di sini, PROJECT_ID adalah project ID project tempat Anda membuat instance Secure Source Manager.
Setelah membuat akun layanan per-produk, per-project (P4SA), Anda harus memberikan peran Secure Source Manager Service Agent (roles/securesourcemanager.serviceAgent) kepada prinsipal service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.comatau pembuatan instance akan gagal.
Menyiapkan Workforce Identity Federation
Sebelum membuat instance, Anda harus menyiapkan pool dan penyedia Workforce Identity Federation.
Membuat instance
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
Jalankan perintah berikut:
Linux, macOS, atau 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
Operasi pembuatan instance yang berjalan lama dimulai. Outputnya akan terlihat seperti berikut:
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
Dengan projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2e adalah OPERATION_NAME.
Catat OPERATION_NAME karena Anda harus menggunakannya untuk memeriksa status operasi.
Diperlukan waktu hingga 60 menit untuk membuat instance.
API
Sebelum menjalankan perintah ini, ganti nilai berikut:
Jalankan perintah berikut:
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}}"
Operasi pembuatan instance yang berjalan lama dimulai. Outputnya akan terlihat seperti berikut:
{
"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
}
Output contoh ini mencakup nilai berikut:
Catat OPERATION_NAME karena Anda perlu menggunakannya untuk memeriksa status operasi.
Diperlukan waktu hingga 60 menit untuk membuat instance.
Terraform
Contoh berikut membuat instance Secure Source Manager dengan Workforce Identity Federation diaktifkan:
resource "google_secure_source_manager_instance" "instance" {
instance_id = "INSTANCE_ID"
location = "LOCATION"
project = "PROJECT_ID"
workforce_identity_federation_config {
enabled = true
}
}
Memeriksa status operasi
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
Jalankan perintah berikut:
Linux, macOS, atau 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
Setelah instance siap, responsnya akan terlihat mirip dengan berikut ini:
"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"
}
}
Dengan my-instance-098765432109.us-central1.sourcemanager.dev adalah URL HTML instance.
API
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
Metode HTTP dan URL:
GET https://securesourcemanager.googleapis.com/v1/OPERATION_NAME
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Setelah instance siap, responsnya akan terlihat mirip dengan berikut ini:
"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
}
}
Dengan my-instance-098765432109.us-central1.sourcemanager.dev adalah URL HTML instance.
Salin URL HTML dari respons status pemeriksaan yang berhasil. Anda memerlukan URL ini untuk mengakses instance melalui antarmuka webnya.
Mengakses instance
Setelah instance dibuat, Anda dapat mengaksesnya melalui antarmuka web menggunakan browser.
Membuat konfigurasi login gcloud CLI Anda
Untuk melakukan autentikasi dengan kredensial kumpulan identitas tenaga kerja ke instance Secure Source Manager menggunakan perintah gcloud CLI atau perintah Git, Anda harus membuat konfigurasi login dengan kumpulan identitas tenaga kerja Anda.
Untuk membuat konfigurasi login workforce identity pool, ikuti petunjuk di Mendapatkan token berumur pendek untuk Workforce Identity Federation guna membuat login berbasis browser dengan gcloud CLI.
Setelah diautentikasi, Anda dapat menggunakan perintah Git untuk berinteraksi dengan instance Secure Source Manager. Untuk mulai menggunakan Git, lihat Menggunakan pengelolaan kode sumber Git.