Mode bertindak sebagai yang ketat mengaktifkan 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 mewajibkan pengguna yang melakukan tindakan ini
memiliki izin iam.serviceAccounts.actAs pada akun layanan efektif,
yaitu akun layanan yang kredensialnya digunakan untuk menjalankan alur kerja.
Untuk mengetahui informasi selengkapnya, lihat
Melampirkan akun layanan ke resource.
Anda dapat mengaktifkan izin 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
peran IAM Service Account User (roles/iam.serviceAccountUser)
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 kustom saat membuat repositori, akun layanan Jika tidak, nilai defaultnya adalah agen layanan Dataform. |
| Konfigurasi alur kerja | Anda dapat memilih akun layanan kustom saat membuat konfigurasi alur kerja. Jika tidak, nilai defaultnya adalah agen layanan Dataform repositori. |
| Pemanggilan alur kerja | Jika hasil kompilasi adalah Jika Anda membuat pemanggilan alur kerja dari hasil kompilasi, akun layanan Jika tidak, nilai defaultnya adalah agen 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 bertindak sebagai 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:
createataupatch- Jika properti
Repository.ServiceAccountditetapkan, Anda harus memiliki peran Pengguna Akun Layanan yang diberikan untuk properti tersebut. - Jika Anda memanggil metode
patch, Anda harus memiliki peran Pengguna Akun Layanan yang diberikan untuk semua akun layanan efektif di semua konfigurasi alur kerja di repositori.
- Jika properti
workflowConfigs.createatauworkflowConfigs.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 memberikan peran Service Account User ke akun layanan kustom, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka IAM > Service accounts.
Pilih project.
Di halaman Service accounts for project "PROJECT_NAME", pilih akun layanan kustom Anda.
Buka Akun utama dengan akses, lalu klik Berikan Akses.
Di kolom New principals, masukkan ID agen layanan Dataform default Anda.
ID agen layanan Dataform default Anda menggunakan format berikut:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comDi daftar Pilih peran, pilih peran Service Account User.
Klik Simpan.
Untuk mengetahui informasi selengkapnya, lihat peran yang diperlukan untuk membuat konfigurasi alur kerja dan peran yang diperlukan untuk membuat konfigurasi rilis.
Efek mode berperan sebagai yang ketat pada rilis dan eksekusi otomatis
Jika mode berperan sebagai orang lain yang ketat diaktifkan, hal ini akan memengaruhi rilis repositori otomatis dan eksekusi alur kerja otomatis sebagai berikut:
Untuk repositori yang tidak terhubung ke repositori pihak ketiga:
- Anda tidak dapat menyetel
jadwal Cron
untuk rilis otomatis dalam konfigurasi rilis. Hal ini diterapkan untuk mencegah
perubahan kode yang dilakukan oleh pengguna yang mungkin tidak memiliki izin
iam.serviceAccounts.actAsyang diperlukan pada akun layanan hilir agar tidak di-deploy secara otomatis. - Jadwal alur kerja yang dijalankan menggunakan jadwal Cron dalam konfigurasi alur kerja tetap diaktifkan. Agar eksekusi otomatis ini berhasil, Anda harus memberikan izin
iam.serviceAccounts.actAskepada agen layanan Dataform default pada akun layanan efektif yang ditentukan dalam konfigurasi alur kerja.
Untuk repositori yang terhubung ke repositori pihak ketiga:
- Rilis terjadwal dan operasi alur kerja terjadwal diizinkan.
- Untuk mengaktifkan rilis otomatis dari konfigurasi rilis atau eksekusi otomatis dari konfigurasi alur kerja, Anda harus memberikan izin
iam.serviceAccounts.actAskepada agen layanan Dataform default pada akun layanan efektif yang relevan:- Untuk konfigurasi rilis otomatis, berikan izin pada akun layanan efektif dari semua konfigurasi alur kerja yang dipicu oleh konfigurasi rilis ini.
- Untuk konfigurasi alur kerja otomatis, berikan izin pada akun layanan efektif yang digunakan oleh konfigurasi alur kerja tersebut.
Langkah berikutnya
- Untuk mempelajari cara membuat repositori, lihat Membuat repositori.
- Untuk mempelajari lebih lanjut cara Dataform bekerja dengan BigQuery, lihat Ringkasan alur kerja.
- Untuk mempelajari cara membuat konfigurasi alur kerja, lihat Menjadwalkan eksekusi.
- Untuk mempelajari cara membuat konfigurasi rilis, lihat Mengonfigurasi kompilasi.