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
Aktifkan IAM API.
Menyiapkan autentikasi.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
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
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
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
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
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
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
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
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
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
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
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 Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Memahami kredensial akun layanan.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mencantumkan dan mendapatkan kunci akun layanan, minta administrator untuk memberi Anda Lihat Akun Layanan (
roles/iam.serviceAccountViewer
) peran IAM 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 Pasangan kunci yang dikelola Google.
Konsol
- 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.
gcloud
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
: ID project Google Cloud Anda.
gcloud iam service-accounts keys list \ --iam-account=SA_NAME@PROJECT_ID.
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 EKSPOS ['key':'SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED' 'value':'{exposure URL}'] C++
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.
C#
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.
Go
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.
Java
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.
Python
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.
REST
Metode
projects.serviceAccounts.keys.list
mencantumkan semua kunci akun layanan untuk akun layanan.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Google Cloud 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./keys?keyTypes=KEY_TYPES
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "keys": [ { "name": "projects/my-project/serviceAccounts/my-service-account@my-project./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./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./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.
Konsol
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.
gcloud
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-key KEY_ID \ --iam-account=SA_NAME@PROJECT_ID. \ --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 layananmy-service-account@my-project.
, lalu menyimpan data kunci publik tersebut ke filepublic_key.pem
:gcloud beta iam service-accounts keys get-public-key \ c97cc34494c07c9b483701f28368f20145b9ef97 \ --iam-account=my-service-account@my-project. \ --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 layananmy-service-account@my-project.
:gcloud iam service-accounts keys list \ --iam-account=my-service-account@my-project. \ --filter="name~c97cc34494c07c9b483701f28368f20145b9ef97" --format=json
REST
Metode
projects.serviceAccounts.keys.get
menampilkan informasi tentang kunci publik untuk akun layanan.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Google Cloud 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./keys/KEY_ID?publicKeyType=KEY_TYPE
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima respons JSON seperti berikut:
{ "name": "projects/my-project/serviceAccounts/my-service-account@my-project./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 gratisKecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-11-27 UTC.