Mengamankan konsol Google Cloud dan Google Cloud API

Dokumen ini menunjukkan cara mengamankan akses ke Konsol Google Cloud dan Google Cloud API menggunakan aturan berbasis konteks.

Akses Kontekstual untuk konsol Google Cloud dan Google Cloud API membatasi akses ke Konsol Google Cloud dan Google Cloud API dengan aturan berbasis konteks. BeyondCorp Enterprise adalah bagian dari BeyondCorp Enterprise dan membantu memastikan bahwa individu dan grup dalam organisasi Anda yang memenuhi persyaratan akses yang ditetapkan dapat mengakses Google Cloud Console dan Google Cloud API (termasuk akses dari Google Cloud CLI).

Untuk mengamankan konsol Google Cloud dan Google Cloud API, selesaikan langkah-langkah berikut:

  1. [Opsional] Deploy Verifikasi Endpoint ke perangkat di organisasi Anda.
  2. Buat tingkat akses di Pengelola Akses Konteks.
  3. Buat grup pengguna yang akan dibatasi oleh pembatasan kontekstual.
  4. Dapatkan izin Identity and Access Management yang diperlukan.
  5. Buat binding akses yang menerapkan aturan kontekstual untuk Konsol Google Cloud dan Google Cloud API.

[Opsional] Men-deploy Verifikasi Endpoint

Jika Anda ingin mengamankan akses ke konsol Google Cloud dan Google Cloud API dengan menggunakan atribut perangkat, deploy Endpoint Verification ke perangkat di organisasi Anda.

Verifikasi Endpoint berjalan sebagai ekstensi Chrome di desktop dan laptop untuk pengguna MacOS, Windows, dan Linux. Admin dapat men-deploy-nya ke perangkat milik perusahaan dari konsol Google Admin atau anggota organisasi dapat menginstal sendiri.

Membuat tingkat akses

Anda perlu menentukan tingkat akses yang dapat digunakan saat menentukan akses ke konsol Google Cloud dan Google Cloud API dengan membuat tingkat akses dasar di Access Context Manager.

Membuat grup pengguna

Buat grup pengguna yang harus terikat oleh pembatasan kontekstual. Setiap pengguna dalam grup ini yang juga merupakan anggota organisasi Anda harus memenuhi tingkat akses yang Anda buat sebelumnya untuk mengakses konsol Google Cloud dan Google Cloud API.

Memberikan izin IAM yang diperlukan

Berikan izin IAM di tingkat organisasi yang akan diperlukan untuk membuat binding akses Access Context Manager.

Konsol

  1. Buka halaman IAM & Admin di Konsol Google Cloud.

    Buka IAM & Admin

  2. Klik Add dan konfigurasikan hal berikut:

    • Anggota baru: Tentukan pengguna atau grup yang ingin Anda beri izin.
    • Pilih peran: Pilih Access Context Manager > Cloud Access Binding Admin.
  3. Klik Save.

gcloud

  1. Pastikan Anda diautentikasi dengan hak istimewa yang memadai untuk menambahkan izin IAM di tingkat organisasi. Setidaknya, Anda memerlukan peran Organization Admin.

    Setelah mengonfirmasi bahwa Anda memiliki izin yang tepat, login dengan:

    gcloud auth login
    
  2. Tetapkan peran GcpAccessAdmin dengan menjalankan perintah berikut:

    gcloud organizations add-iam-policy-binding ORG_ID \
      --member=user:EMAIL \
      --role=roles/accesscontextmanager.gcpAccessAdmin
    
    • ORG_ID adalah ID untuk organisasi Anda. Jika belum memiliki ID organisasi, Anda dapat menggunakan perintah berikut untuk menemukannya:

       gcloud organizations list
      
    • EMAIL adalah alamat email orang atau grup yang ingin diberi peran.

Membuat binding akses

Binding akses adalah pemetaan antara grup pengguna yang Anda buat sebelumnya dan tingkat akses Access Context Manager yang Anda tetapkan untuk mengakses konsol Google Cloud dan Google Cloud API.

Anda dapat membuat binding akses dengan salah satu cara berikut:

  • Pengikatan akses antara grup dan tingkat akses.
  • Akses binding antara grup dan tingkat akses dengan konfigurasi uji coba. Dengan konfigurasi uji coba, Anda dapat membuat binding akses antara grup dan tingkat akses uji coba, atau antara grup, tingkat akses, dan tingkat akses uji coba.

