Secure Source Manager mendukung semua SCM Git perintah klien dan memiliki fitur bawaan untuk permintaan pull dan pelacakan masalah. Autentikasi HTTPS dan SSH didukung.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menggunakan Git guna berinteraksi dengan repositori Secure Source Manager, minta administrator untuk memberi Anda peran IAM berikut:
- Secure Source Manager Instance Accessor (
roles/securesourcemanager.instanceAccessor) di instance Secure Source Manager -
Untuk meng-clone repositori:
Secure Source Manager Repo Reader (
roles/securesourcemanager.repoReader) di repositori -
Untuk mengirim ke repositori:
Secure Source Manager Repo Writer (
roles/securesourcemanager.repoWriter) di repositori
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi tentang pemberian peran Secure Source Manager, lihat Kontrol akses dengan IAM dan Memberikan akses instance kepada pengguna.
Menginstal Git dan Google Cloud CLI
Instal Git.
Jika Anda diminta untuk Choose a credential helper oleh penginstal Git, pilih None (Do not use a credential helper).
gcloud CLI versi
395.0.0atau yang lebih baru diperlukan untuk menggunakan Git dengan HTTPS. Untuk memeriksa versi gcloud CLI, jalankan perintah berikut:gcloud --versionUntuk mengupdate gcloud CLI, jalankan perintah berikut.
gcloud components updateSetelah mengupdate, jalankan
gcloud inituntuk menginisialisasi gcloud CLI.Lihat dokumentasi gcloud CLI tentang mengupdate komponen untuk mengetahui informasi selengkapnya.
Menyiapkan kredensial
Tambahkan helper autentikasi Secure Source Manager ke konfigurasi Git global Anda dengan menjalankan perintah berikut:
Linux
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
Versi Git yang lebih lama mungkin tidak mendukung karakter pengganti. Untuk menambahkan helper autentikasi tanpa karakter pengganti, jalankan perintah berikut:
git config --global credential.'https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev'.helper gcloud.sh
Ganti kode berikut:
INSTANCE_IDdengan nama instance Secure Source Manager Anda.PROJECT_NUMBERdengan nomor project Anda. Untuk mendapatkan bantuan dalam menemukan nomor project Anda, lihat Mengidentifikasi project.LOCATIONdengan region instance. Untuk mengetahui informasi selengkapnya tentang region, lihat Lokasi.
Windows
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd
Versi Git yang lebih lama mungkin tidak mendukung karakter pengganti. Untuk menambahkan helper autentikasi tanpa karakter pengganti, jalankan perintah berikut:
git config --global credential.https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev.helper gcloud.cmd
Ganti kode berikut:
INSTANCE_IDdengan nama instance Secure Source Manager Anda.PROJECT_NUMBERdengan nomor project Anda. Untuk mendapatkan bantuan dalam menemukan nomor project Anda, lihat Mengidentifikasi project.LOCATIONdengan region instance. Untuk mengetahui informasi selengkapnya tentang region, lihat Lokasi.
Helper autentikasi menggunakan gcloud CLI untuk mengambil Google Cloud kredensial Anda saat menggunakan perintah Git dengan Secure Source Manager.
Untuk melakukan autentikasi ulang setelah penyiapan kredensial awal, jalankan perintah gcloud CLI berikut:
gcloud auth login
Melakukan autentikasi dari VM Compute Engine menggunakan akun layanan
Anda dapat melakukan autentikasi dari virtual machine (VM) Compute Engine menggunakan akun layanan terlampir.
Mengonfigurasi VM dan akun layanan
Jika Anda menggunakan akun layanan default Compute Engine, buat VM Anda dengan cakupan OAuth yang diperlukan:
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=ZONE \
--scopes=openid,https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/cloud-platform
Ganti kode berikut:
VM_NAME: nama untuk VM Anda.PROJECT_ID: project ID Anda Google Cloud .ZONE: zona untuk VM Anda.
Jika Anda menggunakan akun layanan kustom, buat akun layanan, lalu buat VM.
Membuat akun layanan:
gcloud iam service-accounts create SA_NAME --project=PROJECT_IDGanti
SA_NAMEdengan nama untuk akun layanan.Memberikan izin untuk menggunakan akun layanan. Untuk membuat VM dengan akun layanan, Anda memerlukan peran Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di akun layanan. Berikan peran ini kepada principal yang membuat VM:gcloud iam service-accounts add-iam-policy-binding SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"Ganti
USER_EMAILdengan email pengguna yang membuat VM.Membuat VM:
gcloud compute instances create VM_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --scopes=openid,https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/cloud-platform \ --service-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Memberikan peran IAM ke akun layanan
Beri akun layanan akses ke instance dan repositori Secure Source Manager:
Memberikan akses instance:
SA_EMAIL=$(gcloud compute instances describe VM_NAME --project=PROJECT_ID --zone=ZONE --format="get(serviceAccounts[0].email)") gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:$SA_EMAIL" \ --role=roles/securesourcemanager.instanceAccessorMemberikan akses baca repositori.
Untuk memberikan akses baca ke repositori tertentu, jalankan perintah berikut:
gcloud ssm repos add-iam-policy-binding REPOSITORY_ID \ --instance=INSTANCE_ID \ --location=LOCATION \ --member="serviceAccount:$SA_EMAIL" \ --role=roles/securesourcemanager.repoReaderGanti kode berikut:
REPOSITORY_ID: ID repositori.INSTANCE_ID: ID instance Secure Source Manager.LOCATION: Region instance Secure Source Manager.
Untuk memberikan akses tulis, gunakan peran
roles/securesourcemanager.repoWriter.Sebaiknya berikan akses di tingkat repositori untuk mengikuti prinsip hak istimewa terendah. Jika Anda perlu memberikan akses ke semua repositori dalam project, lihat Kontrol akses dengan IAM.
Penyebaran izin IAM dapat memerlukan waktu beberapa menit.
Mengonfigurasi Git di VM
Hubungkan ke VM menggunakan SSH:
gcloud compute ssh VM_NAME --project=PROJECT_ID --zone=ZONEDi VM, instal Git:
sudo apt-get install gitDi VM, konfigurasi helper kredensial Git seperti yang dijelaskan di Menyiapkan kredensial. Misalnya, di Linux:
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
Setelah Anda mengonfigurasi helper kredensial, Git akan menggunakan Kredensial Default Aplikasi dari akun layanan VM untuk melakukan autentikasi ke Secure Source Manager. Sekarang Anda dapat meng-clone repositori. Anda harus menggunakan URL repositori HTTPS untuk melakukan autentikasi dengan Kredensial Default Aplikasi.
Membuat konfigurasi login workforce identity pool
Anda tidak perlu menyelesaikan bagian ini kecuali jika Anda menggunakan Workforce Identity Federation untuk melakukan autentikasi ke Secure Source Manager dengan penyedia identitas pihak ketiga.
Untuk melakukan autentikasi dengan kredensial workforce identity pool ke instance Secure Source Manager menggunakan perintah gcloud CLI atau perintah Git, Anda harus membuat konfigurasi login dengan workforce identity pool.
Untuk membuat konfigurasi login workforce identity pool, ikuti petunjuk di Mendapatkan token berdurasi singkat untuk Workforce Identity Federation guna membuat login berbasis browser dengan gcloud CLI.
Setelah melakukan autentikasi, Anda dapat menggunakan perintah Git untuk berinteraksi dengan instance Secure Source Manager. Anda harus melakukan autentikasi ulang saat durasi sesi untuk workforce identity pool Anda berakhir.
Meng-clone repositori
Clone repositori dengan menjalankan perintah berikut:
git clone REPOSITORY_URL
Dengan REPOSITORY_URL adalah URL HTTPS atau SSH yang ditampilkan di bagian atas halaman repositori yang ingin Anda clone.
Meng-clone dengan Developer Connect
Anda dapat meng-clone repositori menggunakan proxy Git Developer Connect jika telah menautkan repositori Secure Source Manager di Developer Connect. Meng-clone dengan Developer Connect menggunakan IAM untuk mengautentikasi dan mengotorisasi akses repositori.
Sebelum memulai
- Ikuti petunjuk untuk membuat koneksi ke repositori Secure Source Manager di Developer Connect.
- Pastikan proxy Git diaktifkan pada koneksi Developer Connect Anda. Lihat Mengonfigurasi dan menggunakan proxy Developer Connect untuk mengetahui petunjuk tentang cara mengaktifkan proxy Git.
- Beri principal yang perlu meng-clone menggunakan URI proxy peran
roles/developerconnect.gitProxyReaderdi resourceGitRepositoryLinkdi Developer Connect. Lihat Kontrol akses Developer Connect dengan IAM untuk mengetahui petunjuk tentang cara memberikan peran.
Menyiapkan kredensial untuk Developer Connect
Tambahkan helper autentikasi Developer Connect ke konfigurasi Git global Anda dengan menjalankan perintah berikut:
Linux
git config --global credential.'https://*.developerconnect.dev'.helper gcloud.sh
Windows
git config --global credential.https://*.developerconnect.dev.helper gcloud.cmd
Meng-clone menggunakan URI proxy
Untuk meng-clone repositori menggunakan URI proxy Developer Connect, jalankan perintah berikut:
git clone https://REGION-git.developerconnect.dev/v1/projects/PROJECT_ID/locations/REGION/connections/CONNECTION_ID/gitRepositoryLinks/LINK_ID
Ganti kode berikut:
REGION: Region resource Developer Connect Anda.PROJECT_ID: Project ID resource Developer Connect Anda.CONNECTION_ID: ID koneksi Developer Connect Anda.LINK_ID: ID resourceGitRepositoryLinkDeveloper Connect Anda.
Untuk mengetahui petunjuk tentang cara melihat detail resource GitRepositoryLink, lihat
gcloud developer-connect connections git-repository-links.
Anda dapat menggunakan subperintah list atau describe untuk melihat detail link.
Mengirim repositori yang ada ke Secure Source Manager
Anda harus membuat repositori Secure Source Manager untuk bertindak sebagai jarak jauh sebelum dapat mengirim ke repositori tersebut.
Untuk mengirim repositori Git yang ada ke repositori Secure Source Manager yang kosong, Anda harus menambahkan repositori Secure Source Manager sebagai jarak jauh dan mengirim ke repositori tersebut.
Untuk menetapkan repositori Secure Source Manager sebagai jarak jauh, jalankan perintah berikut:
git remote add origin REPOSITORY_URLDengan
REPOSITORY_URLadalah URL HTTPS atau SSH yang ditampilkan di bagian atas halaman repositori.Untuk mengirim ke repositori, jalankan perintah berikut:
git push -u origin main
Untuk mengetahui informasi selengkapnya tentang pengelolaan kode sumber Git, baca dokumentasi Git.
Langkah berikutnya
- Pelajari pengelolaan kode sumber Git lebih lanjut
- Mencantumkan dan melihat repositori.