Dokumen ini menjelaskan cara menentukan akun layanan job Batch, yang memengaruhi resource dan aplikasi yang dapat diakses VM job. Jika Anda tidak menentukan akun layanan kustom, tugas akan menggunakan akun layanan default Compute Engine secara default, yang otomatis dilampirkan ke semua VM dalam project secara default. Oleh karena itu, menggunakan akun layanan kustom memberikan kontrol yang lebih besar dalam mengelola izin tugas dan merupakan praktik terbaik yang direkomendasikan untuk membatasi hak istimewa.
Pelajari lebih lanjut akun layanan tugas.
Sebelum memulai
- Jika belum pernah menggunakan Batch, baca Mulai menggunakan Batch dan aktifkan Batch dengan menyelesaikan prasyarat untuk project dan pengguna.
-
Untuk mendapatkan izin yang diperlukan untuk mengontrol akses untuk tugas menggunakan akun layanan kustom, minta administrator untuk memberi Anda peran IAM berikut:
-
Untuk membuat tugas:
-
Batch Job Editor (
roles/batch.jobsEditor
) di project -
Pengguna Akun Layanan (
roles/iam.serviceAccountUser
) di akun layanan tugas, yang secara default adalah akun layanan Compute Engine default
-
Batch Job Editor (
-
Untuk melihat akun layanan:
Lihat Akun Layanan (
roles/iam.serviceAccountViewer
) 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.
-
Untuk membuat tugas:
-
Identifikasi akun layanan yang ingin Anda gunakan untuk tugas ini. Pastikan akun layanan ini memiliki semua izin yang diperlukan untuk menjalankan tugas Anda.
Pelajari lebih lanjut cara melihat akun layanan dan izin yang diperlukan untuk akun layanan tugas.
Membuat tugas yang menggunakan akun layanan kustom
Untuk membuat tugas yang menggunakan akun layanan kustom, pilih salah satu metode berikut:
- Tentukan akun layanan kustom dalam definisi tugas Anda, seperti yang ditunjukkan di bagian ini.
- Gunakan template instance Compute Engine dan tentukan akun layanan kustom di template instance dan di definisi tugas Anda.
Bagian ini memberikan contoh cara membuat tugas yang menggunakan akun layanan kustom. Anda dapat membuat tugas yang menggunakan akun layanan kustom menggunakan gcloud CLI, Batch API, Java, Node.js, atau Python.
gcloud
Untuk membuat tugas yang menggunakan akun layanan kustom menggunakan
gcloud CLI, gunakan perintah gcloud batch jobs submit
dan tentukan akun layanan kustom dalam file konfigurasi tugas.
Misalnya, untuk membuat tugas skrip yang menggunakan akun layanan kustom:
Buat file JSON di direktori saat ini bernama
hello-world-service-account.json
dengan konten berikut:{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello World! This is task $BATCH_TASK_INDEX." } } ] } } ], "allocationPolicy": { "serviceAccount": { "email": "SERVICE_ACCOUNT_EMAIL" } } }
dengan
SERVICE_ACCOUNT_EMAIL
adalah alamat email akun layanan Anda. Jika kolomserviceAccount
tidak ditentukan, nilai akan ditetapkan ke akun layanan Compute Engine default.Jalankan perintah berikut:
gcloud batch jobs submit example-service-account-job \ --location us-central1 \ --config hello-world-service-account.json
API
Untuk membuat tugas yang menggunakan akun layanan kustom menggunakan
Batch API, gunakan
metode jobs.create
dan tentukan akun layanan kustom Anda di kolom allocationPolicy
.
Misalnya, untuk membuat tugas skrip yang menggunakan akun layanan kustom, buat permintaan berikut:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/jobs?job_id=example-service-account-job
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello World! This is task $BATCH_TASK_INDEX."
}
}
]
}
}
],
"allocationPolicy": {
"serviceAccount": {
"email": "SERVICE_ACCOUNT_EMAIL"
}
}
}
Ganti kode berikut:
PROJECT_ID
: Project ID project Anda.SERVICE_ACCOUNT_EMAIL
: alamat email akun layanan Anda. Jika kolomserviceAccount
tidak ditentukan, nilai akan ditetapkan ke akun layanan Compute Engine default.
Java
Node.js
Python
Langkah berikutnya
- Jika Anda mengalami masalah saat membuat atau menjalankan tugas, lihat Pemecahan masalah.
- Melihat tugas.
- Pelajari lebih lanjut opsi pembuatan tugas.