Halaman ini menjelaskan cara membuat akun layanan menggunakan
Identity and Access Management (IAM) API, konsol Google Cloud , dan alat command line gcloud.
Sebelum memulai
Aktifkan IAM API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.Menyiapkan autentikasi.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan konsol Google Cloud untuk mengakses layanan Google Cloud dan API, Anda tidak perlu menyiapkan autentikasi.
gcloud
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai 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 pada 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.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC 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.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC 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.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC 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.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC 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.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC 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.
Instal Google Cloud CLI.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
-
Memahami akun layanan IAM
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan guna membuat akun layanan,
minta administrator Anda untuk memberi Anda
peran IAM Create Service Accounts (roles/iam.serviceAccountCreator)
di project.
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.
Jika ingin memberikan akun layanan yang baru dibuat akses ke project, Anda juga memerlukan peran admin IAM Project (roles/resourcemanager.projectIamAdmin).
Membuat akun layanan
Saat membuat akun layanan, Anda harus memberikan ID alfanumerik
(SERVICE_ACCOUNT_NAME dalam contoh di bawah), seperti
my-service-account. Panjang ID harus antara 6 sampai 30 karakter, dan dapat
berisi karakter alfanumerik huruf kecil dan tanda pisah. Setelah membuat akun layanan, Anda tidak dapat mengubah namanya.
Nama akun layanan akan muncul di alamat email yang disediakan
selama pembuatan, dalam format
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com.
Setiap akun layanan juga memiliki ID numerik unik yang permanen, yang dihasilkan secara otomatis.
Anda juga memberikan informasi berikut saat membuat akun layanan:
DESCRIPTIONadalah deskripsi opsional untuk akun layanan.DISPLAY_NAMEadalah nama yang cocok untuk akun layanan.PROJECT_IDadalah ID project Google Cloud Anda.
Setelah membuat akun layanan, Anda mungkin perlu menunggu selama 60 detik atau lebih sebelum menggunakan akun layanan. Perilaku ini terjadi karena operasi baca pada akhirnya konsisten; perlu waktu hingga akun layanan baru terlihat. Jika Anda mencoba membaca atau menggunakan akun layanan segera setelah membuatnya, dan Anda menerima error, Anda dapat mencoba kembali permintaan dengan backoff eksponensial.
Jumlah akun layanan yang dapat Anda miliki di setiap project bergantung pada project Anda. Untuk melihat kuota project, lihat kuota project Anda di Google Cloud konsol dan cari Service Account Count.
Konsol
- Di konsol Google Cloud , buka halaman Buat akun layanan.
Langkah-langkah selanjutnya akan muncul di konsol Google Cloud .
- Pilih project Google Cloud .
- Masukkan nama akun layanan untuk ditampilkan di konsol Google Cloud .
Konsol Google Cloud membuat ID akun layanan berdasarkan nama ini. Edit ID jika diperlukan. Anda tidak dapat mengubah ID nanti.
- Opsional: Masukkan deskripsi akun layanan.
- Jika tidak ingin menetapkan kontrol akses sekarang, klik Selesai untuk menyelesaikan pembuatan akun layanan. Untuk menetapkan kontrol akses sekarang, klik Buat dan lanjutkan, lalu lanjutkan ke langkah berikutnya.
- Opsional: Pilih satu atau beberapa peran IAM untuk diberikan ke akun layanan pada project.
- Setelah selesai menambahkan peran, klik Lanjutkan.
- Opsional: Di kolom Peran pengguna akun layanan, tambahkan anggota yang perlu melampirkan akun layanan ke resource lain.
- Opsional: Di kolom Peran admin akun layanan, tambahkan anggota yang perlu mengelola akun layanan.
- Klik Selesai untuk menyelesaikan pembuatan akun layanan.
gcloud
-
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai 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 pada sesi.
-
Untuk membuat akun layanan, jalankan perintah
gcloud iam service-accounts create:gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME"
Ganti nilai berikut:
-
SERVICE_ACCOUNT_NAME: nama akun layanan -
DESCRIPTION: deskripsi opsional untuk akun layanan -
DISPLAY_NAME: nama akun layanan untuk ditampilkan di konsol Google Cloud
-
-
Opsional: Untuk memberi akun layanan Anda peran IAM pada project Anda, jalankan perintah
gcloud projects add-iam-policy-binding:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE_NAME"
Ganti nilai berikut:
-
PROJECT_ID: project ID -
SERVICE_ACCOUNT_NAME: nama akun layanan -
ROLE_NAME: nama peran, sepertiroles/compute.osLogin
-
-
Opsional: Untuk mengizinkan pengguna melampirkan akun layanan ke resource lain, jalankan perintah
gcloud iam service-accounts add-iam-policy-bindinguntuk memberikan peran Pengguna Akun Layanan kepada pengguna (roles/iam.serviceAccountUser) di akun layanan:gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Ganti nilai berikut:
PROJECT_ID: the project IDSERVICE_ACCOUNT_NAME: nama akun layananUSER_EMAIL: alamat email untuk pengguna
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
serviceAccounts.create
membuat 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: ID alfanumerik akun layanan Anda. Panjang nama ini harus antara 6 dan 30 karakter, serta dapat berisi karakter alfanumerik huruf kecil dan tanda pisah.SA_DESCRIPTION: Opsional. Deskripsi untuk akun layanan.SA_DISPLAY_NAME: Nama yang dapat dibaca manusia untuk akun layanan.
Metode HTTP dan URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
Meminta isi JSON:
{
"accountId": "SA_NAME",
"serviceAccount": {
"description": "SA_DESCRIPTION",
"displayName": "SA_DISPLAY_NAME"
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com",
"projectId": "my-project",
"uniqueId": "123456789012345678901",
"email": "my-service-account@my-project.iam.gserviceaccount.com",
"displayName": "My service account",
"etag": "BwUp3rVlzes=",
"description": "A service account for running jobs in my project",
"oauth2ClientId": "987654321098765432109"
}
Setelah Anda membuat akun layanan, berikan satu atau beberapa peran ke akun layanan sehingga akun layanan tersebut dapat bertindak atas nama Anda.
Selain itu, jika akun layanan perlu mengakses resource di project lain, biasanya Anda harus mengaktifkan API untuk resource tersebut dalam project tempat Anda membuat akun layanan.
Langkah selanjutnya
- Pelajari cara mencantumkan dan mengedit akun layanan.
- Tinjau proses untuk memberikan peran IAM ke semua jenis akun utama, termasuk akun layanan.
- Pahami cara melampirkan akun layanan ke resource.
- Dapatkan praktik terbaik untuk menangani akun layanan.
Coba sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Mulai secara gratis