Memecahkan masalah

Halaman ini menampilkan cara menyelesaikan masalah pada Secure Source Manager.

Pesan error saat membuat repositori

Error berikut muncul saat Anda mencoba membuat repositori:

There was an error while loading /repo/create. Try refreshing the page.

Masalah ini terjadi jika:

  • Secure Source Manager API tidak diaktifkan di project Anda.
  • Anda tidak memiliki peran Admin Repo di project atau izin untuk membuat repositori di instance Secure Source Manager.

Untuk mengatasi masalah ini:

  • Aktifkan Secure Source Manager API di project Anda.
  • Minta administrator Anda untuk memberi Anda peran berikut:
    • Peran Admin Repo (roles/securesourcemanager.repoAdmin) di project Anda.
    • Instance Accessor (roles/securesourcemanager.instanceAccessor) di instance Secure Source Manager.
    • Instance Repository Creator (roles/securesourcemanager.instanceRepositoryCreator) di instance Secure Source Manager.

Lihat Kontrol akses dengan IAM untuk mengetahui detail selengkapnya.

Pesan error saat mengclone repositori di Mac

Error berikut muncul saat Anda mencoba mengclone repositori:

git: 'credential-gcloud.sh' is not a git command.  See 'git --help'.
fatal: Authentication failed for [repo-url]

Masalah ini terjadi jika:

  • gcloud CLI diinstal menggunakan Homebrew atau penginstalan non-standar lainnya.
  • git-credential-gcloud.sh tidak ditambahkan ke PATH Anda.

Untuk mengatasi masalah ini:

  • Jalankan source $HOMEBREW_PREFIX/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc
  • Periksa apakah git-credential-gcloud.sh ada di jalur Anda dengan menjalankan perintah berikut:

    which git-credential-gcloud.sh
    

Koneksi SSH gagal dengan error "no matching"

Saat mencoba operasi Git melalui SSH, Anda mungkin menerima salah satu pesan error berikut:

  • Unable to negotiate with <host> port <port>: no matching key exchange method found.
  • Unable to negotiate with <host> port <port>: no matching cipher found.
  • Unable to negotiate with <host> port <port>: no matching MAC found.

Masalah ini terjadi jika klien SSH Anda tidak mendukung algoritma kriptografi yang diperlukan oleh Secure Source Manager. Hal ini dapat terjadi jika Anda menggunakan klien SSH yang lebih lama atau jika klien Anda tidak dikonfigurasi untuk menggunakan algoritma yang didukung.

Secure Source Manager memerlukan salah satu algoritma berikut:

  • Algoritma Pertukaran Kunci: curve25519-sha256, diffie-hellman-group14-sha256
  • Cipher: chacha20-poly1305@openssh.com, aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, aes256-gcm@openssh.com
  • MAC: hmac-sha2-256-etm@openssh.com, hmac-sha2-256

Untuk mengatasi masalah ini, update klien SSH Anda ke versi terbaru yang mendukung algoritma ini.

Permintaan HTTPS Git gagal dengan error izin ditolak atau tidak sah

Saat perintah Git dicoba melalui HTTPS, pesan error izin ditolak atau tidak sah akan diberikan.

Masalah ini terjadi jika salah satu hal berikut terjadi:

  • File konfigurasi Git global tidak memiliki helper autentikasi Secure Source Manager.
  • Penyimpanan kredensial bawaan Git digunakan, bukan memanggil helper autentikasi Secure Source Manager untuk mendapatkan kredensial baru.
  • Helper kredensial sistem digunakan, bukan memanggil helper autentikasi Secure Source Manager untuk mendapatkan kredensial baru.
  • Google Cloud CLI versi lama digunakan saat berinteraksi dengan repositori Secure Source Manager menggunakan HTTPS. Secure Source Manager memerlukan Google Cloud CLI versi 395.0.0 atau yang lebih baru.

Untuk mengatasi masalah ini:

  1. Jalankan perintah berikut untuk menentukan konten konfigurasi Git global Anda.

    git config --list | grep credential
    
  2. Jika Anda melihat baris yang mirip dengan *credential*.helper=store di macOS, atau credential.helper = manager di Windows OS, hapus baris tersebut, lalu lakukan autentikasi ulang menggunakan gcloud auth login sebelum mencoba perintah Git lagi.

  3. Jika respons tidak menyertakan credential.https://*.*.sourcemanager.dev.helper=gcloud.sh di macOS atau Linux, atau credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd di Windows, tambahkan helper autentikasi Secure Source Manager ke konfigurasi Git global Anda:

    Linux

    1. Untuk menambahkan helper autentikasi Secure Source Manager ke konfigurasi Git global Anda, jalankan perintah berikut:

      git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
      
    2. Pastikan baris helper autentikasi ditambahkan ke konfigurasi Git global Anda dengan menjalankan perintah berikut:

      git config --list | grep credential
      

      Output harus menyertakan credential.https://*.*.sourcemanager.dev.helper=gcloud.sh.

    3. Lakukan autentikasi dengan menjalankan gcloud auth login.

    4. Jalankan perintah Git untuk menguji autentikasi.

    Windows

    1. Periksa versi gcloud CLI Anda dengan mengikuti petunjuk Menginstal Git dan Google Cloud CLI.
    2. Untuk menambahkan helper autentikasi Secure Source Manager ke konfigurasi Git global Anda, jalankan perintah berikut:

      git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd
      
    3. Pastikan baris helper autentikasi ditambahkan ke konfigurasi Git global Anda dengan menjalankan perintah berikut:

      git config --list | grep credential
      

      Output harus menyertakan credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd.

    4. Lakukan autentikasi dengan menjalankan gcloud auth login.

    5. Jalankan perintah Git untuk menguji autentikasi.

  4. Jika sebelumnya Anda menetapkan kredensial untuk host Git Anda menjadi gcloud.sh, tetapi mendapatkan error seperti 'credential-gcloud.sh' is not a git command, hal ini menunjukkan bahwa Git tidak dapat menemukan sk2rip git-credential-gcloud.sh di PATH untuk mesin Anda. Perbarui PATH atau ganti gcloud.sh di file gitconfig Anda dengan jalur absolut.

