Dokumen ini menjelaskan cara menentukan akun layanan tugas Batch, yang memengaruhi resource dan aplikasi yang dapat diakses VM tugas. Jika Anda tidak menentukan akun layanan kustom, tugas akan otomatis menggunakan akun layanan default Compute Engine, yang secara 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 akun layanan tugas lebih lanjut.
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 guna mengontrol akses untuk tugas yang 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 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, nilainya 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, nilainya akan ditetapkan ke akun layanan Compute Engine default.
Java
Node.js
Python
Langkah selanjutnya
- Jika Anda mengalami masalah saat membuat atau menjalankan tugas, lihat Pemecahan masalah.
- Lihat tugas dan pekerjaan.
- Pelajari opsi pembuatan tugas lainnya.