Membuat perimeter layanan

Halaman ini menjelaskan cara membuat perimeter layanan.

Sebelum memulai

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 diinginkan, 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. Selama waktu ini, perimeter dapat memblokir permintaan dengan pesan error berikut: Error 403: Request is prohibited by organization's policy.

Konsol

  1. Di Google Cloud menu navigasi konsol, klik Security, lalu klik VPC Service Controls.

    Buka VPC Service Controls

  2. Jika diminta, pilih organisasi, folder, atau project Anda.

  3. 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.

  4. Di halaman VPC Service Controls, pilih mode penerapan perimeter. Secara default, Enforced mode dipilih. Jika Anda ingin membuat perimeter uji coba, klik Dry run mode.

    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 mengetahui informasi selengkapnya tentang mode yang diterapkan dan uji coba, baca tentang perimeter layanan.

  5. Klik New perimeter.

  6. Di halaman Create a service perimeter, di kolom Title, masukkan nama untuk perimeter.

    Nama perimeter dapat memiliki panjang maksimal 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.

  7. Opsional: Di kolom Description, masukkan deskripsi untuk perimeter.

  8. Untuk Perimeter type, pilih Regular.

  9. Untuk Enforcement mode, pilih mode penerapan perimeter. Opsi yang tersedia adalah Dry run dan Enforced.

  10. Klik Continue.

  11. Untuk menambahkan project atau jaringan VPC yang ingin Anda amankan dalam perimeter, lakukan hal berikut:

    1. Untuk menambahkan project ke perimeter, klik Add projects.

      1. Di panel Add projects, pilih project yang ingin Anda lindungi.

      2. Klik Add selected projects. Project yang ditambahkan akan muncul di bagian Projects.

    2. Untuk menambahkan jaringan VPC ke perimeter, klik Add networks.

      1. Dari daftar project, klik project yang berisi jaringan VPC.

      2. Di panel Add VPC networks, pilih jaringan VPC yang ingin Anda lindungi.

      3. Klik Add selected networks. Jaringan yang ditambahkan akan muncul di bagian VPC networks.

    3. Klik Continue.

  12. Untuk memilih layanan yang ingin Anda amankan di dalam perimeter, lakukan hal berikut:

    1. Di panel Restricted services, klik Add services.

    2. Di panel Add services, pilih layanan yang ingin Anda lindungi.

    3. Klik Add selected services.

    4. Klik Continue.

  13. Opsional: Jika Anda ingin menentukan layanan yang dapat diakses dari endpoint jaringan di dalam perimeter, pilih salah satu opsi yang tersedia di panel VPC accessible services:

    • All services: Opsi ini mengizinkan semua Google Cloud layanan.

    • No services: Opsi ini tidak mengizinkan layanan Google Cloud apa pun.

    • All restricted services: Opsi ini hanya mengizinkan Google Cloud layanan yang telah Anda lindungi di perimeter ini.

    • Selected services: Opsi ini hanya mengizinkan Google Cloud layanan yang telah Anda pilih.

      1. Klik Add services.

      2. Di panel Add services, pilih layanan yang ingin Anda izinkan.

      3. Klik Add selected services.

      4. Untuk menyertakan semua layanan yang dibatasi yang dilindungi perimeter ke layanan yang dipilih, klik tombol Include all restricted services ke posisi aktif.

      5. Klik Continue.

    Anda juga dapat menambahkan layanan yang dapat diakses setelah perimeter dibuat.

    Untuk mengetahui informasi selengkapnya, lihat Layanan yang dapat diakses VPC.

  14. Opsional: Untuk mengizinkan akses ke resource terlindungi dari luar perimeter menggunakan tingkat akses, lakukan hal berikut:

    1. Di panel Access levels, klik Add access levels.

      Anda juga dapat menambahkan tingkat akses setelah perimeter dibuat.

    2. Pilih kotak centang yang sesuai dengan tingkat akses yang ingin Anda terapkan ke perimeter.

    3. Klik Add selected access levels.

    4. Klik Continue.

  15. Untuk mengizinkan akses ke resource dalam perimeter dari klien API di luar perimeter, lakukan hal berikut:

    1. Di panel Ingress rules, klik Add an ingress rule.

    2. Di kolom Title, masukkan judul untuk aturan ingress.

    3. Di bagian From, tentukan sumber dari luar perimeter yang memerlukan akses. Anda dapat menentukan project, tingkat akses, dan jaringan VPC sebagai sumber.

    4. Di bagian To, tentukan resource dalam perimeter yang dapat diakses oleh sumber.

    5. Klik Continue.

    Untuk mengetahui daftar atribut aturan traffic masuk, lihat Referensi aturan ingress.

  16. Untuk mengizinkan akses yang melibatkan klien API atau resource dalam perimeter ke resource di luar perimeter, lakukan hal berikut:

    1. Di panel Egress rules, klik Add an egress rule.

    2. Di kolom Title, masukkan judul untuk aturan egress.

    3. Di bagian From, tentukan sumber dari dalam perimeter yang memerlukan akses.

    4. Di bagian To, tentukan resource di luar perimeter yang dapat diakses oleh sumber.

    Untuk daftar atribut aturan egress, lihat Referensi aturan egress.

  17. Klik Create.

gcloud

Untuk membuat perimeter baru dalam mode 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 maksimal 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 "jembatan".

  • RESOURCES adalah daftar yang dipisahkan koma untuk satu atau beberapa nomor project atau nama jaringan VPC. Contoh: 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. Contoh: storage.googleapis.com atau storage.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 ingress, lihat Referensi aturan ingress.

  • EGRESS-FILENAME adalah file JSON atau YAML yang berisi nilai atribut identitas, project, dan layanan. Untuk daftar atribut aturan traffic keluar, lihat Referensi aturan egress.

  • POLICY_NAME adalah nama numerik kebijakan akses organisasi Anda. Contoh, 330193482019. Anda hanya perlu menyertakan nama kebijakan jika Anda 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 aksesnya 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, tetapkan RESTRICTED-SERVICES dalam daftar untuk ACCESSIBLE-SERVICES. Contoh, --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:

  • 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, tetapkan PERIMETER_TYPE_REGULAR untuk perimeterType.

Mode Uji Coba

Perimeter yang diusulkan harus disertakan sebagai spec dan useExplicitDryRunSpec yang disetel ke benar.

Isi respons

Jika berhasil, isi respons untuk panggilan berisi resource Operation yang memberikan detail tentang operasi POST.

Langkah berikutnya