Halaman ini menjelaskan cara mencantumkan dan mendapatkan kunci akun layanan menggunakan Google Cloud Console, Google Cloud CLI, Identity and Access Management API, atau salah satu Library Klien Google Cloud.
Sebelum memulai
Enable the IAM API.
Menyiapkan autentikasi.
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C#
Untuk menggunakan contoh .NET di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam Google Cloud dokumentasi autentikasi.
C++
Untuk menggunakan contoh C++ di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam Google Cloud dokumentasi autentikasi.
Go
Untuk menggunakan contoh Go di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam Google Cloud dokumentasi autentikasi.
Java
Untuk menggunakan contoh Java di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam Google Cloud dokumentasi autentikasi.
Python
Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam Google Cloud dokumentasi autentikasi.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.
Memahami kredensial akun layanan.
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan untuk mencantumkan dan mendapatkan kunci akun layanan,
minta administrator untuk memberi Anda
peran IAM Lihat Akun Layanan (roles/iam.serviceAccountViewer
) di project atau akun layanan yang kuncinya
ingin Anda kelola.
Untuk mengetahui informasi selengkapnya tentang cara memberikan 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 selengkapnya, lihat peran Service Accounts.
Peran dasar IAM juga berisi izin untuk mengelola kunci akun layanan. Anda tidak boleh memberikan peran dasar dalam lingkungan produksi, tetapi Anda dapat memberikannya dalam lingkungan pengembangan atau pengujian.
Mencantumkan kunci akun layanan
Anda dapat mencantumkan kunci akun layanan untuk akun layanan menggunakan
Konsol Google Cloud, gcloud CLI, metode
serviceAccount.keys.list()
atau salah satu metode library klien.
Metode serviceAccount.keys.list()
biasanya digunakan untuk mengaudit akun
dan kunci layanan, atau untuk membuat alat kustom guna mengelola akun layanan.
Untuk mengetahui project milik kunci Anda, Anda dapat mendownload kunci tersebut sebagai file JSON dan melihat file tersebut.
Anda mungkin melihat daftar kunci yang tidak Anda buat. Ini adalah kunci yang dibuat oleh Google dan digunakan oleh Service Account Credentials API. Untuk mempelajari lebih lanjut, lihat pasanganGoogle-owned and managed key .
- Di Konsol Google Cloud, buka halaman Service accounts.
Langkah-langkah lainnya akan muncul di konsol Google Cloud.
- Pilih project.
- Di halaman Akun layanan, klik alamat email akun layanan yang kuncinya ingin Anda cantumkan.
- Klik Kunci. Konsol Google Cloud menampilkan daftar kunci untuk akun layanan.
Jalankan perintah gcloud iam service-accounts keys list
untuk mencantumkan kunci akun layanan.
Ganti nilai berikut:
SA_NAME
: Nama akun layanan yang akan dicantumkan kunci.PROJECT_ID
: Google Cloud Project ID Anda.
gcloud iam service-accounts keys list \ --iam-account=SA_NAME @PROJECT_ID .iam.gserviceaccount.com
Output:
ID_KUNCI | DIBUAT_PADA | BERLAKU_SAMPAI | DINONAKTIFKAN | DISABLE_REASON | EXTENDED_STATUS |
8e6e3936d7024646f8ceb39792006c07f4a9760c | 2021-01-01T21:01:42Z | 9999-12-31T23:59:59Z | |||
937c98f870f5c8db970af527aa3c12fd88b1c20a | 2021-01-01T20:55:40Z | 9999-12-31T23:59:59Z | Benar | DIMULAI OLEH PENGGUNA | |
937c98f870f5c8db970af527aa3c12fd88b1c20a | 2021-01-01T20:55:40Z | 9999-12-31T23:59:59Z | Benar | DIEKSPOS | ['key':'SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED' 'value':'{exposure URL}'] |
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C# IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Metode
projects.serviceAccounts.keys.list
mencantumkan semua kunci akun layanan untuk akun layanan.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Google Cloud Project ID Anda. Project ID adalah string alfanumerik, sepertimy-project
.SA_NAME
: Nama akun layanan yang kuncinya ingin Anda cantumkan.KEY_TYPES
: Opsional. Daftar yang dipisahkan koma untuk jenis kunci yang ingin Anda sertakan dalam respons. Jenis kunci menunjukkan apakah kunci dikelola oleh pengguna (USER_MANAGED
) atau dikelola sistem (SYSTEM_MANAGED
). Jika dibiarkan kosong, semua kunci akan ditampilkan.
Metode HTTP dan URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID /serviceAccounts/SA_NAME @PROJECT_ID .iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES
Untuk mengirim permintaan, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://iam.googleapis.com/v1/projects/PROJECT_ID /serviceAccounts/SA_NAME @PROJECT_ID .iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES "
PowerShell (Windows)
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://iam.googleapis.com/v1/projects/PROJECT_ID /serviceAccounts/SA_NAME @PROJECT_ID .iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES " | Select-Object -Expand Content
API Explorer (browser)
Buka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
{ "keys": [ { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c", "validAfterTime": "2020-03-04T17:39:47Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8", "validAfterTime": "2020-03-31T23:50:09Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/b97699f042b8eee6a846f4f96259fbcd13e2682e", "validAfterTime": "2020-05-17T18:58:13Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED", "disabled": true "disable_reason": "SERVICE_ACCOUNT_KEY_DISABLE_REASON_EXPOSED" "extended_status": "SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED" "extended_status_message": "exposed at: https://www.github.com/SomePublicRepo" } ] }
Dapatkan kunci akun layanan
Anda dapat menggunakan gcloud CLI atau REST API untuk mendapatkan data kunci publik untuk kunci akun layanan. Selain itu, Anda dapat menggunakan konsol Google Cloud, gcloud CLI, atau REST API untuk mendapatkan metadata kunci, seperti algoritma yang digunakan kunci dan apakah kunci tersebut dikelola oleh Anda atau oleh Google.
Untuk mendapatkan data kunci publik untuk kunci akun layanan:
Menggunakan gcloud CLI atau REST API. Opsi ini tidak tersedia di konsol Google Cloud.
Untuk mendapatkan metadata untuk kunci akun layanan:
- Di Konsol Google Cloud, buka halaman Service accounts.
Langkah-langkah lainnya akan muncul di konsol Google Cloud.
- Pilih project.
- Di halaman Akun layanan, klik alamat email akun layanan yang kuncinya ingin Anda cantumkan.
- Klik Kunci. Konsol Google Cloud menampilkan daftar kunci untuk akun layanan, termasuk metadata untuk setiap kunci.
Untuk mendapatkan data kunci publik untuk kunci akun layanan:
Jalankan perintah
gcloud beta iam service-accounts keys get-public-key
:
gcloud beta iam service-accounts keys get-public-keyKEY_ID \ --iam-account=SA_NAME @PROJECT_ID .iam.gserviceaccount.com \ --output-file=FILENAME
Berikan nilai berikut:
KEY_ID
: ID kunci publik yang ingin Anda dapatkan. Untuk menemukan ID kunci, cantumkan semua kunci untuk akun layanan, identifikasi kunci yang ingin Anda dapatkan, lalu salin ID-nya.SA_NAME
: Nama akun layanan yang kunci publiknya ingin Anda dapatkan.PROJECT_ID
: Google Cloud Project ID Anda.FILENAME
: File tempat menyimpan data kunci publik.
Secara default, data kunci publik disimpan dalam format X.509 PEM. Untuk mendapatkan kunci
publik mentah, jalankan perintah dengan flag tambahan --type=raw
.
Misalnya, perintah berikut mendapatkan data kunci publik untuk kunci
c97cc34494c07c9b483701f28368f20145b9ef97
, yang dimiliki oleh akun layanan
my-service-account@my-project.iam.gserviceaccount.com
, lalu menyimpan data kunci
publik tersebut ke file public_key.pem
:
gcloud beta iam service-accounts keys get-public-key \
c97cc34494c07c9b483701f28368f20145b9ef97 \
--iam-account=my-service-account@my-project.iam.gserviceaccount.com \
--output-file=public_key.pem
Untuk mendapatkan metadata untuk kunci akun layanan:
Jalankan perintah gcloud iam service-accounts keys list
:
gcloud iam service-accounts keys list --iam-account=SA_NAME \ --filter="name~KEY_ID " --format=json
Berikan nilai berikut:
SA_NAME
: Nama akun layanan yang metadata kuncinya Anda inginkan.KEY_ID
: ID kunci yang Anda inginkan metadata-nya.
Misalnya, perintah berikut mendapatkan metadata untuk kunci
c97cc34494c07c9b483701f28368f20145b9ef97
, yang dimiliki oleh akun layanan
my-service-account@my-project.iam.gserviceaccount.com
:
gcloud iam service-accounts keys list \
--iam-account=my-service-account@my-project.iam.gserviceaccount.com \
--filter="name~c97cc34494c07c9b483701f28368f20145b9ef97" --format=json
Metode
projects.serviceAccounts.keys.get
menampilkan informasi tentang kunci publik untuk akun layanan.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Google Cloud Project ID Anda. Project ID adalah string alfanumerik, sepertimy-project
.SA_NAME
: Nama akun layanan yang kunci publiknya ingin Anda dapatkan.-
KEY_ID
: ID kunci publik yang ingin Anda dapatkan. Untuk menemukan ID kunci tersebut, cantumkan semua kunci untuk akun layanan, identifikasi kunci yang ingin Anda dapatkan, lalu salin ID-nya pada akhir kolomname
. ID kunci adalah segala sesuatu setelahkeys/
. KEY_TYPE
: Format yang digunakan untuk menampilkan kunci publik. GunakanTYPE_X509_PEM_FILE
untuk format PEM X.509 atauTYPE_RAW_PUBLIC_KEY
untuk kunci publik mentah. Jika Anda menghilangkan parameter kueri ini, metode akan mengembalikan metadata untuk kunci, namun tidak akan mengembalikan data kunci publik.
Metode HTTP dan URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID /serviceAccounts/SA_NAME @PROJECT_ID .iam.gserviceaccount.com/keys/KEY_ID ?publicKeyType=KEY_TYPE
Untuk mengirim permintaan, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://iam.googleapis.com/v1/projects/PROJECT_ID /serviceAccounts/SA_NAME @PROJECT_ID .iam.gserviceaccount.com/keys/KEY_ID ?publicKeyType=KEY_TYPE "
PowerShell (Windows)
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://iam.googleapis.com/v1/projects/PROJECT_ID /serviceAccounts/SA_NAME @PROJECT_ID .iam.gserviceaccount.com/keys/KEY_ID ?publicKeyType=KEY_TYPE " | Select-Object -Expand Content
API Explorer (browser)
Buka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
Anda akan menerima respons JSON seperti berikut:
{ "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/f4a83933ac07cf52bb74e0e66d99662a09f51a36", "validAfterTime": "2021-12-10T17:32:06Z", "validBeforeTime": "9999-12-31T23:59:59Z", "publicKeyData": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvRENDQWVTZ0F3SUJBZ0lJT2lCdm9hR09nV0F3RFFZSktvWklodmNOQVFFRkJRQXdJREVlTUJ3R0ExVUUKQXhNVk1UQXhNVGsxTlRFMk5UWXlPRGszTmpFek1qQXpNQ0FYRFRJeE1USXhNREUzTXpJd05sb1lEems1T1RreApNak14TWpNMU9UVTVXakFnTVI0d0hBWURWUVFERXhVeE1ERXhPVFUxTVRZMU5qSTRPVGMyTVRNeU1ETXdnZ0VpCk1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQzdzeDBFcXVUMGNwSXhlczl1SW0yRy9DS3EKdnc4YTl2a2JkaWZZbDZHSDh1ZUxEWDhGNHVUeEVQMkNzU3JLTHZtOFo2My9IVUxnWjBtQXByb0JlM08vaVR1ZwpmYVZ0NVNtakhvWm9YQ1lpbjR0MS93SkpvdDhrRFdPeDZhOEdieUdqZ215ak8yYk1XdEtaQ2dqeGZ3cUV0MmN3CklnajA5VzJKYTlHTWRsdVA0VGVubTRKSkJoaFpFbTJ1bVAwYVZZdkRnUWF5d0RCYnJuNG8yY0EzSWplRDZGM1gKK0VHRDNKU0s4VW02Sk5sM21adGp6VWNZSHBrYkF0U1A2ZDI5d1RmZkdIRFY0THJRWlM3bG15d3hsb3p5WnpaawpCOFpHckMzSkF1MVNVRTdQOTN6bWtFb1B6MlRUNWhaYXZMWFQ5TGM2SExiRklRVHFnVEJVWHlNMkpIcGZBZ01CCkFBR2pPREEyTUF3R0ExVWRFd0VCL3dRQ01BQXdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1CWUdBMVVkSlFFQi93UU0KTUFvR0NDc0dBUVVGQndNQ01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQkhPNXlpUDY3NkE4UEN2RjdRSzdFMApYZVljbzdsSStFZkowaGJrWVlmdUtnSENPcXcvd3FBbCtOSithanljT2FPWDFPMlRZN3ZOc05pR2t3eWc2QXdqCklhL1NHVjd3NkxpS2JldFRuSVp4UlhRY25lcnVvZEwycUR5eWphMDJJSXJVTmVKY1o0MVJBNXRTL3NkcTFGNm4KM0NjSXFoZTI1OTA4TUNna3cwaFB1K0VLbFF6R1B5T3pVRHBLdXg0cnRBaHJTYTBUVW1wbEMxdTJnUk1YRkF6aApWUjU0V2dNa2tabURyalBNeWdBS3JmNkd0bHo2VHRTYTVLb1BWdGpsWExUQkxaSnlhdk4zc1F2dFlBK1NFQWpWCnA1N1ZabFBYZmR0dWN4ekJaOC9zS25SOHNyYU5hVWFjamg1NEE1Nm1URTE3b0IyUWkrTHBJUTYvNnVqVnNXaUYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }
Langkah selanjutnya
- Pelajari cara membuat dan menghapus kunci akun layanan.
- Pelajari cara menonaktifkan dan mengaktifkan kunci akun layanan.
- Pelajari alternatif untuk kunci akun layanan guna autentikasi.
- Pelajari cara menggunakan kunci akun layanan untuk melakukan autentikasi sebagai akun layanan.
- Pahami praktik terbaik untuk mengelola kunci akun layanan.
Coba sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Mulai secara gratis