Mengautentikasi menggunakan kunci publik SSH

Pengguna dan akun layanan dapat menggunakan kunci publik SSH untuk melakukan autentikasi ke repositori Secure Source Manager. Halaman ini menjelaskan cara membuat pasangan kunci SSH, lalu menambahkannya sebagai metode autentikasi di antarmuka web Secure Source Manager.

Secure Source Manager mendukung jenis kunci SSH RSA, ECDSA, dan Ed25519.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengautentikasi menggunakan kunci publik SSH, minta administrator untuk memberi Anda peran IAM berikut:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk mengautentikasi menggunakan kunci publik SSH. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengautentikasi menggunakan kunci publik SSH:

  • securesourcemanager.sshkeys.createAny pada instance Secure Source Manager
  • Untuk menetapkan kunci SSH ke akun layanan: iam.serviceAccounts.actAs di akun layanan

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi tentang cara memberikan peran Secure Source Manager, lihat Kontrol akses dengan IAM dan Memberikan akses instance kepada pengguna.

Membuat pasangan kunci

Pasangan kunci SSH terdiri dari kunci pribadi yang berada di sistem lokal Anda dan kunci publik yang Anda daftarkan dengan Google Cloud.

Linux atau macOS

  1. Instal OpenSSH di sistem lokal Anda.

  2. Di command prompt, masukkan perintah berikut:

    ssh-keygen -t [KEY_TYPE] -C "[USER_EMAIL]"
    

    Dengan:

    • [USER_EMAIL] adalah alamat email Anda.
    • [KEY_TYPE] adalah salah satu dari rsa, ecdsa, atau ed25519.

    Contoh:

    ssh-keygen -t rsa -C "user@example.com"
    
    1. Saat diminta, masukkan lokasi dan nama file untuk file kunci publik. Untuk menerima lokasi dan nama file default, tekan Enter.

    2. Saat diminta, biarkan frasa sandi kosong dan tekan Enter.

Windows

  1. Instal PuTTY di sistem lokal Anda.

  2. Dari menu Start Windows, mulai PuTTYGen.

  3. Di jendela yang terbuka, pilih jenis kunci dari kolom Parameter.

  4. Klik Generate.

    PuTTYGen akan menampilkan string kunci publik yang dihasilkan.

  5. Saat diminta, biarkan frasa sandi kosong dan tekan Enter.

  6. Untuk menyimpan pasangan kunci yang Anda buat ke sistem lokal, klik Save Public Key dan Save Private Key.

Menambahkan kunci SSH untuk pengguna

  1. Di antarmuka web Secure Source Manager, dari halaman instance atau repositori, klik menu opsi lainnya.
  2. Klik User SSH keys.

    Halaman Kunci SSH pengguna akan terbuka, dan daftar kunci yang sudah ada yang telah Anda buat akan ditampilkan.

  3. Di halaman User SSH keys, klik Add key.

  4. Di halaman Add SSH Key, masukkan nilai berikut untuk kunci Anda:

    1. Judul: tambahkan judul deskriptif untuk kunci.
    2. Kunci publik SSH: tempel string kunci publik Anda. Untuk mendapatkan string kunci publik Anda, jalankan perintah berikut:
    cat ~/.ssh/FILENAME.pub
    

    Dengan FILENAME adalah nama yang Anda berikan pada file kunci.

Anda dapat menggunakan kunci SSH untuk melakukan autentikasi ke repositori Secure Source Manager mana pun asalkan Anda memiliki izin yang diperlukan di repositori tersebut.

Menambahkan kunci SSH untuk akun layanan

Untuk mengizinkan akses terprogram ke repositori, Anda dapat menambahkan kunci SSH untuk akun layanan.

  1. Jika Anda belum memiliki akun layanan yang ingin digunakan, buat akun layanan.
  2. Dari antarmuka web Secure Source Manager, klik menu more options.
  3. Klik Service account SSH keys. Halaman Kunci SSH akun layanan akan terbuka, dan daftar kunci yang ada yang telah Anda tambahkan akan ditampilkan.
  4. Di halaman Service account SSH keys, klik Add key.
  5. Di halaman Add service account SSH key, masukkan nilai berikut untuk kunci Anda:

    1. Judul: judul deskriptif untuk kunci
    2. Akun layanan: email akun layanan untuk akun layanan yang ingin Anda gunakan kunci SSH-nya dalam format SA_NAME@PROJECT_ID.

      Di mana

      • SA_NAME adalah nama akun layanan.
      • PROJECT_ID adalah project ID project tempat akun layanan dibuat.
    3. Kunci Publik SSH: Kunci SSH publik Anda. Lihat Membuat pasangan kunci untuk mengetahui informasi tentang cara membuat pasangan kunci SSH.

  6. Jika akun layanan tidak berada dalam project yang sama dengan instance Secure Source Manager Anda, berikan agen layanan Secure Source Manager salah satu peran atau izin berikut pada akun layanan yang ingin Anda gunakan:

    • Izin iam.serviceAccounts.signJwt
    • Peran Pembuat Token Akun Layanan (roles/iam.serviceAccountTokenCreator)

    Jalankan perintah berikut untuk menambahkan kebijakan IAM ke akun layanan Secure Source Manager Anda guna memberikan peran Pembuat Token Akun Layanan.

    gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT \
        --member="serviceAccount:service-INSTANCE_PROJECT_NUMBER@gcp-sa-sourcemanager." \
        --role="roles/iam.serviceAccountTokenCreator"
    

    Dengan SERVICE_ACCOUNT adalah akun layanan yang ingin Anda gunakan dan INSTANCE_PROJECT_NUMBER adalah nomor project instance Secure Source Manager Anda.

    SERVICE_ACCOUNT harus diformat sebagai ID akun layanan numerik atau sebagai email, seperti ini: 123456789876543212345 atau my-iam-account@somedomain.com.

Langkah berikutnya