Dokumen ini menjelaskan cara menentukan akun layanan tugas Batch, yang memengaruhi resource dan aplikasi yang dapat diakses oleh VM tugas. Jika Anda tidak menentukan akun layanan kustom, tugas akan ditetapkan secara default menggunakan akun layanan default Compute Engine, yang secara default terpasang ke semua VM dalam sebuah 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 Anda perlukan untuk mengontrol akses tugas menggunakan akun layanan khusus, minta administrator untuk memberi Anda peran IAM berikut:
-
Untuk membuat tugas:
-
Batch Job Editor (
roles/batch.jobsEditor
) pada project -
Service Account User (
roles/iam.serviceAccountUser
) pada akun layanan tugas, yang secara default merupakan 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 pemberian peran, lihat Mengelola akses.
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 suatu tugas.
Membuat tugas yang menggunakan akun layanan khusus
Untuk membuat tugas yang menggunakan akun layanan kustom, pilih salah satu metode berikut:
- Tentukan akun layanan kustom di 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 atau Batch API.
gcloud
Untuk membuat tugas yang menggunakan akun layanan kustom menggunakan gcloud CLI, gunakan perintah gcloud batch jobs submit
dan tentukan akun layanan kustom di 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 dengan 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.
Langkah selanjutnya
- Jika Anda mengalami masalah saat membuat atau menjalankan tugas, lihat Pemecahan masalah.
- Melihat tugas dan tugas.
- Pelajari opsi pembuatan lowongan lebih lanjut.