Ringkasan
Panduan ini menjelaskan cara menyetel kebijakan organisasi yang mencakup batasan lokasi resource.
Anda dapat membatasi lokasi fisik resource baru dengan batasan lokasi resource Layanan Kebijakan Organisasi. Anda dapat menggunakan properti lokasi resource untuk mengidentifikasi lokasi resource di-deploy dan dikelola oleh layanan. Untuk resource yang berisi data dari beberapa layanan, properti ini juga mencerminkan lokasi tempat data disimpan. Google Cloud Batasan ini memungkinkan Anda menentukan lokasi Google Cloud yang diizinkan tempat resource untuk layanan yang didukung dalam hierarki Anda dapat dibuat.
Setelah Anda menentukan lokasi resource, batasan ini hanya akan berlaku untuk resource yang baru dibuat. Resource yang Anda buat sebelum menetapkan batasan lokasi resource akan terus ada dan menjalankan fungsinya.
Kebijakan yang mencakup batasan ini tidak akan diterapkan pada pembuatan sub-resource untuk layanan tertentu, seperti Cloud Storage dan Dataproc.
Batasan
Batasan Layanan Kebijakan Organisasi lokasi resource mengontrol kemampuan untuk membuat resource yang lokasinya dapat dipilih. Batasan ini tidak memengaruhi tempat resource global, seperti alamat global Compute Engine, atau resource yang tidak mendukung pemilihan lokasi dibuat.
Agar tidak merusak infrastruktur penayangan yang ada, Anda harus menguji kebijakan baru di project dan folder non-produksi, lalu menerapkan kebijakan secara bertahap dalam organisasi Anda.
Untuk mengetahui komitmen penyimpanan data, lihat Google Cloud Persyaratan Layanan dan Persyaratan Khusus Layanan. Kebijakan organisasi yang berisi batasan lokasi resource bukanlah komitmen penyimpanan data.
Batasan ini berlaku untuk subset produk dan jenis resource tertentu. Untuk daftar layanan yang didukung dan detail tentang perilaku setiap layanan, lihat halaman Layanan yang Didukung Lokasi Resource.
Jenis lokasi
Anda dapat men-deploy resource Google Cloud dalam jenis
lokasi yang merepresentasikan berbagai kategori ukuran.
Jenis lokasi terbesar adalah multi-region
, yang mencakup lebih dari satu
region
. Setiap region
dibagi lagi menjadi zones
. Untuk mengetahui informasi selengkapnya tentang region dan zona, lihat Ringkasan Region dan Zona.
Lokasi
Multi-region
didukung oleh resource fisik di lebih dari saturegion
dan biasanya hanya digunakan oleh resource berbasis penyimpanan. Beberapa contohnya meliputius
,asia
,europe
, danglobal
.Lokasi
Region
terisolasi secara geografis satu sama lain. Beberapa contohnya antara lainus-west1
(Oregon),asia-northeast1
(Tokyo), daneurope-west1
(Belgia).Lokasi
Zone
adalah jenis lokasi paling terperinci dan terisolasi yang digunakan untuk men-deploy resource.zone
adalah domain kegagalan independen dalamregion
. Beberapa contohnya adalahus-east1-b
,us-west1-b
, danasia-northeast1-a
.
Saat menyiapkan lokasi, Anda harus menggunakan awalan in:
dan
Grup Nilai. Dengan menggunakan Grup Nilai yang dipilih oleh Google Cloud
Anda dapat memilih lokasi geografis, tanpa harus menentukan lokasi Cloud saat ini atau
di masa mendatang.
Awalan in:
pada Grup Nilai menentukan bahwa semua nilai yang ada dalam grup nilai dianggap sebagai bagian dari kebijakan. Jika Anda memasukkan nilai grup atau wilayah Google Cloud tanpa awalan, awalan in:
akan otomatis ditambahkan, sesuai dengan aturan berikut:
- Jika Anda memasukkan lokasi yang menggunakan awalan
in:
, dan berisi grup yang tidak valid, perubahan kebijakan akan gagal. - Jika Anda memasukkan lokasi yang merupakan region, seperti
us-east1
, awalanin:
akan ditambahkan, menjadiin:us-east1-locations
dalam contoh ini. - Jika Anda memasukkan grup nilai region atau multi-region seperti
us-locations
, grup tersebut akan memiliki awalanin:
, menjadiin:us-locations
dalam contoh ini. - Jika Anda memasukkan zona atau multi-region seperti
us-east1-b
atauus
, nilai tidak akan diubah.
Menetapkan kebijakan organisasi
Batasan lokasi resource adalah jenis batasan terkelola lama dengan
aturan daftar.
Anda dapat menambahkan dan menghapus lokasi dari daftar allowed_values
atau denied_values
batasan lokasi resource. Untuk mencegah kebijakan organisasi
membatasi perilaku layanan secara tidak terduga saat lokasi baru ditambahkan ke
daftar yang tersedia, gunakan grup nilai, atau daftar
allowed_values
yang merepresentasikan seluruh batas geografis yang ingin Anda
tentukan.
Untuk menetapkan kebijakan organisasi yang menyertakan batasan lokasi resource:
Konsol
Di konsol Google Cloud , buka halaman Kebijakan organisasi.
Dari pemilih project, pilih organisasi, folder, atau project yang ingin Anda tetapkan kebijakan organisasinya.
Pilih batasan Google Cloud Platform - Pembatasan Lokasi Resource untuk membuka halaman Detail kebijakan.
Klik Manage Policy.
Di halaman Edit kebijakan, pilih Ganti kebijakan induk.
Di bagian Policy enforcement, pilih Replace.
Klik Tambahkan Aturan.
Di bagian Policy values, pilih Custom.
Di bagian Jenis kebijakan, pilih Izinkan untuk membuat daftar lokasi yang diizinkan, atau pilih Tolak untuk membuat daftar lokasi yang ditolak.
Di kotak Nilai kebijakan, masukkan awalan
in
dan string lokasi grup nilai, lalu tekan Enter.Misalnya
in:us-locations
atauin:us-west1-locations
. Anda dapat memasukkan beberapa string lokasi dengan mengklik Nilai kebijakan baru.Anda juga dapat memasukkan lokasi zona, region, atau multi-region tertentu sebagai string lokasi. Untuk mengetahui daftar lokasi yang tersedia, lihat halaman Layanan yang Didukung Lokasi Resource.
Untuk menerapkan kebijakan, klik Setel kebijakan.
gcloud
Untuk membuat kebijakan organisasi yang menerapkan batasan lokasi resource, buat file YAML kebijakan yang merujuk batasan tersebut:
name: organizations/ORGANIZATION_ID/policies/gcp.resourceLocations
spec:
rules:
- values:
deniedValues:
- in:us-east1-locations
- in:northamerica-northeast1-locations
Untuk menerapkan kebijakan organisasi yang berisi batasan, jalankan perintah berikut:
gcloud org-policies set-policy POLICY_PATH
Ganti kode berikut:
ORGANIZATION_ID
: ID organisasi Anda, seperti 01234567890.POLICY_PATH
: jalur lengkap ke file YAML yang berisi kebijakan organisasi.
Respons akan ditampilkan dengan hasil kebijakan organisasi baru:
name: organizations/01234567890/policies/gcp.resourceLocations
spec:
rules:
- values:
deniedValues:
- in:us-east1-locations
- in:northamerica-northeast1-locations
Anda juga dapat memasukkan lokasi zona, region, atau multi-region tertentu sebagai string lokasi. Untuk mengetahui daftar lokasi yang tersedia, lihat halaman Layanan yang Didukung Lokasi Resource.
API
Anda dapat menggunakan Resource Manager API untuk menetapkan kebijakan organisasi pada resource. Anda akan memerlukan token pembawa OAuth 2.0 untuk autentikasi dan otorisasi.
Untuk menetapkan kebijakan organisasi menggunakan batasan lokasi resource:
curl -X POST -H "Content-Type: application/json" -H "Authorization: \
Bearer ${bearer_token}" -d '{policy: {etag: "BwVtXec438Y=", constraint: \
"constraints/gcp.resourceLocations", list_policy: {denied_values: \
["in:europe-locations", "in:southamerica-locations"] }}}' \
https://cloudresourcemanager.googleapis.com/v1/organizations/123456789:setOrgPolicy
Respons akan ditampilkan dengan hasil kebijakan organisasi baru:
name: organizations/01234567890/policies/gcp.resourceLocations
spec:
rules:
- values:
deniedValues:
- in:europe-locations
- in:southamerica-locations
Anda juga dapat memasukkan lokasi zona, region, atau multi-region tertentu sebagai string lokasi. Untuk mengetahui daftar lokasi yang tersedia, lihat halaman Layanan yang Didukung Lokasi Resource.
Untuk mempelajari cara menggunakan batasan dalam kebijakan organisasi, lihat Menggunakan Batasan.
Menggunakan pewarisan dalam kebijakan organisasi
Anda dapat menyempurnakan kebijakan organisasi untuk mewarisi kebijakan organisasi dari node induk resource. Pewarisan memberi Anda kontrol terperinci atas kebijakan organisasi yang digunakan di seluruh hierarki resource Anda.
Untuk mengaktifkan pewarisan pada node resource, tetapkan inheritFromParent = true
dalam
file YAML kebijakan organisasi. Contoh:
name: organizations/01234567890/policies/gcp.resourceLocations
spec:
inheritFromParent: true
rules:
- values:
deniedValues:
- in:us-west1
Contoh pesan error
Layanan yang mendukung batasan lokasi resource dicegah untuk membuat resource baru di lokasi yang akan melanggar batasan. Jika layanan mencoba membuat resource di lokasi yang melanggar batasan, upaya tersebut akan gagal dan pesan error akan ditampilkan.
Pesan error ini akan memiliki format berikut:
LOCATION_IN_REQUEST violates constraint
constraints/gcp.resourceLocations on the resource RESOURCE_TESTED.
Dalam contoh berikut, resource Compute Engine gagal membuat instance baru karena penerapan kebijakan:
Location ZONE:us-east1-b violates constraint constraints/gcp.resourceLocations
on the resource
projects/policy-violation-test/zones/us-east1-b/instances/instance-3.
Entri log Google Cloud Observability dan Cloud Audit Logs:
{
insertId: "5u759gdngec"
logName: "projects/policy-violation-test/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload: {
@type: "type.googleapis.com/google.cloud.audit.AuditLog"
authenticationInfo: {…}
authorizationInfo: [6]
methodName: "beta.compute.instances.insert"
request: {…}
requestMetadata: {…}
resourceLocation: {…}
resourceName: "projects/policy-violation-test/zones/us-east1-b/instances/instance-3"
response: {
@type: "type.googleapis.com/error"
error: {
code: 412
errors: [
0: {
domain: "global"
location: "If-Match"
locationType: "header"
message: "Location ZONE:us-east1-b violates constraint constraints/gcp.resourceLocations on the resource projects/policy-violation-test/zones/us-east1-b/instances/instance-3."
reason: "conditionNotMet"
}
]
message: "Location ZONE:us-east1-b violates constraint constraints/gcp.resourceLocations on the resource projects/policy-violation-test/zones/us-east1-b/instances/instance-3."
}
}
serviceName: "compute.googleapis.com"
status: {
code: 3
message: "INVALID_ARGUMENT"
}
}
receiveTimestamp: "2019-06-14T03:04:23.660988360Z"
resource: {
labels: {…}
type: "gce_instance"
}
severity: "ERROR"
timestamp: "2019-06-14T03:04:22.783Z"
}
Temuan dan perbaikan kerentanan
Batasan lokasi resource membatasi pembuatan resource saat runtime. Fitur ini membantu mencegah terjadinya pelanggaran lokasi, tetapi tidak mengidentifikasi atau memperbaiki pelanggaran yang ada. Anda dapat menggunakan Security Health Analytics, layanan bawaan Security Command Center, untuk menemukan pelanggaran lokasi dalam hierarki resource Anda. Untuk mengetahui informasi selengkapnya, lihat Temuan kerentanan Kebijakan Organisasi.
Jika ada temuan pelanggaran lokasi Security Health Analytics, lihat Memperbaiki temuan Security Health Analytics untuk mengetahui langkah-langkah memperbaiki temuan tersebut.
Grup nilai
Grup nilai adalah kumpulan grup dan lokasi yang dipilih oleh Google untuk menyediakan cara yang mudah dalam menentukan lokasi resource Anda. Grup nilai mencakup banyak lokasi terkait dan diperluas dari waktu ke waktu oleh Google tanpa perlu mengubah kebijakan organisasi Anda untuk mengakomodasi lokasi baru.
Untuk menggunakan grup nilai dalam kebijakan organisasi Anda, beri awalan pada entri Anda dengan
string in:
. Untuk mengetahui informasi selengkapnya tentang penggunaan awalan nilai, lihat
Menggunakan Batasan.
Nama grup divalidasi saat panggilan untuk menetapkan kebijakan organisasi. Penggunaan nama grup yang tidak valid akan menyebabkan setelan kebijakan gagal.
Tabel berikut berisi daftar grup yang tersedia saat ini:
Grup | Detail | Anggota langsung |
---|---|---|
Johannesburg | Semua lokasi di Johannesburg:in:africa-south1-locations |
Nilai:
|
Asia | Semua lokasi di Asia:in:asia-locations |
Grup:
Nilai:
|
Hong Kong | Semua lokasi di Hong Kong:in:asia-east2-locations |
Nilai:
|
Indonesia | Semua lokasi di Indonesia:in:id-locations |
Grup:
Nilai:
|
Jakarta | Semua lokasi di Jakarta:in:asia-southeast2-locations |
Nilai:
|
Israel | Semua lokasi di Israel:in:il-locations |
Grup:
Nilai:
|
Israel | Semua lokasi di Israel:in:me-west1-locations |
Nilai:
|
India | Semua lokasi di India:in:in-locations |
Grup:
Nilai:
|
Mumbai | Semua lokasi di Mumbai:in:asia-south1-locations |
Nilai:
|
Delhi | Semua lokasi di Delhi:in:asia-south2-locations |
Nilai:
|
Jepang | Semua lokasi di Jepang:in:jp-locations |
Grup:
Nilai:
|
Tokyo | Semua lokasi di Tokyo:in:asia-northeast1-locations |
Nilai:
|
Osaka | Semua lokasi di Osaka:in:asia-northeast2-locations |
Nilai:
|
Korea Selatan | Semua lokasi di Korea Selatan:in:kr-locations |
Grup:
Nilai:
|
Seoul | Semua lokasi di Seoul:in:asia-northeast3-locations |
Nilai:
|
Doha | Semua lokasi di Doha:in:me-central1-locations |
Nilai:
|
Arab Saudi | Semua lokasi di Arab Saudi:in:sa-locations |
Grup:
Nilai:
|
Dammam | Semua lokasi di Dammam:in:me-central2-locations |
Nilai:
|
Singapura | Semua lokasi di Singapura:in:sg-locations |
Grup:
Nilai:
|
Singapura | Semua lokasi di Singapura:in:asia-southeast1-locations |
Nilai:
|
Taiwan | Semua lokasi di Taiwan:in:tw-locations |
Grup:
Nilai:
|
Taiwan | Semua lokasi di Taiwan:in:asia-east1-locations |
Nilai:
|
Australia | Semua lokasi di Australia:in:australia-locations |
Grup:
Nilai:
|
Sydney | Semua lokasi di Sydney:in:australia-southeast1-locations |
Nilai:
|
Melbourne | Semua lokasi di Melbourne:in:australia-southeast2-locations |
Nilai:
|
AWS | Semua lokasi AWS:in:aws-locations |
Nilai:
|
Azure | Semua lokasi Azure:in:azure-locations |
Nilai:
|
Uni Eropa | Semua lokasi di Uni Eropa:in:eu-locations |
Grup:
Nilai:
|
Jerman | Semua lokasi di Jerman:in:de-locations |
Grup:
Nilai:
|
Berlin | Semua lokasi di Berlin:in:europe-west10-locations |
Nilai:
|
Frankfurt | Semua lokasi di Frankfurt:in:europe-west3-locations |
Nilai:
|
Warsawa | Semua lokasi di Warsawa:in:europe-central2-locations |
Nilai:
|
Finlandia | Semua lokasi di Finlandia:in:europe-north1-locations |
Nilai:
|
Stockholm | Semua lokasi di Stockholm:in:europe-north2-locations |
Nilai:
|
Madrid | Semua lokasi di Madrid:in:europe-southwest1-locations |
Nilai:
|
Belgia | Semua lokasi di Belgia:in:europe-west1-locations |
Nilai:
|
Belanda | Semua lokasi di Belanda:in:europe-west4-locations |
Nilai:
|
Paris | Semua lokasi di Paris:in:europe-west9-locations |
Nilai:
|
Italia | Semua lokasi di Italia:in:it-locations |
Grup:
Nilai:
|
Turin | Semua lokasi di Turin:in:europe-west12-locations |
Nilai:
|
Milan | Semua lokasi di Milan:in:europe-west8-locations |
Nilai:
|
Eropa | Semua lokasi di Eropa:in:europe-locations |
Grup:
Nilai:
|
Swiss | Semua lokasi di Swiss:in:ch-locations |
Grup:
Nilai:
|
Zurich | Semua lokasi di Zurich:in:europe-west6-locations |
Nilai:
|
Inggris Raya | Semua lokasi di Inggris Raya:in:gb-locations |
Grup:
Nilai:
|
London | Semua lokasi di London:in:europe-west2-locations |
Nilai:
|
Lokasi rendah karbon | Semua lokasi dengan dampak karbon rendah:in:low-carbon-locations |
Grup:
|
Kanada rendah karbon | Semua lokasi di Kanada dengan dampak karbon rendah:in:canada-low-carbon-locations |
Grup:
|
Montréal | Semua lokasi di Montréal:in:northamerica-northeast1-locations |
Nilai:
|
Toronto | Semua lokasi di Toronto:in:northamerica-northeast2-locations |
Nilai:
|
Uni Eropa rendah karbon | Semua lokasi dalam Uni Eropa dengan dampak karbon rendah:in:eu-low-carbon-locations |
Grup:
|
Eropa rendah karbon | Semua lokasi di Eropa dengan dampak karbon rendah:in:europe-low-carbon-locations |
Grup:
|
Amerika Utara rendah karbon | Semua lokasi di Amerika Utara dengan dampak karbon rendah:in:northamerica-low-carbon-locations |
Grup:
|
Iowa | Semua lokasi di Iowa:in:us-central1-locations |
Nilai:
|
Oregon | Semua lokasi di Oregon:in:us-west1-locations |
Nilai:
|
Amerika Selatan rendah karbon | Semua lokasi di Amerika Selatan dengan dampak karbon rendah:in:southamerica-low-carbon-locations |
Grup:
|
Sao Paulo | Semua lokasi di São Paulo:in:southamerica-east1-locations |
Nilai:
|
Amerika Serikat rendah karbon | Semua lokasi di Amerika Serikat dengan dampak karbon rendah:in:us-low-carbon-locations |
Grup:
|
Amerika Utara | Semua lokasi di Amerika Utara:in:northamerica-locations |
Grup:
Nilai:
|
Kanada | Semua lokasi di Kanada.in:canada-locations |
Grup:
Nilai:
|
Meksiko | Semua lokasi di Meksiko:in:northamerica-south1-locations |
Nilai:
|
Amerika Serikat | Semua lokasi di Amerika Serikat:in:us-locations |
Grup:
Nilai:
|
Oklahoma | Semua lokasi di Oklahoma:in:us-central2-locations |
Nilai:
|
Carolina Selatan | Semua zona di South Carolina:in:us-east1-locations |
Nilai:
|
Northern Virginia | Semua lokasi di Northern Virginia:in:us-east4-locations |
Nilai:
|
Columbus | Semua lokasi di Columbus:in:us-east5-locations |
Nilai:
|
Dallas | Semua lokasi di Dallas:in:us-south1-locations |
Nilai:
|
Los Angeles | Semua lokasi di Los Angeles:in:us-west2-locations |
Nilai:
|
Salt Lake City | Semua lokasi di Salt Lake City:in:us-west3-locations |
Nilai:
|
Las Vegas | Semua lokasi di Las Vegas:in:us-west4-locations |
Nilai:
|
Amerika Selatan | Semua lokasi di Amerika Selatan:in:southamerica-locations |
Grup:
|
Brasil | Semua lokasi di Brasil:in:br-locations |
Grup:
Nilai:
|
Cile | Semua lokasi di Cile:in:cl-locations |
Grup:
Nilai:
|
Santiago | Semua lokasi di Santiago:in:southamerica-west1-locations |
Nilai:
|
Autentikasi
Organization Policy Service menggunakan OAuth 2.0 untuk autentikasi dan otorisasi API. Untuk mendapatkan token pembawa OAuth 2.0:
Di daftar cakupan Langkah 1, pilih Cloud Resource Manager API v2 > https://www.googleapis.com/auth/cloud-platform, lalu klik Otorisasi API.
Di halaman Login dengan Google yang muncul, pilih akun Anda dan login.
Untuk memberikan akses ke Google OAuth 2.0 Playground, klik Izinkan pada dialog yang muncul.
Pada Langkah 2, klik Exchange authorization code for tokens.
Di bagian bawah panel Request / Response di sebelah kanan, string token akses Anda ditampilkan:
{ "access_token": "ACCESS_TOKEN", "token_type": "Bearer", "expires_in": 3600 }
Dengan ACCESS_TOKEN adalah string token pembawa OAuth 2.0 yang dapat Anda gunakan untuk otorisasi API.