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 Anda perlukan untuk mengautentikasi menggunakan kunci publik SSH, minta administrator Anda untuk memberi Anda peran IAM berikut:
-
Untuk menambahkan kunci SSH bagi pengguna:
Secure Source Manager Instance Accessor (
roles/securesourcemanager.instanceAccessor) di instance Secure Source Manager -
Untuk menambahkan kunci SSH untuk akun layanan:
-
Pengelola Instance Secure Source Manager (
roles/securesourcemanager.instanceManager) di instance Secure Source Manager -
Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di akun layanan
-
Pengelola Instance Secure Source Manager (
Untuk mengetahui informasi selengkapnya tentang pemberian 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, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengautentikasi menggunakan kunci publik SSH:
-
di instance Secure Source Managersecuresourcemanager.sshkeys.createAny -
Untuk menetapkan kunci SSH ke akun layanan:
di akun layananiam.serviceAccounts.actAs
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 Memberi pengguna akses instance.
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
Instal OpenSSH di sistem lokal Anda.
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, ataued25519.
Contoh:
ssh-keygen -t rsa -C "user@example.com"Saat diminta, masukkan lokasi dan nama file untuk file kunci publik. Untuk menerima lokasi dan nama file default, tekan Enter.
Saat diminta, biarkan frasa sandi kosong, lalu tekan Enter.
Windows
Jika Anda belum memilikinya, instal klien OpenSSH (disertakan dalam Windows 10 dan yang lebih baru) dan Git untuk Windows di sistem lokal Anda. Petunjuk berikut menggunakan OpenSSH dan Git untuk Windows.
Di PowerShell atau Command Prompt, jalankan 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, ataued25519.
Contoh:
ssh-keygen -t rsa -C "user@example.com"Saat diminta, masukkan lokasi dan nama file untuk file kunci publik. Untuk menerima lokasi dan nama file default (`%USERPROFILE%.ssh`), tekan Enter.
Saat diminta, biarkan frasa sandi kosong, lalu tekan Enter.
Menambahkan kunci SSH ke agen SSH
Untuk menggunakan pasangan kunci SSH yang Anda buat, tambahkan kunci Anda ke agen SSH. Jika Anda tidak menyimpan kunci di lokasi default, menambahkannya ke agen SSH akan membantu SSH menemukan kunci Anda.
Linux atau macOS
Mulai
ssh-agentdi latar belakang:eval "$(ssh-agent -s)"Perintah ini menampilkan ID proses (PID) agen, misalnya:
Agent pid 3245Bergantung pada lingkungan Anda, Anda mungkin perlu menggunakan perintah yang berbeda, misalnya:
- Untuk menggunakan akses root, jalankan
sudo -s -Hsebelum memulaissh-agent. - Untuk menjalankan
ssh-agentsecara langsung, gunakanexec ssh-agent bashatauexec ssh-agent zsh.
- Untuk menggunakan akses root, jalankan
Tambahkan kunci pribadi SSH Anda ke
ssh-agent.ssh-add ~/.ssh/FILENAMEDengan
FILENAMEadalah nama file kunci pribadi Anda, misalnyaid_rsaatauid_ed25519.
Windows
Mulai
ssh-agent.Jika Anda menggunakan Git Bash, mulai
ssh-agent:eval "$(ssh-agent -s)"Jika Anda menggunakan PowerShell atau Command Prompt, mulai layanan
ssh-agent. Di PowerShell, jalankan:Set-Service ssh-agent -StartupType Automatic; Start-Service ssh-agent
Tambahkan kunci pribadi SSH Anda ke
ssh-agent.Jika Anda menggunakan Git Bash:
ssh-add ~/.ssh/FILENAMEJika Anda menggunakan PowerShell atau Command Prompt:
ssh-add $env:USERPROFILE\.ssh\FILENAME
Dengan
FILENAMEadalah nama file kunci pribadi Anda, misalnyaid_rsaatauid_ed25519.
Menambahkan kunci SSH untuk pengguna
- Di antarmuka web Secure Source Manager, dari halaman instance atau repositori, klik menu opsi lainnya.
Klik User SSH keys.
Halaman Kunci SSH pengguna akan terbuka, dan daftar kunci yang sudah ada yang telah Anda buat akan ditampilkan.
Di halaman User SSH keys, klik Add key.
Di halaman Add SSH Key, masukkan nilai berikut untuk kunci Anda:
- Judul: tambahkan judul deskriptif untuk kunci.
Kunci publik SSH: tempel string kunci publik Anda. Untuk mendapatkan string kunci publik Anda, buka file kunci publik (
FILENAME.pub) di editor teks, atau jalankan salah satu perintah berikut:Linux atau macOS
cat ~/.ssh/FILENAME.pubWindows
cat $env:USERPROFILE\.ssh\FILENAME.pubGanti
FILENAMEdengan nama file kunci Anda.
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.
- Jika Anda belum memiliki akun layanan yang ingin digunakan, buat akun layanan.
- Dari antarmuka web Secure Source Manager, klik menu more options.
- Klik Service account SSH keys. Halaman Kunci SSH akun layanan akan terbuka, dan daftar kunci yang ada yang telah Anda tambahkan akan ditampilkan.
- Di halaman Service account SSH keys, klik Add key.
Di halaman Tambahkan kunci SSH akun layanan, masukkan nilai berikut untuk kunci Anda:
- Judul: judul deskriptif untuk kunci
Akun layanan: email akun layanan untuk akun layanan yang ingin Anda gunakan kunci SSH-nya dalam format
SA_NAME@PROJECT_ID.iam.gserviceaccount.comDi mana
SA_NAMEadalah nama akun layanan.PROJECT_IDadalah project ID project tempat akun layanan dibuat.
Kunci Publik SSH: Kunci SSH publik Anda. Lihat Membuat pasangan kunci untuk mengetahui informasi tentang cara membuat pasangan kunci SSH.
Jika akun layanan tidak berada dalam project yang sama dengan instance Secure Source Manager Anda, berikan salah satu peran atau izin berikut pada akun layanan yang ingin Anda gunakan kepada agen layanan Secure Source Manager:
- 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.iam.gserviceaccount.com" \ --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.
- Izin