Menggunakan mode bertindak sebagai yang ketat

Mode act-as ketat memungkinkan pemeriksaan keamanan tambahan untuk tindakan pengguna berikut di Dataform:

  • Membuat atau memperbarui repositori
  • Membuat atau memperbarui konfigurasi alur kerja
  • Membuat pemanggilan alur kerja
  • Memperbarui konfigurasi rilis

Pemeriksaan keamanan tambahan ini mengharuskan pengguna yang melakukan tindakan ini memiliki izin iam.serviceAccounts.actAs di akun layanan yang efektif, yaitu akun layanan yang kredensialnya digunakan untuk menjalankan alur kerja. Untuk informasi selengkapnya tentang akun layanan, lihat Melampirkan akun layanan ke resource.

Anda dapat mengaktifkan mode ini dengan cara berikut:

  • Saat membuat repositori
  • Saat memperbarui repositori yang ada dengan flag repositori strict_act_as_checks

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menyelesaikan tugas dalam dokumen ini, minta administrator untuk memberi Anda Service Account User (roles/iam.serviceAccountUser) peran IAM di akun layanan kustom. 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.

Menentukan akun layanan yang efektif

Anda dapat menentukan akun layanan efektif yang menjalankan alur kerja sesuai dengan jenis resource dan kondisi berikut:

Jenis resource Akun layanan yang efektif
Repositori

Jika Anda memilih akun layanan saat membuat repositori, akun layanan Repository.ServiceAccount akan digunakan.

Jika tidak, akun ini akan ditetapkan secara default ke akun layanan Dataform.

Konfigurasi alur kerja

Anda dapat memilih akun layanan saat membuat konfigurasi alur kerja.

Jika tidak, akun ini akan ditetapkan secara default ke akun layanan Dataform repositori.

Pemanggilan alur kerja

Jika hasil kompilasi adalah WORKFLOW_CONFIG, akun layanan efektif konfigurasi alur kerja akan digunakan.

Jika Anda membuat pemanggilan alur kerja dari hasil kompilasi, akun layanan WorkflowInvocation.InvocationConfig akan digunakan jika ditetapkan.

Jika tidak, akun ini akan ditetapkan secara default ke akun layanan Dataform repositori.

Memberikan peran IAM Service Account User

Peran Service Account User (roles/iam.serviceAccountUser) berisi izin iam.serviceAccounts.actAs, yang diperlukan untuk mode act-as yang ketat. Saat menggunakan Dataform API, Anda harus memiliki peran Pengguna Akun Layanan yang diberikan untuk akun layanan yang efektif berdasarkan metode projects.locations.repositories yang Anda panggil:

  • create atau patch
    • Jika properti Repository.ServiceAccount ditetapkan, Anda harus memiliki peran Pengguna Akun Layanan yang diberikan untuk properti tersebut.
    • Jika memanggil metode patch, Anda harus memiliki peran Pengguna Akun Layanan yang diberikan untuk semua akun layanan yang efektif di semua konfigurasi alur kerja di repositori.
  • workflowConfigs.create atau workflowConfigs.patch
    • Anda harus memiliki peran Pengguna Akun Layanan yang diberikan untuk akun layanan efektif yang digunakan dalam konfigurasi alur kerja.
  • releaseConfigs.patch
    • Anda harus memiliki peran Pengguna Akun Layanan yang diberikan untuk semua akun layanan efektif yang digunakan dalam konfigurasi alur kerja menggunakan konfigurasi rilis ini.
  • workflowInvocations.create
    • Anda harus memiliki peran Pengguna Akun Layanan yang diberikan untuk akun layanan efektif yang digunakan dalam pemanggilan alur kerja.

Untuk informasi selengkapnya, lihat peran yang diperlukan untuk membuat konfigurasi alur kerja dan peran yang diperlukan untuk membuat konfigurasi rilis.

Rilis otomatis untuk repositori

Jika mode act-as diaktifkan, rilis otomatis akan dinonaktifkan untuk konfigurasi rilis repositori Dataform. Hal ini tidak berlaku untuk repositori yang terhubung ke repositori pihak ketiga.

Selain itu, jika Anda mengaktifkan mode act-as, akan ada pemeriksaan pada repositori untuk mengetahui apakah repositori tersebut memiliki konfigurasi rilis otomatis yang ditetapkan menggunakan jadwal Cron. Hal ini tidak berlaku untuk repositori yang terhubung ke repositori pihak ketiga.

Langkah berikutnya