Peran Dataform yang telah ditentukan sebelumnya
Tabel berikut mencantumkan peran yang telah ditetapkan yang memberi Anda akses ke resource Dataform:
Role | Permissions |
---|---|
Dataform Admin( Full access to all Dataform resources. |
|
Code Creator( Access only to private and shared code resources. The permissions in the Code Creator let you create and list code in Dataform, and access only the code that you created and code that was explicitly shared with you. |
|
Code Editor( Edit access code resources. |
|
Code Owner( Full access to code resources. |
|
Code Viewer( Read-only access to all code resources. |
|
Dataform Editor( Edit access to Workspaces and Read-only access to Repositories. |
|
Dataform Viewer( Read-only access to all Dataform resources. |
|
Peran Dataform kustom
Peran khusus dapat mencakup izin apa pun yang Anda tentukan. Anda dapat membuat peran khusus yang menyertakan izin untuk melakukan operasi administratif tertentu, seperti membuat ruang kerja pengembangan atau membuat file dan direktori di dalam ruang kerja pengembangan. Untuk membuat peran khusus, lihat artikel Membuat dan mengelola peran khusus.
Pertimbangan keamanan untuk izin Dataform
Setiap pengguna yang memiliki izin dataform.repositories.create
dapat mengeksekusi kode di BigQuery menggunakan akun layanan Dataform default dan semua izin yang diberikan ke akun layanan tersebut. Hal ini mencakup
eksekusi alur kerja SQL Dataform.
Izin dataform.repositories.create
disertakan dalam peran IAM berikut:
- Pengguna BigQuery Studio (
roles/bigquery.studioUser
) - Pembuat Kode (
roles/dataform.codeCreator
) - Code Editor (
roles/dataform.codeEditor
) - Pemilik Kode (
roles/dataform.codeOwner
) - Pengguna Colab Enterprise (
roles/aiplatform.colabEnterpriseUser
) - Admin Formulir Data (
roles/dataform.admin
)
Untuk membatasi data yang dapat dibaca atau ditulis oleh pengguna atau akun layanan, Anda dapat memberikan izin IAM BigQuery yang terperinci ke set data atau tabel BigQuery yang dipilih. Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses ke set data dan Mengontrol akses ke tabel dan tampilan.
Untuk mengetahui informasi selengkapnya tentang akun layanan Dataform default serta peran dan izin yang diperlukan, lihat Memberikan akses yang diperlukan Formulir Data.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API BigQuery and Dataform.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API BigQuery and Dataform.
Melihat peran Dataform
Dalam konsol Google Cloud, lakukan langkah-langkah berikut:
Buka halaman IAM & Admin > Roles.
Di kolom Filter, pilih Used in, ketik
Dataform
, lalu tekan Enter.Klik salah satu peran yang tercantum untuk melihat izin peran di panel kanan.
Misalnya, peran Dataform Admin memiliki akses penuh ke semua resource Dataform.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran pada project, lihat Memberikan peran. Anda dapat memberikan peran bawaan atau khusus dengan cara ini.
Mengontrol akses ke repositori individual
Untuk mengontrol akses ke Dataform dengan izin terperinci, Anda dapat menetapkan peran IAM Dataform di setiap repositori menggunakan permintaan Dataform API repositories.setIamPolicy
.
Untuk menetapkan peran IAM Dataform pada setiap repositori Formulir data, ikuti langkah-langkah berikut:
Di terminal, teruskan permintaan Dataform API
repositories.setIamPolicy
dengan kebijakan akses.Dalam kebijakan, ikat pengguna, grup, domain, atau akun layanan ke peran yang dipilih dalam format berikut:
{ "policy": { "bindings": [ { "role": "roles/ROLE", "members": [ "TYPE:IDENTIFIER", ] }, ], } }
Ganti kode berikut:
ROLE
: peran IAM Dataform yang ingin Anda berikan di repositoriTYPE
:user
,group
,domain
, atauserviceAccount
IDENTIFIER
: pengguna, grup, domain, atau akun layanan yang ingin diberi peran
Di halaman IAM, pastikan semua pengguna dapat melihat daftar lengkap repositori Dataform melalui peran Dataform dengan izin
dataform.repositories.list
.Di IAM, pastikan hanya pengguna yang memerlukan akses penuh ke semua repositori Dataform yang diberi peran Dataform Admin di semua repositori.
Perintah berikut meneruskan permintaan Dataform API repositories.setIamPolicy
yang memberikan peran Dataform Editor pada repositori sales
kepada satu pengguna:
curl -H "Content-Type: application/json" -X POST -d '{ "policy": { "bindings": [{ "role": "roles/dataform.editor", "members": ["user:sasha@examplepetstore.com"]}] }}' "https://dataform.googleapis.com/v1beta1/projects/examplepetstore/locations/us-central1/repositories/sales:setIamPolicy"
Memberikan akses publik ke repositori
Anda dapat memberikan akses publik ke repositori Dataform dengan memberikan peran IAM pada repositori ke akun utama allAuthenticatedUsers
.
Saat Anda menetapkan peran IAM ke akun utama allAuthenticatedUsers
, akun layanan, serta semua pengguna di internet yang telah melakukan autentikasi dengan Akun Google akan diberi peran tersebut. Hal ini mencakup akun yang tidak
terhubung ke akun Google Workspace atau domain Cloud Identity,
seperti akun Gmail pribadi. Pengguna yang tidak diautentikasi,
seperti pengunjung anonim, tidak disertakan. Untuk mendapatkan informasi lebih lanjut, lihat Semua pengguna yang terautentikasi.
Misalnya, saat Anda memberikan peran Dataform Viewer ke allAuthenticatedUsers
di repositori sales
, semua akun layanan dan pengguna di internet yang telah melakukan autentikasi dengan Akun Google memiliki akses hanya baca ke semua resource kode sales
.
Untuk memberikan akses publik ke repositori Dataform, ikuti langkah-langkah berikut:
Di terminal, teruskan permintaan Dataform API
repositories.setIamPolicy
dengan kebijakan akses.Dalam kebijakan ini, ikat akun utama
allAuthenticatedUsers
ke peran yang dipilih dalam format berikut:{ "policy": { "bindings": [ { "role": "roles/ROLE", "members": [ "allAuthenticatedUsers", ] }, ], } }
Ganti kode berikut:
ROLE
: peran IAM Dataform yang ingin Anda berikan kepada semua pengguna yang diautentikasi.
Perintah berikut meneruskan permintaan Dataform API repositories.setIamPolicy
yang memberikan peran Dataform Viewer pada repositori sales
ke allAuthenticatedUsers
:
curl -H "Content-Type: application/json" -X POST -d '{ "policy": { "bindings": [{ "role": "roles/dataform.viewer", "members": ["allAuthenticatedUsers"]}] }}' "https://dataform.googleapis.com/v1beta1/projects/examplepetstore/locations/us-central1/repositories/sales:setIamPolicy"
Mencegah akses publik ke repositori
Untuk memastikan tidak ada akses yang diberikan ke publik di repositori Dataform mana pun, Anda dapat membatasi akun utama allAuthenticatedUsers
di project Anda.
Untuk membatasi allAuthenticatedUsers
di project, Anda dapat
menetapkan kebijakan iam.allowedPolicyMemberDomains
,
dan menghapus allAuthenticatedUsers
dari daftar allowed_values
.
Ketika Anda membatasi allAuthenticatedUsers
dalam kebijakan iam.allowedPolicyMemberDomains
, akun utama allAuthenticatedUsers
tidak dapat digunakan dalam kebijakan IAM apa pun di project Anda, sehingga mencegah pemberian akses publik ke semua resource, termasuk repositori Dataform.
Untuk informasi selengkapnya tentang kebijakan iam.allowedPolicyMemberDomains
dan petunjuk untuk menetapkannya, lihat Membatasi identitas menurut domain.
Federasi identitas tenaga kerja di Dataform
Workforce identity federation memungkinkan Anda menggunakan penyedia identitas (IdP) eksternal untuk mengautentikasi dan mengizinkan pengguna ke layanan Google Cloud dengan IAM.
Dataform mendukung penggabungan identitas tenaga kerja tanpa batasan umum.
Langkah selanjutnya
- Untuk mempelajari IAM lebih lanjut, baca artikel Ringkasan IAM.
- Untuk mempelajari peran dan izin lebih lanjut, baca artikel Memahami peran.
- Untuk mempelajari lebih lanjut cara mengelola akses ke resource, lihat Mengelola akses ke project, folder, dan organisasi.
- Untuk mempelajari cara memberikan peran BigQuery ke tabel di Dataform, lihat Mengontrol akses ke masing-masing tabel dengan IAM.
- Untuk mempelajari konsep utama penggabungan identitas tenaga kerja, lihat Penggabungan identitas tenaga kerja.