Menggunakan pengelolaan kode sumber Git

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:

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

  1. Instal Git.

  2. Jika Anda diminta untuk Choose a credential helper oleh penginstal Git, pilih None (Do not use a credential helper).

  3. Instal gcloud CLI.

  4. gcloud CLI versi 395.0.0 atau yang lebih baru diperlukan untuk menggunakan Git dengan HTTPS. Untuk memeriksa versi gcloud CLI Anda, jalankan perintah berikut:

    gcloud --version
    
  5. Untuk mengupdate gcloud CLI, jalankan perintah berikut.

    gcloud components update
    
  6. Setelah memperbarui, jalankan gcloud init untuk 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_ID dengan nama instance Secure Source Manager Anda.
  • PROJECT_NUMBER dengan nomor project Anda. Untuk mendapatkan bantuan menemukan nomor project Anda, lihat Mengidentifikasi project.
  • LOCATION dengan 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_ID dengan nama instance Secure Source Manager Anda.
  • PROJECT_NUMBER dengan nomor project Anda. Untuk mendapatkan bantuan menemukan nomor project Anda, lihat Mengidentifikasi project.
  • LOCATION dengan 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.

  1. Membuat akun layanan:

    gcloud iam service-accounts create SA_NAME --project=PROJECT_ID
    

    Ganti SA_NAME dengan nama untuk akun layanan.

  2. 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_EMAIL dengan email pengguna yang membuat VM.

  3. 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:

  1. 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.instanceAccessor
    
  2. Berikan 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.repoReader
    

    Ganti 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

  1. Hubungkan ke VM menggunakan SSH:

    gcloud compute ssh VM_NAME --project=PROJECT_ID --zone=ZONE
    
  2. Di VM, instal Git:

    sudo apt-get install git
    
  3. Di 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.

  1. Untuk menyetel repositori Secure Source Manager sebagai jarak jauh, jalankan perintah berikut:

    git remote add origin REPOSITORY_URL
    

    Dengan REPOSITORY_URL adalah URL HTTPS atau SSH yang ditampilkan di bagian atas halaman repositori.

  2. 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