Mengelola binding akses

Halaman ini menjelaskan cara mengelola binding akses yang ada, yang menentukan cara kebijakan akses diterapkan ke grup pengguna Anda. Anda dapat melihat, mengubah, dan menghapus pengikatan ini sesuai kebutuhan. Binding akses menentukan cara tingkat akses dan kontrol sesi diterapkan ke grup pengguna.

Untuk mengetahui informasi tentang cara membuat binding akses dan detail selengkapnya tentang tingkat akses dan kontrol sesi, lihat Menerapkan kebijakan ke grup pengguna dengan binding akses.

Melihat binding akses

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

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

Konsol

  1. Di konsol Google Cloud , buka halaman Access Context Manager.

    Buka Access Context Manager

  2. Jika Anda diminta, pilih project. Daftar binding akses tercantum di halaman Access Context Manager.

gcloud

  • Untuk melihat semua binding akses, jalankan perintah berikut:

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

    ORG_ID: ID organisasi Anda. Jika properti access-context-manager/organization belum ditetapkan, ganti ORG_ID di flag --organization opsional dengan ID 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
    

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

API

  • Melihat semua binding akses:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • ORG_ID adalah ID 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 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

Anda dapat memperbarui binding akses untuk melakukan hal berikut:

  • Menambahkan, menghapus, atau mengubah aplikasi yang memiliki kebijakan.
  • Ubah tingkat akses untuk aplikasi dalam grup pengguna.
  • Tambahkan tingkat akses uji coba baru atau promosikan tingkat akses yang ada ke tingkat aktif.

Konsol

  1. Di konsol Google Cloud , buka halaman Access Context Manager.

    Buka Access Context Manager

  2. Jika Anda diminta, pilih project.

  3. Di halaman Access Context Manager, pilih binding akses, lalu klik Edit untuk memperbaruinya.

Anda tidak dapat memperbarui binding akses dengan tingkat akses uji coba atau kontrol sesi di konsol Google Cloud .

gcloud

  1. Buat file pengikatan YAML.

    gcloud access-context-manager cloud-bindings update
      --binding ACCESS_BINDING
      --binding-file BINDING_FILE_PATH
    [  --level DEFAULT_ACCESS_LEVEL ]
    [  --dry-run-level DEFAULT_DRY_RUN_ACCESS_LEVEL           ]
    [  --session-length=DEFAULT_SESSION_LENGTH                ]
    [  --session-reauth-method=DEFAULT_SESSION_REAUTH_METHOD  ]
    

    Ganti kode berikut:

    • ACCESS_BINDING dalam bentuk organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
    • BINDING_FILE_PATH: Jalur ke file YAML yang berisi skema binding akses. File pengikatan hanya mendukung scopedAccessSettings.
    • DEFAULT_ACCESS_LEVEL: Nama tingkat akses opsional, yang berbentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Ganti POLICY_ID dengan ID kebijakan akses, dan ACCESS_LEVEL_NAME dengan nama tingkat akses.
    • DEFAULT_DRY_RUN_ACCESS_LEVEL_2: Nama tingkat akses opsional dalam bentuk `accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME`. Sertakan tanda ini untuk menerapkan tingkat akses uji coba yang ditentukan ke semua aplikasi secara default jika tidak ditentukan dalam YAML.
    • DEFAULT_SESSION_LENGTH: Durasi sesi opsional menggunakan format durasi ISO 8601, seperti 30m untuk 30 menit, atau 2h untuk dua jam.
    • DEFAULT_SESSION_REAUTH_METHOD: Metode opsional untuk menantang pengguna agar memverifikasi ulang identitas mereka, yang harus berupa salah satu dari berikut ini:
      • LOGIN: Terapkan login standar, yang dapat mencakup MFA atau faktor lain yang ditentukan Workspace.
      • PASSWORD: Hanya memerlukan sandi, meskipun faktor lain ditentukan. Jika sandi dikelola menggunakan IdP eksternal, pengguna akan dialihkan ke IdP. Jika sesi IdP aktif, pengguna akan diautentikasi ulang secara implisit. Jika IdP tidak aktif, pengguna harus login melalui IdP.
      • SECURITY_KEY: Memerlukan kunci keamanan hardware.

    Cara kerja argumen --level dan --binding-file

    • Jika Anda hanya menggunakan --binding-file, hanya aplikasi dalam file yang menerapkan kebijakan.
    • Jika Anda hanya menggunakan --level, tingkat akses berlaku untuk semua aplikasi.
    • Jika Anda menggunakan keduanya, aturan akan digabungkan. Nilai --level berlaku untuk semua aplikasi, sedangkan kebijakan dalam file YAML yang ditentukan oleh --binding-file hanya berlaku untuk aplikasi seperti yang ditentukan dalam file.

    Bekerja dengan kontrol sesi

    • Untuk menyetel kontrol sesi default untuk semua aplikasi, gunakan --session-length dan --session-reauth-method.
    • Jika Anda juga menentukan kontrol sesi dalam file YAML, kontrol sesi tersebut akan menggantikan setelan default untuk aplikasi tertentu tersebut.
    • Anda harus menggunakan --session-length dan --session-reauth-method bersama-sama.

    Untuk menghapus tingkat akses default atau tingkat akses uji coba default, berikan string kosong, seperti --level= atau --dry-run-level=. Jika argumen ini tidak diberikan, perintah update tidak akan membuat perubahan apa pun.

    Untuk menghapus kontrol sesi, tetapkan --session-length=0.