Permintaan HTTPS Git gagal dengan token tidak valid

Token OAuth yang valid diperlukan sebagai sandi untuk operasi HTTPS Git. Hal ini biasanya ditangani oleh helper kredensial Git, tetapi juga dapat berfungsi dengan token OAuth yang dibuat menggunakan pendekatan lain (misalnya, kredensial default aplikasi).

Jika permintaan Git ditolak karena token tidak valid, biasanya berarti informasi pengguna tidak dapat diekstrak dari token masuk. Ada beberapa kemungkinan penyebab error ini:

  • Login gcloud CLI Anda mungkin telah berakhir masa berlakunya.

    Login lagi menggunakan gcloud auth login.

  • Token Anda tidak memiliki cakupan yang memadai. Token OAuth diharapkan memiliki cakupan berikut:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/userinfo.email

    Anda dapat memeriksa cakupan token dengan memanggilcurl https://oauth2.googleapis.com/tokeninfo?access_token=${TOKEN}

  • Anda menggunakan token yang dibuat dari identitas workload fleet GKE:

  • Anda memiliki kebijakan organisasi yang mencegah penggunaan token di luar perimeter tertentu, misalnya Akses Kontekstual.

    Untuk mengatasi masalah ini, tetapkan properti konfigurasi gcloud CLI git_helper_use_adc ke true dan perbarui Kredensial Default Aplikasi (ADC):

    1. Tetapkan properti git_helper_use_adc:

      gcloud config set auth/git_helper_use_adc true
      
    2. Perbarui ADC Anda:

      gcloud auth login --update-adc
      

Permintaan HTTPS Git gagal di macOS dengan error 403 karena kredensial yang tidak berlaku

Saat melakukan operasi Git melalui HTTPS di macOS, Anda mungkin menerima error 403.

Masalah ini dapat terjadi di macOS jika Anda menggunakan iCloud Keychain, yang dapat mengganggu token autentikasi gcloud CLI dengan menyimpan dan menyinkronkan token yang tidak berlaku. Token yang tidak berlaku ini dapat menyebabkan autentikasi gagal dengan Secure Source Manager, bahkan setelah Anda melakukan autentikasi ulang menggunakan gcloud auth login.

Untuk mengatasi masalah ini, hapus kredensial yang tidak berlaku secara manual dari Keychain Access:

  1. Buka aplikasi Keychain Access di Mac Anda (terletak di /Applications/Utilities/).
  2. Telusuri sourcemanager.dev.
  3. Hapus entri jenis "internet password" yang cocok dengan *.*.sourcemanager.dev atau URL instance Secure Source Manager Anda dengan mengklik kanan entri dan memilih Delete.
  4. Setelah menghapus entri, coba lagi operasi Git Anda. Anda mungkin akan diminta untuk melakukan autentikasi ulang dengan gcloud CLI. Jika operasi Git terus gagal, jalankan gcloud auth login sebelum mencoba lagi.

SSM menampilkan error saat menggunakan token Akun Layanan Kubernetes (KSA) dengan identitas workload fleet GKE

Saat menggunakan identitas workload fleet GKE, token KSA mentah tidak didukung oleh Secure Source Manager. Penggunaan token ini akan menghasilkan error.

Untuk mengatasi masalah ini, Anda harus meniru akun layanan dan mengikat workload ke akun layanan Google. Anda juga perlu menambahkan anotasi berikut ke konfigurasi KSA:

iam.gke.io/gcp-service-account: SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com

Project tidak muncul di pemilih produk antarmuka web

Saat menggunakan pemilih produk antarmuka web Secure Source Manager, project Anda tidak muncul.

Masalah ini terjadi jika Anda memiliki beberapa kredensial login untuk Secure Source Manager.

Untuk mengatasi masalah ini:

  • Hapus cookie Anda dengan menambahkan hal berikut ke URL instance Secure Source Manager Anda: /_oauth/consent

    Misalnya, jika URL instance Anda adalah https://my-instance-098765432123.us-central1.sourcemanager.dev/, masukkan https://my-instance-098765432123.us-central1.sourcemanager.dev/_oauth/consent ke kolom alamat browser Anda, lalu login dengan kredensial yang benar.