Membuat binding akses dengan level akses

Konsol

  1. Buka halaman BeyondCorp Enterprise di Konsol Google Cloud.

    Buka BeyondCorp Enterprise

  2. Pilih organisasi, lalu klik Pilih.

  3. Klik Kelola akses untuk memilih grup pengguna mana yang harus memiliki akses.

  4. Klik Add dan konfigurasikan hal berikut:

    • Grup anggota: Tentukan grup yang ingin Anda beri akses. Hanya grup yang belum terikat ke tingkat akses yang dapat dipilih.
    • Select access level: Pilih tingkat akses yang harus diterapkan ke grup.
  5. Klik Save.

gcloud

Anda dapat melihat Google Cloud CLI untuk mengetahui informasi selengkapnya tentang hal ini dan perintah gcloud access-context-manager cloud-bindings lainnya, termasuk opsi flag tambahan.

 gcloud access-context-manager cloud-bindings create \
    --group-key GROUP_ID \
    --level ACCESS_LEVEL \
    --organization ORG_ID

Dengan keterangan:

  • GROUP_ID adalah ID Grup untuk grup pengguna yang Anda buat sebelumnya.

    Jika tidak memiliki ID Grup yang tersedia, Anda dapat mengambilnya dengan memanggil metode get pada resource Groups.

  • ORG_ID adalah ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin. Jika properti access-context-manager/organization belum ditetapkan, ganti ORG_ID di flag --organization opsional dengan ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin.
  • POLICY_ID adalah ID kebijakan akses organisasi Anda.
  • ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.

API

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • ORG_ID adalah ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin.
  • GROUP_ID adalah ID Grup untuk grup pengguna yang Anda buat sebelumnya.

    Jika tidak memiliki ID Grup yang tersedia, Anda dapat mengambilnya dengan memanggil metode get pada resource Groups.

  • POLICY_ID adalah ID kebijakan akses organisasi Anda.
  • ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.

Metode HTTP dan URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Isi JSON permintaan:

{
  "groupKey": "GROUP_ID",
  "accessLevels": [ "ACCESS_LEVEL" ],
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",
  "accessLevels": [
    "accessPolicies/305009197125/accessLevels/device_lock"
  ]
}

Membuat binding akses dengan konfigurasi uji coba

Anda dapat membuat binding akses dengan konfigurasi uji coba untuk memahami dampak tingkat akses di lingkungan Anda dalam skenario berikut:

  • Untuk mengevaluasi dampak tingkat akses sebelum menerapkannya, buat binding akses dengan tingkat akses uji coba.
  • Untuk menerapkan tingkat akses dan mengevaluasi dampak tingkat akses uji coba secara bersamaan, buat binding akses dengan tingkat akses aktif dan dengan tingkat akses uji coba.

Binding akses dengan tingkat akses uji coba tidak mencegah akses, tetapi mencatat pelanggaran tingkat akses uji coba. Untuk melihat detail log, lihat log penolakan.

Membuat binding akses dengan tingkat akses uji coba

gcloud

    gcloud access-context-manager cloud-bindings create \
    --group-key = GROUP_ID \
    --dry-run-level = DRY_RUN_ACCESS_LEVEL \
    --organization ORG_ID

Dengan keterangan:

  • GROUP_ID adalah ID Grup untuk grup pengguna yang Anda buat sebelumnya.

    Jika tidak memiliki ID Grup yang tersedia, Anda dapat mengambilnya dengan memanggil metode get pada resource Groups.

  • ORG_ID adalah ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin. Jika properti access-context-manager/organization belum ditetapkan, ganti ORG_ID di flag --organization opsional dengan ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin.
  • POLICY_ID adalah ID kebijakan akses organisasi Anda.
  • DRY_RUN_ACCESS_LEVEL adalah ACCESS_LEVEL yang ingin Anda pahami efeknya. ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.

API

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • ORG_ID adalah ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin.
  • GROUP_ID adalah ID Grup untuk grup pengguna yang Anda buat sebelumnya.

    Jika tidak memiliki ID Grup yang tersedia, Anda dapat mengambilnya dengan memanggil metode get pada resource Groups.

  • POLICY_ID adalah ID kebijakan akses organisasi Anda.
  • DRY_RUN_ACCESS_LEVEL adalah ACCESS_LEVEL yang ingin Anda pahami efeknya. ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.