API

  1. Buat isi JSON.

    {
      "accessLevels": [
        "DEFAULT_ACCESS_LEVEL"
      ],
      "scopedAccessSettings": [
        {
          "scope": {
            "clientScope": {
              "restrictedClientApplication": {
                "clientId": "CLIENT_ID"
              }
            }
          },
          "activeSettings": {
            "accessLevels": [
              "ACCESS_LEVEL_A"
            ],
            "sessionSettings": [
              {
                "sessionLength": "SESSION_LENGTH",
                "sessionReauthMethod": "SESSION_REAUTH_METHOD",
                "sessionLengthEnabled": true
              }
            ]
        }
        },
        {
          "scope": {
            "clientScope": {
              "restrictedClientApplication": {
                "name": "CLIENT_NAME"
              }
            },
            "activeSettings": {
              "accessLevels": [
                "ACCESS_LEVEL_C"
              ]
            }
          }
        }
      ]
    }
    

    Ganti kode berikut:

    • DEFAULT_ACCESS_LEVEL: Nama tingkat akses opsional, yang berbentuk accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Ganti POLICY_ID dengan ID kebijakan akses, dan ACCESS_LEVEL_NAME dengan nama tingkat akses.
    • CLIENT_ID: ID klien OAuth. Anda harus menggunakan clientId saat aplikasi berisi sessionSettings.
    • ACCESS_LEVEL_A: Nama tingkat akses dalam format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.
    • SESSION_LENGTH: Durasi sesi menggunakan format durasi ISO 8601, seperti 30m untuk 30 menit, atau 2h untuk dua jam.
    • SESSION_REAUTH_METHOD: Metode opsional untuk menantang pengguna agar memverifikasi ulang identitas mereka, yang harus berupa salah satu dari berikut ini:

      • LOGIN: Terapkan login standar, yang dapat mencakup MFA atau faktor lain yang ditentukan Workspace.
      • PASSWORD: Hanya memerlukan sandi, meskipun faktor lain ditentukan. Jika sandi dikelola menggunakan IdP eksternal, pengguna akan dialihkan ke IdP. Jika sesi IdP aktif, pengguna akan diautentikasi ulang secara implisit. Jika IdP tidak aktif, pengguna harus login melalui IdP.
      • SECURITY_KEY: Memerlukan kunci keamanan hardware.
    • CLIENT_NAME: Nama klien. Jika aplikasi berisi sessionSettings, Anda tidak dapat menggunakan nama klien. Sebagai gantinya, gunakan ID klien OAuth.

    • ACCESS_LEVEL_C: Nama tingkat akses dalam format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.

  2. Kirim permintaan PATCH.

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING?fieldMask=FIELDMASK
    

    Ganti kode berikut:

    • ACCESS_BINDING dalam bentuk organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
    • FIELD_MASK: Daftar kolom yang dipisahkan koma dan wajib diisi yang ingin Anda perbarui. Bagian ini memberi tahu API bagian mana dari binding akses yang akan diubah.

    fieldMask harus berisi kunci JSON tingkat teratas dalam isi permintaan yang ingin Anda perbarui, yang dapat berisi accessLevels, dryRunAccessLevels, dan scopedAccessSettings.

    Jika berhasil, Anda akan menerima representasi objek JSON. Jika ada masalah, Anda akan menerima pesan error.

Menghapus binding akses

Konsol

  1. Di konsol Google Cloud , buka halaman Access Context Manager.

    Buka Access Context Manager

  2. Jika Anda diminta, pilih project.

  3. Di halaman Access Context Manager, pilih binding akses, lalu klik Hapus.

gcloud

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

Ganti kode berikut:

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