Halaman ini menjelaskan cara membuat akun layanan menggunakan
Identity and Access Management (IAM), konsol Google Cloud, dan alat command line gcloud
.
Secara default, setiap project dapat memiliki hingga 100 akun layanan yang mengontrol akses ke resource Anda. Jika perlu, Anda dapat meminta penambahan kuota. Pelajari kuota dan batas lebih lanjut.
Sebelum memulai
Aktifkan IAM API.
Siapkan autentikasi.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
Anda dapat menggunakan sampel gcloud CLI di halaman ini dari salah satu lingkungan pengembangan berikut:
-
Cloud Shell: Untuk menggunakan terminal online dengan gcloud CLI yang sudah disiapkan, aktifkan Cloud Shell.
Di bagian bawah halaman ini, sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Perlu waktu beberapa detik hingga sesi dimulai.
-
Shell lokal: Untuk menggunakan gcloud CLI di lingkungan pengembangan lokal, instal dan initialize gcloud CLI.
C++
Untuk menggunakan contoh C++ di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
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 .NET di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
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 dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
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 dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
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 dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
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.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Memahami akun layanan IAM
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat akun layanan,
minta administrator untuk memberikan Anda
peran IAM Membuat Akun Layanan (roles/iam.serviceAccountCreator
) pada project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
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:
DESCRIPTION
adalah deskripsi opsional untuk akun layanan.DISPLAY_NAME
adalah nama yang cocok untuk akun layanan.PROJECT_ID
adalah 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.
Konsol
- Di konsol Google Cloud, buka halaman Create service account.
Langkah-langkah selanjutnya akan muncul secara otomatis di konsol Google Cloud.
- Pilih project Google Cloud.
- Masukkan nama akun layanan untuk ditampilkan di Google Cloud Console.
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 Service account users role, tambahkan anggota yang perlu melampirkan akun layanan ke resource lain.
- Opsional: Di kolom Service account admin role, 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 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.
-
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-binding
untuk memberi pengguna peran Service Account User (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.
Cobalah 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