Metode HTTP dan URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Isi JSON permintaan:

{
  "groupKey": "GROUP_ID",
  "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",

  "dryRunAccessLevels": [
    "accessPolicies/305009197125/accessLevels/another"
  ]
}

Buat binding akses dengan tingkat akses dan tingkat akses uji coba

gcloud

    gcloud access-context-manager cloud-bindings create \
    --group-key = GROUP_ID \
    --level = ACCESS_LEVEL \
    --dry-run-level = DRY_RUN_ACCESS_LEVEL \
    --organization ORG_ID

Dengan keterangan:

  • GROUP_ID adalah ID Grup untuk grup pengguna yang Anda buat sebelumnya.

    Jika tidak memiliki ID Grup yang tersedia, Anda dapat mengambilnya dengan memanggil metode get pada resource Groups.

  • ORG_ID adalah ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin. Jika properti access-context-manager/organization belum ditetapkan, ganti ORG_ID di flag --organization opsional dengan ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin.
  • POLICY_ID adalah ID kebijakan akses organisasi Anda.
  • ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.
  • DRY_RUN_ACCESS_LEVEL adalah ACCESS_LEVEL yang ingin Anda pahami efeknya. ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.

API

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • ORG_ID adalah ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin.
  • GROUP_ID adalah ID Grup untuk grup pengguna yang Anda buat sebelumnya.

    Jika tidak memiliki ID Grup yang tersedia, Anda dapat mengambilnya dengan memanggil metode get pada resource Groups.

  • POLICY_ID adalah ID kebijakan akses organisasi Anda.
  • ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.
  • DRY_RUN_ACCESS_LEVEL adalah ACCESS_LEVEL yang ingin Anda pahami efeknya. ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.

Metode HTTP dan URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Isi JSON permintaan:

{
  "groupKey": "GROUP_ID",
  "accessLevels": [ "ACCESS_LEVEL" ],
  "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",
  "accessLevels": [
    "accessPolicies/305009197125/accessLevels/device_lock"
  ],
  "dryRunAccessLevels": [
    "accessPolicies/305009197125/accessLevels/another"
  ]
}

Melihat log penolakan

Setelah membuat konfigurasi uji coba, Anda dapat meninjau log untuk mengidentifikasi tempat konfigurasi uji coba menolak akses.

Tabel berikut mencantumkan kolom log yang dapat Anda gunakan untuk membuat dan menjalankan kueri guna mendapatkan log:

Nama kolom Deskripsi
protoPayload > authenticationInfo > principalEmail ID email akun utama yang aksesnya ditolak.
protoPayload > metadata > deniedApplications Nama aplikasi yang aksesnya ditolak.
protoPayload > metadata > evaluationResult Hasil evaluasi kebijakan akses aktif. Nilai yang mungkin: GRANTED atau DENIED.
protoPayload > metadata > appliedAccessLevels Tingkat akses yang diterapkan yang diperlukan oleh kebijakan akses aktif.
protoPayload > metadata > appliedDryRunAccessLevels Tingkat akses yang diterapkan yang diperlukan oleh kebijakan akses uji coba.
protoPayload > metadata > dryRunEvaluationResult Hasil evaluasi kebijakan akses uji coba, yang menunjukkan tindakan yang diinginkan saat kebijakan akses diterapkan. Nilai yang mungkin: GRANTED atau DENIED.

Untuk mengetahui detail tentang cara membuat kueri untuk log, lihat Bahasa kueri logging.

