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

  1. Di menu navigasi konsol Google Cloud, klik Keamanan, lalu klik Kontrol Layanan VPC.

    Buka Kontrol Layanan VPC

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

  5. Klik Perimeter baru.

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

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

    1. Klik Tambahkan Fasilitas.

    2. Untuk menambahkan project ke perimeter, di panel Tambahkan resource, klik Tambahkan project.

      1. Untuk memilih project, di dialog Tambahkan project, pilih kotak centang project tersebut.

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

    3. Untuk menambahkan jaringan VPC ke perimeter, di panel Tambahkan resource, klik Tambahkan jaringan VPC.

      1. Dari daftar project, klik project yang berisi jaringan VPC.
      2. Untuk menambahkan jaringan VPC, di dialog Tambahkan resource, pilih kotak centang jaringan VPC tersebut.
      3. Klik Tambahkan referensi yang dipilih. Jaringan yang ditambahkan akan muncul di bagian VPC networks.
  8. Untuk memilih layanan yang ingin Anda amankan dalam perimeter, lakukan hal berikut:

    1. Klik Layanan yang Dibatasi.

    2. Di panel Restricted Services, klik Add services.

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

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

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

    1. Klik Layanan yang dapat diakses VPC.

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

    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 ingin Anda buat dapat diakses di dalam perimeter.

    5. Klik Tambahkan n layanan, dengan n adalah jumlah layanan yang telah Anda pilih di langkah sebelumnya.

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

    1. Klik Tingkat Akses.

    2. Di panel Kebijakan Ingress: Tingkat Akses, klik kotak Pilih Tingkat Akses.

      Anda juga dapat menambahkan tingkat akses setelah perimeter dibuat.

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

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

    1. Klik Kebijakan ingress.

    2. Di panel Aturan traffic masuk, klik Tambahkan aturan.

    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 Ke atribut resource/layanan Google Cloud.

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

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

    1. Klik Kebijakan traffic keluar.

    2. Di panel Aturan traffic keluar, klik Tambahkan aturan.

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

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