Secure Source Manager mendukung semua perintah klien Git SCM dan memiliki permintaan pull serta pelacakan masalah bawaan. HTTPS dan autentikasi SSH didukung.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menggunakan Git guna berinteraksi dengan repositori Secure Source Manager, minta administrator Anda 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 cara memberikan peran Secure Source Manager, lihat Kontrol akses dengan IAM dan Memberi pengguna akses instance.
Instal 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 Anda, jalankan perintah berikut:gcloud --versionUntuk mengupdate gcloud CLI, jalankan perintah berikut.
gcloud components updateSetelah memperbarui, jalankan
gcloud inituntuk melakukan inisialisasi gcloud CLI.Lihat dokumentasi gcloud CLI tentang mengupdate komponen untuk mengetahui informasi selengkapnya.
Menyiapkan kredensial Anda
Jika Anda melakukan autentikasi ke Secure Source Manager menggunakan penyedia identitas pihak ketiga dan Workforce Identity Federation, Anda tidak perlu menyelesaikan bagian ini. Sebagai gantinya, Anda harus membuat konfigurasi login kumpulan identitas tenaga kerja.
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 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 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 kredensialGoogle Cloud 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 yang terlampir.
Mengonfigurasi VM dan akun layanan
Jika Anda menggunakan akun layanan default Compute Engine, buat VM 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: Google Cloud Project ID Anda.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.Berikan izin untuk menggunakan akun layanan. Untuk membuat VM dengan akun layanan, Anda memerlukan peran Service Account User (
roles/iam.serviceAccountUser) di akun layanan tersebut. Berikan peran ini kepada akun utama 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.Buat 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.instanceAccessorBerikan 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.
Izin IAM mungkin memerlukan waktu beberapa menit untuk diterapkan.
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 dalam Menyiapkan kredensial Anda. 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 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. 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.
Mengirim repositori yang ada ke Secure Source Manager
Anda harus membuat repositori Secure Source Manager yang akan bertindak sebagai remote sebelum dapat mengirim ke repositori tersebut.
Untuk mengirim repositori Git yang ada ke repositori Secure Source Manager yang kosong, Anda perlu menambahkan repositori Secure Source Manager sebagai repositori jarak jauh dan mengirim ke repositori tersebut.
Untuk menyetel 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 lebih lanjut Pengelolaan kode sumber Git
- Mencantumkan dan melihat repositori.