Konsol

  1. Di menu navigasi konsol Google Cloud, klik Logging, lalu klik Logs Explorer.

    Buka Logs Explorer

  2. Di kolom Query, masukkan filter kueri seperti filter berikut, lalu klik Run query.

    severity="ERROR" AND
    (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
     protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
     protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"
    
  3. Lihat log di bagian Query results.

gcloud

Untuk melihat log menggunakan gcloud CLI, jalankan perintah seperti berikut:

gcloud logging read 'severity="ERROR" AND
  (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
   protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
   protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"'

Mengelola binding akses

Setelah binding akses dibuat untuk sekelompok pengguna, akses ke Konsol Google Cloud dan Google Cloud API dikontrol berdasarkan kepuasan tingkat akses terikat.

Anda dapat melihat detail binding akses yang Anda buat, mengeditnya, atau menghapusnya.

Melihat binding akses

Konsol

Anda dapat melihat semua binding akses untuk organisasi dan melihat detail binding akses.

gcloud

  • Untuk melihat semua binding akses, jalankan perintah berikut:

      gcloud access-context-manager cloud-bindings list \
       --organization ORG_ID
    

    Dengan keterangan:

    ORG_ID adalah ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin. . Jika properti access-context-manager/organization belum ditetapkan, ganti ORG_ID di flag --organization opsional dengan ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin.

  • Untuk melihat detail binding akses, jalankan perintah berikut:

      gcloud access-context-manager cloud-bindings describe \
      --binding=BINDING_ID
    

    Dengan keterangan:

    BINDING_ID adalah ID binding akses atau ID yang sepenuhnya memenuhi syarat untuk binding akses.

API

  • Lihat semua binding akses:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • ORG_ID adalah ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin. Jika properti access-context-manager/organization belum ditetapkan, ganti ORG_ID di flag --organization opsional dengan ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin.

    Metode HTTP dan URL:

    GET https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

    PowerShell

    Jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    
    {
      "name": string,
      "groupKey": string,
      "accessLevels": [
        string
      ]
      "dryRunAccessLevels": [
      string
      ]
    }
    
    

  • Melihat detail binding akses:

    Metode HTTP dan URL:

    GET https://accesscontextmanager.googleapis.com/v1/BINDING_ID

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://accesscontextmanager.googleapis.com/v1/BINDING_ID"

    PowerShell

    Jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://accesscontextmanager.googleapis.com/v1/BINDING_ID" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    
    {
      "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
      "groupKey": "045jfvxd0ybeul8",
      "accessLevels": [
        "accessPolicies/305009197125/accessLevels/device_lock"
      ],
      "dryRunAccessLevels": [
        "accessPolicies/305009197125/accessLevels/another"
      ]
    }
    
    

Memperbarui binding akses

Konsol

Anda dapat memperbarui binding akses sesuai kebutuhan.

gcloud

  • Untuk memperbarui binding akses, misalnya untuk mengubah tingkat akses, jalankan perintah berikut:

      gcloud access-context-manager cloud-bindings update \
         --binding ACCESS_BINDING \
         --level ACCESS_LEVEL
    

    Dengan keterangan:

    • ACCESS_BINDING dalam bentuk organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
    • ORG_ID adalah ID untuk organisasi yang Anda gunakan saat membuat peran GcpAccessAdmin.
    • ACCESS_BINDING_NAME adalah string unik yang ditampilkan untuk ID name saat binding akses dibuat.
    • Ganti nilai untuk ACCESS_LEVEL sesuai kebutuhan. ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.
  • Untuk memperbarui binding akses dengan tingkat akses uji coba, jalankan perintah berikut:

     gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
      --dry-run-level=DRY_RUN_ACCESS_LEVEL
    

    Ganti nilai untuk DRY_RUN_ACCESS_LEVEL sesuai kebutuhan. Formatnya accessPolicies/POLICY_ID/accessLevels/DRY_ACCESS_LEVEL_NAME.

  • Untuk memperbarui binding akses dan mengubah tingkat akses serta tingkat akses uji coba, jalankan perintah berikut:

     gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
     --level=`ACCESS_LEVEL`
     --dry-run-level=DRY_RUN_ACCESS_LEVEL
    

    Ganti nilai untuk ACCESS_LEVEL dan DRY_RUN_ACCESS_LEVEL sesuai kebutuhan. ACCESS_LEVEL dan DRY_RUN_ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME dan DRY_RUN_ACCESS_LEVEL sama dengan ACCESS_LEVEL.

  • Untuk menghapus tingkat akses uji coba dari binding akses, jalankan perintah berikut:

      gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
      --dry-run-level=
    

API

  • Mengupdate binding akses, seperti untuk mengubah tingkat akses:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • ACCESS_BINDING_NAME adalah string unik yang ditampilkan untuk ID name saat binding akses dibuat.
    • ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.

    Metode HTTP dan URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels

    Isi JSON permintaan:

    {
        "accessLevels": [ "ACCESS_LEVEL" ]
    }
    
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    
    {
        "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
        "groupKey": "045jfvxd0ybeul8",
        "accessLevels": [
          "accessPolicies/305009197125/accessLevels/device_lock"
        ]
    }
    
    

  • Perbarui binding akses dengan tingkat akses uji coba:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • ACCESS_BINDING_NAME adalah string unik yang ditampilkan untuk ID name saat binding akses dibuat.
    • DRY_RUN_ACCESS_LEVEL adalah ACCESS_LEVEL yang ingin Anda pahami efeknya. ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.

    Metode HTTP dan URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels

    Isi JSON permintaan:

    {
      "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
    }
    
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    
    {
      name: "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
    
      group_key: "045jfvxd0ybeul8",
    
      dry_run_access_levels: [ "accessPolicies/305009197125/accessLevels/another" ]
      }
    
    

  • Perbarui binding akses dan ubah tingkat akses serta tingkat akses uji coba:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • ACCESS_BINDING_NAME adalah string unik yang ditampilkan untuk ID name saat binding akses dibuat.
    • ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.
    • DRY_RUN_ACCESS_LEVEL adalah ACCESS_LEVEL yang ingin Anda pahami efeknya. ACCESS_LEVEL dalam bentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Nilai untuk POLICY_ID dan ACCESS_LEVEL_NAME dapat ditemukan di Access Context Manager dari saat Anda membuat tingkat akses.

    Metode HTTP dan URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels

    Isi JSON permintaan:

    {
      "accessLevels": [ "ACCESS_LEVEL" ],
      "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
     }
    
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels" | Select-Object -Expand Content

    Anda akan melihat respons JSON seperti berikut:

    
    {
      "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
      "groupKey": "045jfvxd0ybeul8",
      "accessLevels": [
        "accessPolicies/305009197125/accessLevels/device_lock"
      ],
      "dryRunAccessLevels": [
        "accessPolicies/305009197125/accessLevels/another"
      ]
    }
    
    

  • Untuk menghapus tingkat akses uji coba dari binding akses:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • ACCESS_BINDING_NAME adalah string unik yang ditampilkan untuk ID name saat binding akses dibuat.

    Metode HTTP dan URL:

    PATCH PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels

    Isi JSON permintaan:

    {
      "dryRunAccessLevels": [ ]
    }
    
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand Content

    Anda akan menerima kode status yang berhasil (2xx), serta respons yang kosong.

Menghapus binding akses

Konsol

Anda dapat menghapus binding akses kapan pun diperlukan.

gcloud

   gcloud access-context-manager cloud-bindings delete \
       --binding ACCESS_BINDING

Dengan keterangan:

  • ACCESS_BINDING dalam bentuk organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
  • ACCESS_BINDING_NAME adalah string unik yang ditampilkan untuk ID name saat binding akses dibuat.

API

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • ACCESS_BINDING_NAME adalah string unik yang ditampilkan untuk ID name saat binding akses dibuat.

Metode HTTP dan URL:

DELETE https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME" | Select-Object -Expand Content

Anda akan menerima kode status yang berhasil (2xx), serta respons yang kosong.

Pertanyaan umum (FAQ)

  • Berapa lama waktu yang diperlukan hingga binding akses yang baru dibuat berlaku?

    Proses ini mungkin memerlukan waktu hingga 24 jam.

  • Apa yang terjadi jika saya menghapus grup yang memiliki binding akses?

    Grup dan binding akan dihapus dan semua pengguna dalam grup tersebut diizinkan akses.

  • Apa yang terjadi jika saya menghapus tingkat akses yang digunakan dalam access binding?

    Tingkat akses tidak akan dapat dipenuhi dan semua pengguna grup terikat ditolak akses.

  • Apa yang terjadi jika pengguna berada di beberapa grup yang memiliki binding akses?

    Pengguna hanya perlu memenuhi tingkat akses salah satu grup tersebut untuk mendapatkan akses.

  • Bagaimana dengan pengguna yang bukan bagian dari organisasi saya?

    Siapa pun yang bukan bagian dari organisasi Anda, meskipun Anda telah menambahkannya ke grup pengguna yang harus terikat oleh pembatasan kontekstual, tidak tunduk pada binding akses.

Langkah selanjutnya