Peran Dataform yang telah ditetapkan
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 kustom yang menyertakan izin untuk melakukan operasi administratif tertentu, seperti membuat ruang kerja pengembangan atau membuat file dan direktori dalam ruang kerja pengembangan. Untuk membuat peran khusus, lihat Membuat dan mengelola peran khusus.
Pertimbangan keamanan untuk izin Dataform
Setiap pengguna yang memiliki izin dataform.repositories.create
dapat menjalankan 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
) - Editor Kode (
roles/dataform.codeEditor
) - Pemilik Kode (
roles/dataform.codeOwner
) - Pengguna Colab Enterprise (
roles/aiplatform.colabEnterpriseUser
) - Dataform Admin (
roles/dataform.admin
)
Untuk membatasi data yang dapat dibaca atau ditulis oleh pengguna atau akun layanan di BigQuery, Anda dapat memberikan izin IAM BigQuery 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 tabel virtual.
Untuk mengetahui informasi selengkapnya tentang akun layanan Dataform default dan peran serta izin yang diperlukan, lihat Memberikan akses yang diperlukan Dataform.
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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
Melihat peran Dataform
Di konsol Google Cloud, lakukan langkah-langkah berikut:
Buka halaman IAM & Admin > Peran.
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 standar atau khusus dengan cara ini.
Mengontrol akses ke setiap repositori
Untuk mengontrol akses ke Dataform dengan izin terperinci,
Anda dapat menetapkan peran IAM Dataform di setiap
repositori menggunakan permintaan repositories.setIamPolicy
Dataform API.
Untuk menetapkan peran IAM Dataform di setiap repositori Dataform, ikuti langkah-langkah berikut:
Di terminal, teruskan permintaan
repositories.setIamPolicy
Dataform API dengan kebijakan akses.Dalam kebijakan, tautkan 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 Anda beri 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 di repositori sales
ke 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 di repositori kepada akun utama
allAuthenticatedUsers
.
Saat Anda menetapkan peran IAM ke akun utama allAuthenticatedUsers
, akun layanan dan semua pengguna di internet yang telah diautentikasi 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 akan disertakan. Untuk mengetahui informasi selengkapnya, lihat
Semua pengguna yang diautentikasi.
Misalnya, saat Anda memberikan peran Pelihat Dataform ke allAuthenticatedUsers
di repositori sales
, semua akun layanan dan pengguna di internet yang telah diautentikasi dengan Akun Google akan memiliki akses hanya baca ke semua resource kode sales
.
Untuk memberikan akses publik ke repositori Dataform, ikuti langkah-langkah berikut:
Di terminal, teruskan permintaan
repositories.setIamPolicy
Dataform API dengan kebijakan akses.Dalam kebijakan, 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 kepada publik di repositori Dataform, Anda dapat membatasi akun utama allAuthenticatedUsers
di project.
Untuk membatasi allAuthenticatedUsers
dalam project, Anda dapat
menetapkan kebijakan iam.allowedPolicyMemberDomains
,
dan menghapus allAuthenticatedUsers
dari daftar allowed_values
.
Saat Anda membatasi allAuthenticatedUsers
dalam kebijakan iam.allowedPolicyMemberDomains
, akun utama allAuthenticatedUsers
tidak dapat digunakan dalam kebijakan IAM apa pun dalam project Anda, yang mencegah pemberian akses publik ke semua resource, termasuk repositori Dataform.
Untuk informasi selengkapnya tentang kebijakan iam.allowedPolicyMemberDomains
dan juga petunjuk untuk menetapkannya, lihat
Membatasi identitas berdasarkan domain.
Workforce identity federation di Dataform
Workforce identity federation memungkinkan Anda menggunakan penyedia identitas (IdP) eksternal untuk melakukan autentikasi dan memberi otorisasi kepada pengguna ke layanan Google Cloud dengan IAM.
Dataform mendukung workforce identity federation tanpa batasan yang diketahui.
Langkah selanjutnya
- Untuk mempelajari IAM lebih lanjut, lihat ringkasan IAM.
- Untuk mempelajari peran dan izin lebih lanjut, lihat 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 setiap tabel dengan IAM.
- Untuk mempelajari konsep utama workforce identity federation lebih lanjut, lihat Workforce identity federation.