Sebelum memulai
Sebelum Anda menyetel atau mengedit kebijakan dataform.restrictGitRemotes
, temukan URL lengkap
repositori Git jarak jauh yang ingin Anda masukkan ke daftar yang diizinkan.
Untuk menemukan URL lengkap repositori Git jarak jauh yang sudah terhubung ke repositori Dataform, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Dataform.
Pilih repositori, lalu klik Setelan.
Perlu diingat bahwa URL repositori jarak jauh yang ditampilkan di halaman Dataform dipersingkat dan tidak dapat digunakan dalam kebijakan
dataform.restrictGitRemotes
.Di halaman Setelan, di bagian Setelan koneksi Git, salin nilai Sumber repositori.
Nilai Sumber repositori adalah URL lengkap repositori jarak jauh. Anda dapat menggunakan URL ini dalam kebijakan
dataform.restrictGitRemotes
.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengelola kebijakan organisasi, minta administrator untuk memberi Anda peran IAM Administrator kebijakan organisasi (roles/orgpolicy.policyAdmin
) di organisasi.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk mengelola kebijakan organisasi. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola kebijakan organisasi:
-
orgpolicy.constraints.list
-
orgpolicy.policies.create
-
orgpolicy.policies.delete
-
orgpolicy.policies.list
-
orgpolicy.policies.update
-
orgpolicy.policy.get
-
orgpolicy.policy.set
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Tentang membatasi repositori Git jarak jauh
Anda dapat menghubungkan repositori Dataform ke repositori GitHub atau GitLab.
Anda mungkin ingin membatasi kumpulan repositori jarak jauh yang dapat dihubungkan oleh repositori Dataform untuk mencegah aktor berbahaya mengakses codebase Dataform dan token akses Anda melalui salinan repositori yang tidak dilindungi.
Anda dapat menggunakan Layanan Kebijakan Organisasi untuk membuat kebijakan organisasi yang membatasi URL repositori Git yang dapat dihubungkan oleh Dataform.
Batasan untuk membatasi repositori Git jarak jauh di Dataform adalah:
constraints/dataform.restrictGitRemotes
Untuk menggunakan batasan ini, Anda membuat kebijakan organisasi dengan daftar allowedValues
URL
repositori Git jarak jauh yang dapat terhubung ke repositori Dataform.
Repositori Git jarak jauh diidentifikasi berdasarkan alamat URL lengkapnya.
Kebijakandataform.restrictGitRemotes
memiliki efek retroaktif, yang berarti batasan ini memengaruhi repositori Dataform yang sudah ada.
Jika kebijakan organisasi diterapkan, repositori Dataform hanya dapat terhubung ke repositori Git jarak jauh yang tercantum dalam daftar allowedValues
. Repositori Git jarak jauh yang tidak ditentukan secara eksplisit
dalam kebijakan organisasi dilarang
terhubung ke repositori Dataform.
Jika Anda tidak menetapkan kebijakan dataform.restrictGitRemotes
, komunikasi antara repositori Dataform dan repositori Git jarak jauh tidak dibatasi.
Anda dapat menggunakan kebijakan dataform.restrictGitRemotes
dengan cara berikut:
Allow all
- Repositori Dataform diizinkan untuk terhubung ke semua URL repositori jarak jauh. Pilih opsi ini jika organisasi Anda tidak ingin memblokir komunikasi apa pun dengan repositori jarak jauh. Atau, untuk mengizinkan semua URL repositori jarak jauh, Anda dapat membiarkan kebijakan organisasi tidak disetel.
allowedValues
daftar URL- Repositori Dataform hanya diizinkan untuk terhubung ke repositori jarak jauh yang ada dalam daftar yang diizinkan. Pilih opsi ini untuk mencegah pemindahan data yang tidak sah.
Deny all
- Repositori Dataform tidak diizinkan untuk terhubung ke URL jarak jauh mana pun. Pilih opsi ini jika organisasi Anda ingin memblokir semua komunikasi dan menggunakan repositori Dataform.
Spesifikasi untuk memasukkan repositori Git jarak jauh ke dalam daftar yang diizinkan
Anda hanya dapat menerapkan batasan daftar ini ke repositori GitHub dan GitLab.
Kebijakan organisasi diterapkan secara surut dan memengaruhi repositori Dataform yang ada.
Batasan ini menerima
allowedValues
, yang memblokir koneksi ke semua repositori Git jarak jauh lainnya, atauDeny all
. Defaultnya adalahAllow all
- kebijakan organisasi yang tidak disetel memungkinkan komunikasi dengan semua repositori Git jarak jauh. Sebaiknya tetapkan kebijakan organisasi keallowedValues
.Pengelolaan dan pemeliharaan kebijakan bergantung pada Anda atau administrator yang memiliki izin yang diperlukan. Pastikan komunikasi tentang administrator kebijakan dalam organisasi Anda.
Menetapkan batasan kebijakan organisasi di tingkat organisasi
Konsol
- Buka halaman /Organizational Policies/Organization Policies.
- Jika perlu, pilih organisasi yang diperlukan dari menu drop-down project.
- Klik Batasi remote git untuk repositori di Dataform.
- Klik Manage Policy. Jika tidak dapat mengklik tombol Kelola kebijakan, berarti Anda tidak memiliki izin yang tepat.
Pilih Sesuaikan untuk menetapkan kebijakan organisasi untuk repositori Git jarak jauh tertentu.
Pilih Penegakan kebijakan dan Jenis kebijakan yang diperlukan.
Untuk Nilai kebijakan, pilih Kustom.
Masukkan URL lengkap repositori Git jarak jauh.
Klik New policy value dan masukkan URL lengkap repositori Git jarak jauh sesuai kebutuhan.
Klik Simpan untuk menerapkan batasan.
gcloud
Untuk menetapkan batasan bagi repositori Git jarak jauh, Anda memerlukan ID organisasi
terlebih dahulu. Anda dapat menemukan ID organisasi dengan menjalankan
perintah organizations list
dan
mencari ID numerik dalam respons:
gcloud organizations list
Gcloud CLI menampilkan daftar organisasi dalam format berikut:
DISPLAY_NAME ID example-organization1 29252605212 example-organization2 1234567890
Gunakan
perintah gcloud resource-manager org-policies set-policy
untuk menetapkan kebijakan organisasi. Anda harus menyediakan kebijakan Anda sebagai file JSON atau YAML.
Buat file JSON dalam format berikut:
{ "name": "organizations/ORGANIZATION_ID/policies/dataform.restrictGitRemotes", "spec": { "rules": [ { "values": { "allowedValues": ["https://github.com/example/allowed-repository.git"] } } ] } }
Ganti ORGANIZATION_ID
dengan ID numerik
organisasi.
Jika tidak ingin repositori Dataform dapat terhubung ke repositori Git jarak jauh mana pun, Anda dapat menetapkan kebijakan organisasi dengan denyAll
ditetapkan ke true
:
{ "name": "organizations/ORGANIZATION_ID/policies/dataform.restrictGitRemotes", "spec": { "rules": [ { "denyAll": true } ] } }
Ganti ORGANIZATION_ID
dengan ID numerik
organisasi.
API
Gunakan
setOrgPolicy()
API
untuk menentukan batasan Anda. Dataform diizinkan untuk terhubung ke URL repositori Git jarak jauh dalam daftar allowedValue
yang Anda tentukan.
Misalnya, berikut adalah permintaan untuk menerapkan batasan dataform.restrictGitRemotes
ke organisasi tempat repositori Dataform repositori Git jarak jauh yang dipilih dapat terhubung:
POST https://orgpolicy.googleapis.com/v2/organizations/ORGANIZATION_ID/policies
dengan ORGANIZATION_ID
adalah ID numerik
organisasi.
Sekarang, di isi permintaan, berikan kebijakan organisasi yang diinginkan untuk batasan ini:
{ "name": "organizations/ORGANIZATION_ID/policies/dataform.restrictGitRemotes", "spec": { "rules": [ { "values": { "allowedValues": ["https://github.com/example/allowed-repository.git"] } } ] } }
Replace <code><var>ORGANIZATION_ID</var></code> with the numeric ID
of the organization.
Jika tidak ingin repositori Dataform dapat terhubung ke repositori Git jarak jauh mana pun, Anda dapat menetapkan kebijakan organisasi dengan denyAll
ditetapkan ke true
:
{ "name": "organizations/ORGANIZATION_ID/policies/dataform.restrictGitRemotes", "spec": { "rules": [ { "denyAll": true } ] } }
Replace <code><var>ORGANIZATION_ID</var></code> with the numeric ID
of the organization.
Jika kebijakan organisasi sudah ditetapkan, Anda harus menjalankan permintaan berikut dengan definisi kebijakan organisasi sebagai isi permintaan:
PATCH https://orgpolicy.googleapis.com/v2/organizations/ORGANIZATION_ID/policies/dataform.restrictGitRemotes
Menetapkan kebijakan organisasi di level project
Menetapkan kebijakan organisasi di tingkat project akan menggantikan atau digabungkan dengan kebijakan organisasi di tingkat organisasi. Jika terjadi penggabungan, denyAll
akan lebih diprioritaskan daripada
allowedValues
. Misalnya, jika kebijakan organisasi di tingkat organisasi ditetapkan ke denyAll
, dan kebijakan gabungan di tingkat project mencantumkan URL repositori jarak jauh dalam daftar allowedValues
, Dataform tidak diizinkan untuk terhubung ke repositori jarak jauh. Dalam kasus tersebut, kebijakan organisasi di tingkat project harus menggantikan kebijakan di tingkat organisasi, sehingga Dataform dapat terhubung ke repositori jarak jauh. Untuk mempelajari lebih lanjut hierarki Kebijakan Organisasi, lihat Memahami evaluasi hierarki.
Konsol
Ikuti proses yang sama seperti yang didokumentasikan di bagian Menetapkan batasan kebijakan organisasi di tingkat organisasi, tetapi pilih project yang diinginkan dari pemilih project, bukan organisasi.
gcloud
Gunakan
perintah gcloud resource-manager org-policies set-policy
untuk menetapkan kebijakan organisasi. Anda harus menyediakan kebijakan Anda sebagai file JSON atau YAML.
Buat file JSON dalam format berikut:
{ "name": "projects/PROJECT_ID_OR_NUMBER/policies/dataform.restrictGitRemotes", "spec": { "rules": [ { "values": { "allowedValues": ["https://github.com/example/allowed-repository.git"] } } ] } }
Ganti PROJECT_ID_OR_NUMBER
dengan project ID atau
nomor project untuk kebijakan organisasi ini.
Kemudian, teruskan file dengan permintaan Anda:
gcloud resource-manager org-policies set-policy MY_POLICY.JSON --project=PROJECT_ID
API
Gunakan
setOrgPolicy()
API
untuk menentukan batasan Anda. Dataform diizinkan untuk terhubung ke URL repositori Git jarak jauh dalam daftar allowedValue
yang Anda tentukan.
Misalnya, berikut adalah permintaan untuk menerapkan batasan
dataform.restrictGitRemotes
ke organisasi tempat repositori Dataform hanya dapat terhubung ke repositori Git jarak jauh yang dipilih, dan kebijakan constraints/dataform.restrictGitRemotes
belum ditetapkan:
POST https://orgpolicy.googleapis.com/v2/projects/PROJECT_ID_OR_NUMBER/policies
Isi permintaan berisi kebijakan organisasi yang diinginkan untuk batasan ini:
{ "name": "projects/PROJECT_ID_OR_NUMBER/policies/dataform.restrictGitRemotes", "spec": { "rules": [ { "values": { "allowedValues": ["https://github.com/example/allowed-repository.git"] } } ] } }
Ganti PROJECT_ID_OR_NUMBER
dengan project ID atau nomor project untuk permintaan ini.
Berikut adalah permintaan untuk menerapkan batasan dataform.restrictGitRemotes
ke organisasi tempat repositori Dataform hanya dapat terhubung ke repositori Git jarak jauh yang dipilih, dan kebijakan constraints/dataform.restrictGitRemotes
sudah ditetapkan:
PATCH https://orgpolicy.googleapis.com/v2/projects/PROJECT_ID_OR_NUMBER/policies/dataform.restrictGitRemotes
Isi permintaan berisi kebijakan organisasi yang diinginkan untuk batasan ini:
{ "name": "projects/PROJECT_ID_OR_NUMBER/policies/dataform.restrictGitRemotes", "spec": { "rules": [ { "values": { "allowedValues": ["https://github.com/example/allowed-repository.git"] } } ] } }
Ganti PROJECT_ID_OR_NUMBER
dengan project ID atau nomor project untuk permintaan ini.
Praktik terbaik untuk memasukkan remote Git ke daftar yang diizinkan
Untuk mengurangi risiko eksfiltrasi data, tetapkan batasan
dataform.restrictGitRemotes
secara eksplisit untuk memasukkan pilihan repositori Git jarak jauh yang tepercaya ke daftar yang diizinkan.Jika Anda hanya menggunakan repositori Dataform yang tidak terhubung ke repositori Git jarak jauh, tetapkan batasan
dataform.restrictGitRemotes
keDeny All
.Hindari penggunaan daftar
deniedValues
dengan batasan ini. Jika Anda menentukan nilai dalam daftardeniedValues
, berarti hanya repositori Git jarak jauh dalam daftardeniedValues
yang dibatasi agar tidak terhubung. Hal ini bisa menjadi masalah keamanan jika Anda ingin mengontrol secara pasti repositori Git jarak jauh mana yang dapat dihubungkan oleh Dataform. Jika Anda ingin menghapus repositori Git jarak jauh tertentu dari daftarallowedValues
, perbarui kebijakan organisasi yang ada untuk menghapusnya dari daftarallowedValues
, bukan memasukkan repositori jarak jauh ke dalam daftardeniedValues
pada hierarki yang lebih rendah.Jika Anda ingin menetapkan kebijakan organisasi pada sebagian besar hierarki resource tetapi mengecualikan project tertentu, pulihkan kebijakan organisasi default menggunakan metode
setOrgPolicy
dengan menentukan objekrestoreDefault
untuk mengizinkan semua repositori Dataform di project terhubung ke repositori Git jarak jauh. Kebijakan yang saat ini diterapkan untuk project tidak terpengaruh oleh setelan default.Gunakan Kebijakan Organisasi bersama dengan peran IAM untuk mengontrol akses ke codebase Dataform Anda dengan lebih baik.
Semua repositori Dataform dalam organisasi atau project yang mengaktifkan kebijakan organisasi tunduk pada kebijakan ini. Jika ini menjadi masalah, sebaiknya Anda menyiapkan layanan dan produk lain di project lain yang tidak menerapkan kebijakan organisasi, dan menggunakan VPC Bersama, jika diperlukan.
Sebelum menetapkan kebijakan
dataform.restrictGitRemotes
, pastikan komunikasi tentang kebijakan organisasi dan administratornya di dalam organisasi Anda. Pengelolaan dan pemeliharaan kebijakan bergantung pada Anda atau administrator yang memiliki izin yang diperlukan.
Langkah berikutnya
- Untuk mempelajari Kebijakan Organisasi lebih lanjut, lihat Pengantar Layanan Kebijakan Organisasi.
- Untuk mempelajari lebih lanjut batasan Kebijakan Organisasi, lihat Batasan Kebijakan Organisasi.
- Untuk mempelajari cara mengelola Google Cloud resource dengan Resource Manager, lihat Mengelola Google Cloud resource.