Halaman ini menjelaskan cara membuat perimeter layanan.
Sebelum memulai
Baca artikel tentang mengonfigurasi perimeter layanan.
Baca tentang pengelolaan jaringan VPC di perimeter layanan.
Baca cara memberikan akses ke Kontrol Layanan VPC.
Jika Anda ingin mengonfigurasi akses eksternal ke layanan yang dilindungi saat membuat perimeter, buat satu atau beberapa tingkat akses sebelum membuat perimeter.
Membuat perimeter layanan
Bagian ini menjelaskan cara membuat perimeter layanan, menambahkan project atau jaringan VPC ke perimeter, dan melindungi layanan.
Saat membuat perimeter layanan, Anda dapat secara opsional mengizinkan akses ke layanan yang dilindungi dari luar perimeter, dan menentukan layanan yang dapat diakses oleh layanan dan pengguna lain di dalam perimeter. Jika ingin, Anda dapat mengonfigurasi setelan ini setelah membuat perimeter.
Setelah Anda membuat perimeter layanan atau memperbarui perimeter layanan yang ada, perlu waktu hingga 30 menit agar perubahan diterapkan dan berlaku. Selama waktu ini,
perimeter mungkin memblokir permintaan dengan pesan error berikut: Error 403: Request is prohibited by organization's policy.
Konsol
Di menu navigasi konsol Google Cloud, klik Keamanan, lalu klik Kontrol Layanan VPC.
Jika diminta, pilih organisasi, folder, atau project Anda.
Pilih kebijakan akses yang ada atau buat kebijakan akses baru. Pastikan cakupan kebijakan akses mencakup semua project dan jaringan VPC yang ingin Anda tambahkan ke perimeter.
Di halaman VPC Service Controls, pilih mode perimeter. Secara default, Mode yang diterapkan dipilih. Jika Anda ingin membuat perimeter uji coba, klik Mode uji coba.
Perimeter yang diterapkan secara aktif mencegah akses ke layanan yang dilindungi. Perimeter uji coba mencatat pelanggaran perimeter seolah-olah layanan dilindungi, tetapi tidak mencegah akses ke layanan tersebut. Untuk informasi selengkapnya tentang mode penerapan dan uji coba, baca tentang perimeter layanan.
Klik Perimeter baru.
Di halaman Perimeter Layanan VPC Baru, di kotak Nama Perimeter, masukkan nama perimeter.
Nama perimeter dapat memiliki panjang maksimum 50 karakter, harus diawali dengan huruf, dan hanya boleh berisi huruf Latin ASCII (a-z, A-Z), angka (0-9), atau garis bawah (
_
). Nama perimeter peka huruf besar/kecil dan harus unik dalam kebijakan akses.Untuk menambahkan project atau jaringan VPC yang ingin Anda amankan dalam perimeter, lakukan hal berikut:
Klik Tambahkan Fasilitas.
Untuk menambahkan project ke perimeter, di panel Tambahkan resource, klik Tambahkan project.
Untuk memilih project, di dialog Tambahkan project, pilih kotak centang project tersebut.
Klik Tambahkan referensi yang dipilih. Project yang ditambahkan akan muncul di bagian Project.
Untuk menambahkan jaringan VPC ke perimeter, di panel Tambahkan resource, klik Tambahkan jaringan VPC.
- Dari daftar project, klik project yang berisi jaringan VPC.
- Untuk menambahkan jaringan VPC, di dialog Tambahkan resource, pilih kotak centang jaringan VPC tersebut.
- Klik Tambahkan referensi yang dipilih. Jaringan yang ditambahkan akan muncul di bagian VPC networks.
Untuk memilih layanan yang ingin Anda amankan dalam perimeter, lakukan hal berikut:
Klik Layanan yang Dibatasi.
Di panel Restricted Services, klik Add services.
Untuk mengamankan layanan dalam perimeter, di dialog Tentukan layanan yang akan dibatasi, pilih kotak centang layanan tersebut.
Klik Tambahkan n layanan, dengan n adalah jumlah layanan yang Anda pilih di langkah sebelumnya.
Opsional: Jika Anda ingin menentukan layanan yang dapat diakses di dalam perimeter, lakukan tindakan berikut:
Klik Layanan yang dapat diakses VPC.
Di panel Layanan yang dapat diakses VPC, pilih Layanan yang dipilih.
Untuk menyertakan semua layanan terbatas yang dilindungi perimeter ke daftar layanan yang dapat diakses dengan cepat, pilih Sertakan semua layanan yang dibatasi. Opsi ini memungkinkan Anda menyertakan layanan terpisah selain layanan yang dibatasi.
Klik Tambahkan layanan yang dapat diakses VPC.
Anda juga dapat menambahkan layanan yang dapat diakses setelah perimeter dibuat.
Di halaman Tentukan layanan yang dapat diakses, pilih layanan yang ingin Anda buat dapat diakses di dalam perimeter.
Klik Tambahkan n layanan, dengan n adalah jumlah layanan yang telah Anda pilih di langkah sebelumnya.
Opsional: Untuk mengizinkan akses ke resource yang dilindungi dari luar perimeter menggunakan level akses, lakukan tindakan berikut:
Klik Tingkat Akses.
Di panel Kebijakan Ingress: Tingkat Akses, klik kotak Pilih Tingkat Akses.
Anda juga dapat menambahkan tingkat akses setelah perimeter dibuat.
Pilih kotak centang yang sesuai dengan tingkat akses yang ingin Anda terapkan ke perimeter.
Untuk mengizinkan akses ke resource dalam perimeter dari klien API di luar perimeter, lakukan tindakan berikut:
Klik Kebijakan ingress.
Di panel Aturan traffic masuk, klik Tambahkan aturan.
Tentukan sumber dari luar perimeter yang memerlukan akses di Dari atribut klien API. Anda dapat menentukan project, tingkat akses, dan jaringan VPC sebagai sumber.
Tentukan resource dalam perimeter yang dapat diakses sumber di Ke atribut resource/layanan Google Cloud.
Untuk mengetahui daftar atribut aturan traffic masuk, lihat Referensi aturan traffic masuk.
Untuk mengizinkan akses yang melibatkan klien API atau resource dalam perimeter ke resource di luar perimeter, lakukan hal berikut:
Klik Kebijakan traffic keluar.
Di panel Aturan traffic keluar, klik Tambahkan aturan.
Tentukan atribut Dari klien API dan atribut Untuk resource/layanan Google Cloud yang diperlukan.
Untuk mengetahui daftar atribut aturan traffic keluar, lihat Referensi aturan traffic keluar.
Klik Buat perimeter.
gcloud
Untuk membuat perimeter baru dalam mode yang diterapkan, gunakan perintah gcloud access-context-manager perimeters create
.
gcloud access-context-manager perimeters create NAME \ --title=TITLE \ --resources=RESOURCES \ --restricted-services=RESTRICTED-SERVICES \ --ingress-policies=INGRESS-FILENAME.yaml \ --egress-policies=EGRESS-FILENAME.yaml \ [--access-levels=LEVELS] \ [--enable-vpc-accessible-services] \ [--vpc-allowed-services=ACCESSIBLE-SERVICES] \ --policy=POLICY_NAME
Untuk membuat perimeter baru dalam mode uji coba, gunakan perintah gcloud access-context-manager perimeters dry-run create
.
gcloud access-context-manager perimeters dry-run create NAME \ --perimeter-title=TITLE \ --perimeter-type=TYPE \ --perimeter-resources=RESOURCES \ --perimeter-restricted-services=RESTRICTED-SERVICES \ --perimeter-ingress-policies=INGRESS-FILENAME.yaml \ --perimeter-egress-policies=EGRESS-FILENAME.yaml \ [--perimeter-access-levels=LEVELS] \ [--perimeter-enable-vpc-accessible-services] \ [--perimeter-vpc-allowed-services=ACCESSIBLE-SERVICES] \ --policy=POLICY_NAME
Ganti kode berikut:
NAME adalah nama perimeter.
Nama perimeter dapat memiliki panjang maksimum 50 karakter, harus diawali dengan huruf, dan hanya boleh berisi huruf Latin ASCII (a-z, A-Z), angka (0-9), atau garis bawah (
_
). Nama perimeter peka huruf besar/kecil dan harus unik dalam kebijakan akses.TITLE adalah judul perimeter yang dapat dibaca manusia.
TYPE adalah jenis perimeter. Misalnya, perimeter "reguler" atau perimeter "bridge".
RESOURCES adalah daftar yang dipisahkan koma dari satu atau beberapa nomor project atau nama jaringan VPC. Misalnya:
projects/12345
atau//compute.googleapis.com/projects/my-project/global/networks/vpc1
. Hanya project dan jaringan VPC yang diizinkan. Format project:projects/project_number
. Format VPC://compute.googleapis.com/projects/project-id/global/networks/network_name
. Jika Anda menentukan project, hanya nomor project yang didukung. Anda tidak dapat menggunakan nama atau ID project.RESTRICTED-SERVICES adalah daftar yang dipisahkan koma dari satu atau beberapa layanan. Misalnya:
storage.googleapis.com
ataustorage.googleapis.com,bigquery.googleapis.com
.INGRESS-FILENAME adalah file JSON atau YAML yang berisi nilai atribut sumber, identitas, project, dan layanan. Untuk mengetahui daftar atribut aturan traffic masuk, lihat Referensi aturan traffic masuk.
EGRESS-FILENAME adalah file JSON atau YAML yang berisi nilai atribut identitas, project, dan layanan. Untuk mengetahui daftar atribut aturan traffic keluar, lihat Referensi aturan traffic keluar.
POLICY_NAME adalah nama numerik kebijakan akses organisasi Anda. Contoh,
330193482019
. Anda hanya perlu menyertakan nama kebijakan jika belum menetapkan kebijakan akses default.
Opsi tambahan:
--access-levels
atau--perimeter-access-levels
hanya diperlukan jika Anda ingin menambahkan tingkat akses saat membuat perimeter. LEVELS adalah daftar yang dipisahkan koma dari satu atau beberapa tingkat akses yang ingin Anda terapkan ke perimeter layanan.Anda juga dapat menambahkan tingkat akses setelah membuat perimeter.
--enable-vpc-accessible-services
dan--vpc-allowed-services
, atau--perimeter-enable-vpc-accessible-services
dan--perimeter-vpc-allowed-services
hanya diperlukan jika Anda ingin menambahkan layanan yang dapat diakses VPC saat membuat perimeter. ACCESSIBLE-SERVICES adalah daftar yang dipisahkan koma dari satu atau beberapa layanan yang ingin Anda izinkan untuk diakses oleh jaringan di dalam perimeter Anda. Akses ke layanan apa pun yang tidak disertakan dalam daftar ini akan dicegah.Anda hanya dapat membuat layanan dapat diakses jika Anda juga melindunginya saat mengonfigurasi perimeter.
Untuk menyertakan semua layanan yang dilindungi oleh perimeter dengan cepat, tentukan
RESTRICTED-SERVICES
dalam daftar untuk ACCESSIBLE-SERVICES. Contohnya,--perimeter-vpc-allowed-services=RESTRICTED-SERVICES
.Anda juga dapat menentukan layanan yang dapat diakses VPC setelah membuat perimeter.
Misalnya, perintah berikut membuat perimeter mode uji coba baru bernama
ProdPerimeter
yang menyertakan project example-project
dan
example-project2
, serta membatasi Cloud Storage dan
BigQuery API.
gcloud access-context-manager perimeters \ dry-run create ProdPerimeter --perimeter-title="Production Perimeter" \ --perimeter-type="regular" \ --perimeter-resources=projects/12345,projects/67890 \ --perimeter-restricted-services=storage.googleapis.com,bigquery.googleapis.com \ --perimeter-ingress-policies=ingress.yaml \ --perimeter-egress-policies=egress.yaml \ --policy=330193482019
API
Untuk membuat perimeter layanan, panggil
accessPolicies.servicePerimeters.create
.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters
Dengan keterangan:
- POLICY_NAME adalah nama numerik kebijakan akses
organisasi Anda. Contoh,
330193482019
.
Isi permintaan
Isi permintaan harus menyertakan resource ServicePerimeter
yang menentukan perimeter layanan.
Untuk resource ServicePerimeter
, tentukan PERIMETER_TYPE_REGULAR
untuk
perimeterType
.
Mode Uji Coba
Perimeter yang diusulkan harus disertakan karena spec
dan
useExplicitDryRunSpec
ditetapkan ke benar.
Isi respons
Jika berhasil, isi respons untuk panggilan akan berisi resource Operation
yang memberikan detail tentang operasi POST
.
Langkah selanjutnya
- Pelajari cara menguji dampak perimeter layanan menggunakan mode uji coba.
- Pelajari cara mengelola perimeter layanan yang ada.
- Pelajari cara memecahkan masalah umum Kontrol Layanan VPC.
- Selesaikan codelab ini untuk mempelajari cara melindungi project dan layanannya menggunakan Kontrol Layanan VPC.