Sebelum mengonfigurasi proxy egress, Anda dapat menguji header pembatasan organisasi secara langsung menggunakan alat seperti curl.
Pengujian ini membantu Anda memverifikasi bahwa permintaan ke organisasi
Google Cloud yang diizinkan berhasil dan permintaan ke
organisasi yang tidak diizinkan diblokir.
Menguji header pembatasan organisasi
Untuk membuat dan menguji header pembatasan organisasi, lakukan hal berikut:
Untuk mendapatkan ID organisasi Google Cloud dari organisasi, gunakan perintah
gcloud organizations list:gcloud organizations listBerikut adalah contoh output:
DISPLAY_NAME: Organization A ID: 123456789 DIRECTORY_CUSTOMER_ID: a1b2c3d4Setelah mendapatkan ID organisasi, susun representasi JSON untuk nilai header dalam format berikut:
{ "resources": ["organizations/123456789"], "options": "strict" }Enkode nilai untuk header permintaan dengan mengikuti spesifikasi RFC 4648 Bagian 5.
Misalnya, jika representasi JSON untuk nilai header disimpan dalam file
authorized_orgs.json, berikut adalah encoding melalui basenc:$ OR_HEADER=`cat authorized_orgs.json | basenc --base64url -w0` $ echo $OR_HEADER ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiXQogIm9wdGlvbnMiOiAic3RyaWN0Igp9Cgo=Untuk menguji apakah konfigurasi header mengizinkan akses ke resource dalam organisasi Google Cloud yang diizinkan, buat permintaan curl ke resource dalam organisasi Google Cloud yang diizinkan. Berikut adalah contoh permintaan curl:
# Get auth token $ TOKEN=$(gcloud auth print-access-token) # Make a request that includes the organization restriction header; this call makes a request to the logging API for a project within the same organization listed in the header $ curl -H "X-Goog-Allowed-Resources: ${OR_HEADER}" -X POST -d '{"projectIds": ["my-project-123"]}' -H 'Content-Type: application/json' -H "Authorization: Bearer ${TOKEN}" "https://logging.googleapis.com/v2/entries:list" # A successful request returns log entries in this projectUntuk menguji apakah konfigurasi header menolak akses ke resource yang berada di luar organisasi Google Cloud yang diizinkan, buat permintaan curl ke resource di luar organisasi Google Cloud yang diizinkan. Berikut adalah contoh permintaan curl:
# Get auth token $ TOKEN=$(gcloud auth print-access-token) # Make a request that includes the organization restriction header; this call makes a request to the logging API for a project not within the same organization listed in the header $ curl -H "X-Goog-Allowed-Resources: ${OR_HEADER}" -X POST -d '{"projectIds": ["other-project-123"]}' -H 'Content-Type: application/json' -H "Authorization: Bearer ${TOKEN}" "https://logging.googleapis.com/v2/entries:list" { "error": { "code": 403, "message": "Access denied by organization restriction. Contact your administrator for additional information.", "status": "PERMISSION_DENIED", "details": [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "reason": "ORG_RESTRICTION_VIOLATION", "domain": "googleapis.com", "metadata": { "service": "logging.googleapis.com", "consumer": "other-project-123" } } ] } }Pesan error akses ditolak menunjukkan bahwa permintaan ke resource ditolak.
Langkah berikutnya
- Pelajari cara menggunakan pembatasan organisasi.
- Pelajari layanan yang didukung oleh pembatasan organisasi.