Mengontrol akses untuk tugas menggunakan akun layanan kustom

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

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:

  1. 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 kolom serviceAccount tidak ditentukan, nilainya akan ditetapkan ke akun layanan Compute Engine default.

  2. 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:

Langkah selanjutnya