Ringkasan
Panduan ini menjelaskan cara menetapkan kebijakan organisasi yang menyertakan 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 tempat resource di-deploy dan dikelola oleh layanan. Untuk resource yang berisi data dari beberapa layanan Google Cloud, properti ini juga mencerminkan lokasi penyimpanan data. 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 menyertakan 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.
Untuk menghindari kerusakan 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 Persyaratan Layanan Google Cloud 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 mewakili 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 contoh meliputius
,asia
,europe
, danglobal
.Lokasi
Region
secara geografis terpisah satu sama lain. Beberapa contohnya meliputius-west1
(Oregon),asia-northeast1
(Tokyo), daneurope-west1
(Belgia).Lokasi
Zone
adalah jenis lokasi yang 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 diseleksi oleh Google Cloud, Anda dapat memilih lokasi geografis, tanpa harus menentukan lokasi Cloud saat ini atau mendatang.
Awalan in:
untuk Grup Nilai menentukan bahwa semua nilai yang ada dalam
grup nilai dianggap sebagai bagian dari kebijakan. Jika Anda memasukkan nilai grup atau region Google Cloud tanpa awalan, awalan in:
akan otomatis ditambahkan, sesuai dengan aturan berikut:
- Jika Anda memasukkan lokasi yang menggunakan awalan
in:
, dan lokasi tersebut berisi grup yang tidak valid, perubahan kebijakan akan gagal. - Jika Anda memasukkan lokasi yang merupakan region, seperti
us-east1
, lokasi tersebut akan memiliki awalanin:
di awal, menjadiin:us-east1-locations
dalam contoh ini. - Jika Anda memasukkan grup nilai region atau multi-region seperti
us-locations
, grup nilai tersebut akan diberi awalanin:
, menjadiin:us-locations
dalam contoh ini. - Jika Anda memasukkan zona atau multi-region seperti
us-east1-b
atauus
, nilainya tidak akan diubah.
Menetapkan kebijakan organisasi
Batasan lokasi resource adalah jenis
batasan 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 mewakili seluruh batas geografis yang ingin Anda
tentukan.
Untuk menetapkan kebijakan organisasi yang menyertakan batasan lokasi resource:
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Dari pemilih project, pilih organisasi, folder, atau project yang ingin Anda tetapkan kebijakan organisasinya.
Pilih batasan Google Cloud Platform - Resource Location Restriction untuk membuka halaman Policy details.
Klik Manage Policy.
Di halaman Edit policy, pilih Override parent's policy.
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 Policy value, masukkan awalan
in
dan string lokasi value group, 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 Set policy.
gcloud
Untuk membuat kebijakan organisasi yang menerapkan batasan lokasi resource, buat file YAML kebijakan yang mereferensikan 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:
allowedValues:
- in:us-east1-locations
- in:northamerica-northeast1-locations
Anda juga dapat memasukkan lokasi zona, region, atau multi-region tertentu sebagai string lokasi. Untuk 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 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 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 menyaring kebijakan organisasi untuk mewarisi kebijakan organisasi dari node induk resource. Pewarisan memberi Anda kontrol terperinci atas kebijakan organisasi yang digunakan di seluruh hierarki resource.
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 agar tidak 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 dihasilkan.
Pesan error ini akan memiliki format ini:
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 menyertakan 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 informasi selengkapnya tentang penggunaan awalan nilai, lihat
Menggunakan Batasan.
Nama grup divalidasi pada 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 dalam Johannesburg:in:africa-south1-locations |
Nilai:
|
Asia | Semua lokasi di Asia:in:asia-locations |
Grup:
Nilai:
|
Hong Kong | Semua lokasi dalam Hong Kong:in:asia-east2-locations |
Nilai:
|
Indonesia | Semua lokasi di Indonesia:in:id-locations |
Grup:
Nilai:
|
Jakarta | Semua lokasi dalam 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 dalam Mumbai:in:asia-south1-locations |
Nilai:
|
Delhi | Semua lokasi di dalam Delhi:in:asia-south2-locations |
Nilai:
|
Jepang | Semua lokasi di Jepang:in:jp-locations |
Grup:
Nilai:
|
Tokyo | Semua lokasi dalam Tokyo:in:asia-northeast1-locations |
Nilai:
|
Osaka | Semua lokasi dalam 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 dalam 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 dalam Sydney:in:australia-southeast1-locations |
Nilai:
|
Melbourne | Semua lokasi dalam 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 dalam 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 dalam 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:
|
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 dalam 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 dalam 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 dalam Montréal:in:northamerica-northeast1-locations |
Nilai:
|
Toronto | Semua lokasi dalam 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 dalam Iowa:in:us-central1-locations |
Nilai:
|
Oregon | Semua lokasi dalam 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 dalam 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 dalam Oklahoma:in:us-central2-locations |
Nilai:
|
South Carolina | Semua zona dalam South Carolina:in:us-east1-locations |
Nilai:
|
Northern Virginia | Semua lokasi dalam Northern Virginia:in:us-east4-locations |
Nilai:
|
Columbus | Semua lokasi dalam Columbus:in:us-east5-locations |
Nilai:
|
Dallas | Semua lokasi di Dallas:in:us-south1-locations |
Nilai:
|
Los Angeles | Semua lokasi dalam Los Angeles:in:us-west2-locations |
Nilai:
|
Salt Lake City | Semua lokasi dalam Salt Lake City:in:us-west3-locations |
Nilai:
|
Las Vegas | Semua lokasi dalam 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 dalam Cile:in:cl-locations |
Grup:
Nilai:
|
Santiago | Semua lokasi dalam Santiago:in:southamerica-west1-locations |
Nilai:
|
Autentikasi
Layanan Kebijakan Organisasi 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 Authorize APIs.
Di halaman Login dengan Google yang muncul, pilih akun Anda dan login.
Untuk memberikan akses ke Google Oauth 2.0 Playground, klik Allow pada perintah yang muncul.
Pada Langkah 2, klik Exchange authorization code for tokens.
Di bagian bawah panel Permintaan / Respons di sebelah kanan, string token akses Anda akan 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.