Jika Anda bekerja dengan beberapa perusahaan dan ingin berkolaborasi dengan mereka dalam kode sumber, sebaiknya buat instance terpisah untuk setiap perusahaan.
Untuk membuat instance dengan Kontrol Layanan VPC diaktifkan, lihat Mengonfigurasi Secure Source Manager di perimeter Kontrol Layanan VPC.
Sebelum memulai
-
Login ke Akun Google Anda.
Jika Anda belum memilikinya, Daftar untuk membuat akun baru.
-
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, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
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, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan guna membuat instance Secure Source Manager,
minta administrator untuk memberi Anda
peran IAM Secure Source Manager Instance Owner (roles/securesourcemanager.instanceOwner) di project Google Cloud .
Peran Secure Source Manager tidak akan muncul di konsol Google Cloud hingga peran tersebut diberikan kepada akun utama. Untuk memberikan peran Secure Source Manager untuk pertama kalinya, lihat Memberikan dan mencabut peran IAM.
Enkripsi data
Secara default, Google Cloud otomatis mengenkripsi data dalam penyimpanan menggunakan kunci enkripsi yang dikelola oleh Google. 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 simpan data sensitif di ID instance atau key-value pair label karena 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 beta services identity create \
--service=securesourcemanager.googleapis.com \
--project=PROJECT_ID
Dengan PROJECT_ID sebagai project ID dari project tempat Anda akan
membuat instance Secure Source Manager.
Setelah membuat agen layanan Secure Source Manager, Anda harus memberikan
peran Secure Source Manager Service Agent
(roles/securesourcemanager.serviceAgent) ke akun utama
service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com
atau pembuatan instance akan gagal.
Membuat instance
Untuk membuat instance:
gcloud CLI
Jalankan perintah berikut untuk membuat instance. Anda mungkin diminta untuk melakukan autentikasi ke 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/KEYDengan:
INSTANCE_IDadalah ID permanen untuk instance. ID hanya boleh menggunakan huruf kecil, angka, dan tanda hubung, harus diawali dengan huruf, dan tidak dapat diubah setelah Anda membuatnya.LOCATIONadalah region tempat Anda ingin membuat instance. Untuk mengetahui informasi tentang lokasi yang didukung, lihat Lokasi.PROJECT_IDadalah project ID dari project tempat Anda ingin membuat instance.-kms-keyadalah flag opsional. Sertakan jika Anda ingin menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) Anda sendiri untuk membuat instance. Kunci CMEK harus berada di lokasi yang sama dengan tempat Anda membuat instance, tetapi dapat berada di project yang berbeda. Hapus flag ini jika Anda ingin menggunakan enkripsi default Google. Jika Anda ingin mengenkripsi data menggunakan CMEK, ganti kode berikut:KEY_PROJECTdengan project tempat Anda membuat kunci.KEY_LOCATIONdengan lokasi kunci.KEYRING_NAMEdengan nama key ring Anda.KEYdengan nama kunci Anda.
Operasi pembuatan instance yang berjalan lama akan 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-a9b97a2eDengan
projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2eadalahOPERATION_NAME.Diperlukan waktu hingga 60 menit untuk membuat instance.
Catat
OPERATION_NAMEkarena Anda harus menggunakannya untuk memeriksa status operasi.Periksa status operasi
createdengan menjalankan perintah berikut:gcloud source-manager operations describe OPERATION_NAME \ --region=LOCATIONGanti kode berikut:
OPERATION_NAMEdengan nama operasi dari respons perintah create Anda.LOCATIONdengan region tempat Anda ingin membuat instance. Untuk mengetahui informasi tentang lokasi yang didukung, lihat Lokasi.
Setelah instance siap, responsnya akan terlihat seperti berikut:
{ "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" } } }Dengan
test-098765432109.us-central1.sourcemanager.devadalah URL HTML instance.Salin URL HTML dari perintah status pemeriksaan yang berhasil dibuat. Anda akan memerlukan URL ini untuk mengakses instance melalui antarmuka webnya.
API
Jalankan perintah berikut untuk membuat instance. Anda mungkin diminta untuk melakukan autentikasi ke 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"}'Dengan:
INSTANCE_IDadalah ID permanen untuk instance. ID hanya boleh menggunakan huruf kecil, angka, dan tanda hubung, serta harus diawali dengan huruf.LOCATIONadalah region tempat Anda ingin membuat instance. Untuk mengetahui informasi tentang lokasi yang didukung, lihat Lokasi.PROJECT_IDadalah project ID dari project tempat Anda ingin membuat instance.-dadalah flag data POST HTTP opsional yang dapat digunakan untuk menentukan kunci CMEK guna mengenkripsi instance Anda. Hapus flag ini jika Anda ingin menggunakan enkripsi Google default. Jika Anda ingin mengenkripsi data menggunakan CMEK, ganti kode berikut:KEY_PROJECTdengan project tempat Anda membuat kunci.KEY_LOCATIONdengan lokasi kunci.KEYRING_NAMEdengan nama key ring Anda.KEYdengan nama kunci Anda.
Operasi pembuatan instance yang berjalan lama akan dimulai. Outputnya akan terlihat seperti berikut:
{ "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 }Dengan
projects/my-project/locations/us-central1/operations/operation-1234567894561-5ec69948c0f2b-60dd727f-a9b97a2eadalahOPERATION_NAME.Diperlukan waktu hingga 60 menit untuk membuat instance.
Salin
OPERATION_NAME.Periksa status operasi pembuatan dengan menjalankan perintah berikut:
curl \ -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/OPERATION_NAMEDengan OPERATION_NAME adalah nama operasi dari respons terhadap perintah create Anda.
Setelah instance siap, responsnya akan terlihat seperti berikut:
{ "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" } } }Dengan
test-098765432109.us-central1.sourcemanager.devadalah URL HTML instance.Salin URL HTML dari perintah status pemeriksaan yang berhasil dibuat. Anda akan memerlukan URL ini untuk mengakses instance melalui antarmuka webnya.
Terraform
Untuk membuat instance Secure Source Manager dengan Terraform, gunakan resource google_secure_source_manager_instance.
Mengakses instance
Setelah instance dibuat, Anda dapat mengaksesnya melalui antarmuka web menggunakan browser.
Untuk membuat repositori di instance,
Anda memerlukan peran Repo Creator (roles/securesourcemanager.repoCreator) di
project instance dan peran Instance Repository Creator
(roles/securesourcemanager.instanceRepositoryCreator) di instance Secure Source Manager.
-
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 menanyakan apakah Anda ingin memberikan akses
sourcemanager.devke Akun Google Anda.Klik tombol Allow.
Antarmuka web Secure Source Manager akan terbuka. Anda dapat membuat dan melihat repositori serta semua masalah dan permintaan pull terkait dari antarmuka web.
Langkah berikutnya
- Memberikan akses instance kepada pengguna.
- Membuat dan meng-clone repositori.
- Memberikan akses repositori kepada pengguna.
- Mengontrol akses dengan IAM.