File pemicu tidak memicu build

Jika build tidak dipicu seperti yang diharapkan setelah mengirimkan file pemicu, Anda mungkin mengalami salah satu masalah berikut:

  • File pemicu tidak ada di cabang default. Untuk mengatasinya, pindahkan file pemicu ke cabang default Anda.
  • File pemicu memiliki format yang tidak valid. Error ini ditunjukkan oleh banner di halaman repositori yang bertuliskan Build triggers configuration error: .... Untuk memperbaikinya, baca Skema file pemicu. Jika konfigurasi file pemicu sudah benar, banner di halaman repositori akan bertuliskan Valid build triggers configuration.

Error konfigurasi pemicu build

Setelah mengirimkan file triggers.yaml ke repositori Secure Source Manager, Anda akan mendapatkan error berikut yang ditampilkan di banner:

Build cannot be created.

Masalah ini terjadi karena alasan berikut:

  • File konfigurasi Cloud Build memiliki opsi atau format yang tidak valid.
  • Agen Layanan Secure Source Manager tidak memiliki peran Service Account Token Creator di akun layanan yang dikelola pengguna repositori.
  • Akun layanan yang dikelola pengguna tidak memiliki peran Service Account User di akun layanan Cloud Build.
  • Akun layanan yang dikelola pengguna tidak memiliki peran Cloud Build Editor di project tempat build berjalan.
  • Kebijakan organisasi iam.disableCrossProjectServiceAccountUsage memblokir penggunaan akun layanan yang dikelola pengguna (jika akun layanan berada di project lain).

Untuk mengatasi masalah ini:

  • Pastikan Anda mengikuti Skema file pemicu yang benar .
  • Pastikan semua peran yang diperlukan diberikan. Lihat Peran akun layanan yang diperlukan.
  • Jika menggunakan akun layanan yang dikelola pengguna di project lain, pastikan kebijakan organisasi iam.disableCrossProjectServiceAccountUsage dinonaktifkan di project yang menghosting akun layanan.

Build gagal selama eksekusi

Jika build berhasil dipicu, tetapi gagal selama eksekusi, commit terkait akan memiliki status commit Kegagalan.

Untuk memecahkan masalah build yang gagal, di halaman repositori, di samping status commit yang gagal, klik Details.

Log eksekusi Cloud Build akan terbuka. Untuk mengetahui informasi selengkapnya tentang cara memecahkan masalah build di Cloud Build, lihat Memecahkan masalah error build.

Git push ditolak karena data sensitif terdeteksi

Saat mengirim commit ke repositori dengan pemindaian rahasia diaktifkan, pengiriman Anda akan gagal dengan pesan error yang mirip dengan berikut ini:

remote: Push rejected: Sensitive data detected.

Masalah ini terjadi jika pemindaian rahasia atau template pemeriksaan kustom mengidentifikasi informasi sensitif dalam histori commit Anda.

Untuk mengatasi masalah ini:

  • Kembalikan commit yang bermasalah menggunakan git reset --soft dan hapus informasi sensitif sebelum melakukan commit lagi.
  • Jika informasi yang terdeteksi dapat diterima dan Anda memiliki izin yang sesuai, lewati pemeriksaan menggunakan opsi push -o dlpskip=true:

    git push -o dlpskip=true origin BRANCH_NAME
    

Kuota harian tidak direset setelah dibuat ulang

Setelah menghapus instance Secure Source Manager dan membuatnya ulang dengan ID instance yang sama pada hari yang sama, Anda mungkin menerima error kuota habis atau batas tercapai untuk pemindaian rahasia.

Masalah ini terjadi karena kuota pemindaian rahasia adalah kuota Tarif harian yang ditautkan ke ID instance. Jika Anda menghapus dan membuat ulang instance dengan ID yang sama pada hari yang sama, penggunaan kuota tidak akan direset.

Untuk mengatasi masalah ini, Anda dapat melakukan salah satu hal berikut:

  • Tunggu hingga hari kedua agar penggunaan kuota harian otomatis direset ke 0.
  • Buat ulang instance dengan menggunakan ID instance yang berbeda dan unik.
  • Lewati pemindaian rahasia untuk sementara, atau minta penambahan kuota. Untuk mengetahui informasi selengkapnya, lihat Menambah kuota yang tersedia.

Error saat mengonfigurasi akun layanan repositori

Error berikut muncul saat Anda mencoba membuat atau mengupdate repositori dengan akun layanan yang dikelola pengguna:

Permission denied on resource ...

Masalah ini terjadi jika Anda tidak memiliki peran Service Account User (roles/iam.serviceAccountUser) di akun layanan yang Anda coba kaitkan dengan repositori. Secure Source Manager memverifikasi bahwa Anda memiliki izin untuk bertindak sebagai akun layanan sebelum mengizinkan Anda mengaitkannya dengan repositori.

Untuk mengatasi masalah ini, minta administrator Anda untuk memberi Anda peran Service Account User di akun layanan.