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, secara opsional Anda dapat mengizinkan akses ke layanan yang dilindungi dari luar perimeter, dan menentukan layanan yang dapat diakses oleh layanan lain dan pengguna 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 dan diterapkan. Selama waktu ini, perimeter mungkin memblokir permintaan dengan pesan error berikut: Error 403: Request is prohibited by organization's policy.

Konsol

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

    Buka Kontrol Layanan VPC

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

  3. Di halaman Kontrol Layanan VPC, pilih mode perimeter. Secara default, Mode 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 mengetahui informasi selengkapnya tentang mode penerapan dan uji coba, baca perimeter layanan.

  4. Klik Perimeter baru.

  5. 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 dapat 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.

  6. Untuk menambahkan project atau jaringan VPC yang ingin Anda amankan di dalam perimeter, lakukan langkah berikut:

    1. Klik Add Resources.

    2. Untuk menambahkan project ke perimeter, di panel Add resources, klik Add project.

      1. Untuk memilih project, dalam dialog Add projects, pilih kotak centang project tersebut.

      2. Klik Tambahkan fasilitas yang dipilih. Project yang ditambahkan akan muncul di bagian Project.

    3. Untuk menambahkan jaringan VPC ke perimeter, di panel Add resources, klik Add VPC network.

      1. Dari daftar project, klik project yang berisi jaringan VPC.
      2. Untuk menambahkan jaringan VPC, pada dialog Add resources, pilih kotak centang jaringan VPC tersebut.
      3. Klik Tambahkan fasilitas yang dipilih. Jaringan yang ditambahkan akan muncul di bagian Jaringan VPC.
  7. Untuk memilih layanan yang ingin Anda amankan di dalam perimeter, lakukan tindakan berikut:

    1. Klik Layanan yang Dibatasi.

    2. Di panel Restricted Services, klik Add services.

    3. Untuk mengamankan layanan dalam perimeter, pada dialog Tentukan layanan yang akan dibatasi, pilih kotak centang layanan tersebut.

    4. Klik Add n services, dengan n adalah jumlah layanan yang Anda pilih di langkah sebelumnya.

  8. Opsional: Jika Anda ingin menentukan layanan yang dapat diakses di dalam perimeter, lakukan hal berikut:

    1. Klik Layanan yang dapat diakses VPC.

    2. Di panel Layanan yang dapat diakses VPC, pilih Layanan yang dipilih.

      Untuk menyertakan dengan cepat semua layanan yang dibatasi yang dilindungi oleh perimeter ke daftar layanan yang dapat diakses, pilih Include all restricted services. Opsi ini memungkinkan Anda menyertakan layanan terpisah selain layanan yang dibatasi.

    3. Klik Tambahkan layanan yang dapat diakses VPC.

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

    4. Di halaman Tentukan layanan yang dapat diakses, pilih layanan yang Anda inginkan agar dapat diakses di dalam perimeter Anda.

    5. Klik Add n services, dengan n adalah jumlah layanan yang Anda pilih di langkah sebelumnya.

  9. Opsional: Untuk mengizinkan akses ke resource yang dilindungi dari luar perimeter menggunakan tingkat akses, lakukan tindakan berikut:

    1. Klik Tingkat Akses.

    2. Di panel Ingress Policy: Access Levels, klik kotak Choose Access Level.

      Anda juga dapat menambahkan tingkat akses setelah perimeter dibuat.

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

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

    1. Klik Kebijakan Ingress.

    2. Di panel Ingress rules, klik Add rule.

    3. Tentukan sumber dari luar perimeter yang memerlukan akses di Dari atribut klien API. Anda dapat menentukan project, tingkat akses, dan jaringan VPC sebagai sumber.

    4. Tentukan resource dalam perimeter yang dapat diakses sumber di Atribut ke resource/layanan Google Cloud.

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

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

    1. Klik Kebijakan keluar.

    2. Di panel Aturan keluar, klik Tambahkan aturan.

    3. Tentukan Atribut Dari klien API dan Ke atribut resource/layanan Google Cloud yang Anda inginkan.

      Untuk mengetahui daftar atribut aturan traffic keluar, lihat Referensi aturan traffic keluar.

  12. 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 keliling.

    Nama perimeter dapat memiliki panjang maksimum 50 karakter, harus diawali dengan huruf, dan hanya dapat 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 "regular" atau perimeter "jembatan".

  • RESOURCES adalah daftar yang dipisahkan koma yang berisi 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 untuk satu atau beberapa layanan. Misalnya: 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 masuk, lihat Referensi aturan masuk.

  • EGRESS-FILENAME adalah file JSON atau YAML yang berisi nilai atribut identitas, project, dan layanan. Untuk mengetahui daftar atribut aturan keluar, baca Referensi aturan 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 diperlukan hanya jika Anda ingin menambahkan tingkat akses saat membuat perimeter. LEVELS adalah daftar yang dipisahkan koma yang berisi 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 Anda membuat perimeter. ACCESSIBLE-SERVICES adalah daftar yang dipisahkan koma dari satu atau beberapa layanan yang ingin Anda izinkan jaringan di dalam perimeter Anda untuk diakses. Akses ke layanan apa pun yang tidak disertakan dalam daftar ini 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 VPC yang dapat diakses 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 sebagai spec dan useExplicitDryRunSpec yang ditetapkan ke benar (true).

Isi respons

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

Langkah selanjutnya