Mengonfigurasi pembatasan organisasi

Halaman ini menjelaskan prasyarat untuk konfigurasi proxy keluar, cara mendapatkan ID organisasi, menambahkan header pembatasan organisasi, dan mengonfigurasi proxy dengan daftar URL target.

AdministratorGoogle Cloud , yang mengelola Google Cloud, dan administrator proxy keluar yang mengonfigurasi proxy keluar harus bekerja sama untuk mengonfigurasi pembatasan organisasi. Untuk informasi tentang solusi partner yang divalidasi dengan batasan organisasi, lihat Solusi partner yang divalidasi.

Sebelum memulai

Jika Anda adalah administrator proxy keluar, sebelum mengonfigurasi proxy keluar untuk menambahkan header pembatasan organisasi, Anda harus menyelesaikan prasyarat berikut:

  • Jika Google Cloud peran administrator dan administrator proxy keluar berbeda di organisasi Anda, pastikan Google Cloud administrator berinteraksi dengan administrator proxy keluar untuk mengonfigurasi proxy keluar.

  • Konfigurasikan aturan firewall organisasi Anda atau konfigurasikan perangkat terkelola untuk memastikan traffic keluar dari semua pengguna di organisasi Anda melewati proxy keluar.

  • Pastikan proxy keluar di organisasi Anda memiliki fitur berikut:

    • Sisipkan header. Menyisipkan header HTTP kustom ke permintaan keluar yang melintasi proxy keluar.
    • Pemeriksaan TLS. Jika traffic ke proxy keluar dienkripsi, proxy keluar harus mendekripsi paket, menyisipkan header, dan mengenkripsi ulang paket sebelum mengirimnya ke target.
    • Memfilter dan menyisipkan header. Opsional. Dukung satu atau beberapa filter berikut, lalu tambahkan header hanya untuk permintaan yang cocok dengan kondisi filter:

      • URL target. Daftar URL target yang dapat dicocokkan oleh proxy keluar.
      • ID Perangkat. Daftar ID perangkat yang dapat dicocokkan oleh proxy keluar. ID perangkat harus disebarkan ke proxy keluar.
      • ID Pengguna. Daftar ID pengguna yang dapat dicocokkan oleh proxy keluar. ID pengguna harus disebarkan ke proxy keluar.

Mendapatkan ID organisasi

Sebagai Google Cloud administrator, Anda harus mendapatkan ID organisasi Google Cloud agar dapat ditambahkan ke header pembatasan organisasi.

Untuk menemukan ID resource organisasi Anda, jalankan perintah berikut:

   gcloud organizations list

Perintah ini mencantumkan semua resource organisasi tempat Anda berada, dan ID resource organisasi yang sesuai.

Setelah mendapatkan ID organisasi, Anda dapat menambahkan header pembatasan organisasi atau menghubungi administrator proxy keluar untuk menambahkan header.

Menambahkan header batasan organisasi

Sebagai administrator proxy keluar, untuk menambahkan header pembatasan organisasi ke permintaan keluar, lakukan tindakan berikut:

  • Buat header.
  • Enkode header.
  • Konfigurasikan proxy keluar.

Membuat header

Buat representasi JSON untuk header dalam format berikut: X-Goog-Allowed-Resources: HEADER_VALUE

HEADER_VALUE berisi daftar ID organisasi Google Cloud yang diotorisasi dan dipisahkan koma. Nilai tersebut kemudian harus dienkode dalam encoding base64 yang aman bagi web.

HEADER_VALUE memiliki struktur JSON berikut:

  {
  "resources": [string,..],
  "options": string
  }
  • resources. Daftar string. Setiap string dalam daftar ini harus merujuk ke ID organisasi Google Cloud. ID organisasi dalam daftar ini dianggap sebagai organisasi resmi selama evaluasi.
  • options. String yang berisi salah satu nilai berikut:
    • "strict". Menerapkan header pembatasan organisasi untuk semua jenis permintaan ke layanan Google Cloud yang didukung.
    • "cloudStorageReadAllowed". Mengizinkan permintaan baca ke Cloud Storage, tetapi menerapkan header batasan organisasi untuk semua jenis permintaan ke layanan yang didukung Google Cloud . Opsi ini memungkinkan akses untuk operasi baca Cloud Storage berikut:
      • storage.objects.get
      • storage.objects.list
      • storage.objects.getIamPolicy
      • storage.buckets.get
      • storage.buckets.list
      • storage.buckets.getIamPolicy

Untuk mendemonstrasikan opsi ini, pertimbangkan contoh saat Alex adalah administrator Organisasi Contoh dan Lee adalah karyawan organisasi ini. Pertimbangkan situs seperti altostrat.com yang menyimpan konten statis di bucket Cloud Storage publik dan berada di luar Organisasi Contoh. Jika Alex menggunakan opsi strict untuk membatasi akses Lee hanya ke Organisasi Contoh, Lee akan ditolak aksesnya ke konten statis di altostrat.com, yang ada di bucket Cloud Storage publik yang dimiliki oleh altostrat.com. Perilaku ini memengaruhi kemampuan Lee untuk menjelajahi situs secara efektif dan perilaku yang sama dialami untuk situs apa pun yang menggunakan Cloud Storage publik untuk menyimpan konten statis. Agar Lee dapat melihat konten statis di altostrat.com dan membatasi semua akses Google Cloud lainnya hanya ke Example Organization, Alex menggunakan opsi cloudStorageReadAllowed.

Berikut adalah contoh header pembatasan organisasi yang valid:

  {
  "resources": ["organizations/1234", "organizations/3456"],
  "options": "strict"
  }

Mengenkode header

Enkode ID organisasi dalam format base64 yang aman untuk web. Encoding harus mengikuti spesifikasi RFC 4648 Bagian 5.

Misalnya, jika representasi JSON untuk nilai header disimpan dalam file authorized_orgs.json, untuk mengenkode file, jalankan perintah basenc berikut:

     $ cat authorized_orgs.json | basenc --base64url -w0
ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K

Berikut adalah contoh header setelah mengenkode ID organisasi:

// Encoded representation
X-Goog-Allowed-Resources: ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K

// Plain-text representation (As HTTP disallows some characters, encode the organization ID)
// Plain-text representation is included here only for readability
X-Goog-Allowed-Resources: {"resources": ["organizations/1234", "organizations/3456"], "options": "strict"}

Mengonfigurasi proxy keluar

Untuk menyisipkan header ke permintaan yang berasal dari perangkat terkelola, konfigurasikan proxy keluar.

Pastikan bahwa jika Google Cloud pengguna di organisasi Anda secara eksplisit memberikan header HTTP, proxy keluar akan mengganti nilai yang diberikan pengguna dengan nilai yang diberikan oleh Google Cloud administrator.

Untuk menghindari penambahan header ini ke target di luar Google Cloud, konfigurasikan proxy keluar untuk menambahkan header pembatasan organisasi ke permintaan hanya dengan target berikut:

  • *.google.com
  • *.googleapis.com
  • *.gcr.io
  • *.pkg.dev
  • *.cloudfunctions.net
  • *.run.app
  • *.tunnel.cloudproxy.app
  • *.datafusion.googleusercontent.com

Untuk informasi tentang pesan error yang terjadi karena pelanggaran pembatasan organisasi, lihat pesan error.

Langkah selanjutnya