Mengelola tingkat akses

Halaman ini menjelaskan cara mengelola tingkat akses yang ada. Anda dapat:

Sebelum memulai

  • Tetapkan kebijakan akses default Anda untuk menggunakan Google Cloud CLI.

    -atau-

    Dapatkan nama kebijakan Anda. Nama kebijakan diperlukan untuk perintah yang menggunakan gcloud CLI dan melakukan panggilan API. Jika Anda menetapkan kebijakan akses default, Anda tidak perlu menentukan kebijakan untuk gcloud CLI.

  • Pastikan Anda memiliki peran Identity and Access Management (IAM) di tingkat organisasi yang memungkinkan Anda mengelola tingkat akses. Minta administrator untuk memberi Anda salah satu peran berikut, atau peran khusus dengan izin yang sama:

Mencantumkan tingkat akses

Konsol

Untuk mencantumkan semua tingkat akses, buka halaman Access Context Manager di konsol Google Cloud , lalu, jika diminta, pilih organisasi Anda. Halaman ini menampilkan tingkat akses organisasi Anda dalam petak, termasuk detail tentang konfigurasi setiap tingkat akses.

Buka halaman Access Context Manager

gcloud

Untuk mencantumkan semua tingkat akses, gunakan perintah list.

gcloud access-context-manager levels list \
  [--policy=POLICY_NAME]

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan akses organisasi Anda. Nilai ini hanya diperlukan jika Anda belum menetapkan kebijakan akses default.

Outputnya mirip dengan hal berikut ini:

NAME             TITLE                  LEVEL_TYPE
Device_Trust     Device_Trust Extended  Basic
Service_Group_A  Service_Group_A        Basic

API

Untuk mencantumkan semua tingkat akses untuk kebijakan, panggil accessLevels.list.

GET https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan akses organisasi Anda.

Isi permintaan

Isi permintaan harus kosong.

Parameter opsional

Jika ingin, sertakan satu atau beberapa parameter kueri berikut.

Parameter
pageSize

number

Secara default, daftar tingkat akses yang ditampilkan oleh accessLevels.list diberi nomor halaman. Setiap halaman dibatasi hingga 100 tingkat akses.

Anda dapat menggunakan parameter ini untuk mengubah jumlah tingkat akses yang ditampilkan per halaman.

pageToken

string

Jika jumlah tingkat akses yang ditampilkan oleh panggilan Anda melebihi ukuran halaman, isi respons akan menyertakan token halaman.

Anda dapat menggunakan parameter ini dalam panggilan berikutnya untuk mendapatkan halaman hasil berikutnya.

accessLevelFormat

enum(LevelFormat)

Biasanya, tingkat akses ditampilkan sebagaimana ditentukan, baik sebagai BasicLevel atau CustomLevel.

Anda dapat menentukan nilai CEL untuk parameter ini guna menampilkan BasicLevels sebagai CustomLevels dalam Cloud Common Expression Language.

Isi respons

Jika berhasil, isi respons untuk panggilan berisi objek AccessLevels yang mencantumkan tingkat akses, dan string nextPageToken. nextPageToken hanya memiliki nilai jika jumlah tingkat akses yang ditampilkan melebihi ukuran halaman. Jika tidak, nextPageToken akan ditampilkan sebagai string kosong.

Mencantumkan tingkat akses (diformat)

Dengan menggunakan gcloud CLI, Anda dapat memperoleh daftar tingkat akses dalam format YAML atau JSON.

Untuk mendapatkan daftar tingkat akses yang diformat, gunakan perintah list.

gcloud access-context-manager levels list \
  --format=FORMAT \
  [--policy=POLICY_NAME]

Ganti kode berikut:

  • FORMAT: salah satu nilai berikut:

    • list (format YAML)

    • json (format JSON)

  • POLICY_NAME: nama kebijakan akses organisasi Anda. Nilai ini hanya diperlukan jika Anda belum menetapkan kebijakan akses default.

Output YAML mirip dengan berikut ini:

- basic: {'conditions': [{'ipSubnetworks': ['192.0.2.0/24']}]}
  description: Level for corp access.
  name: accessPolicies/123456789012/accessLevels/corp_level
  title: Corp Level
- basic: {'combiningFunction': 'OR', 'conditions': [{'ipSubnetworks': ['192.0.2.0/24']}]}
  description: Level for net access.
  name: accessPolicies/123456789012/accessLevels/net_level
  title: Net Level

Output JSON akan mirip dengan berikut ini:

[
  {
    "basic": {
      "conditions": [
        {
          "ipSubnetworks": [
            "192.0.2.0/24"
          ]
        }
      ]
    },
    "description": "Level for corp access.",
    "name": "accessPolicies/123456789012/accessLevels/corp_level",
    "title": "Corp Level"
  },
  {
    "basic": {
      "combiningFunction": "OR",
      "conditions": [
        {
          "ipSubnetworks": [
            "192.0.2.0/24"
          ]
        }
      ]
    },
    "description": "Level for net access.",
    "name": "accessPolicies/123456789012/accessLevels/net_level",
    "title": "Net Level"
  }
]

Menjelaskan tingkat akses

Konsol

Dengan menggunakan konsol Google Cloud , lihat langkah-langkah untuk mencantumkan tingkat akses. Saat Anda mencantumkan tingkat akses, detailnya akan diberikan dalam petak yang muncul.

gcloud

Mencantumkan tingkat akses hanya memberikan nama, judul, dan jenis tingkatnya. Untuk mendapatkan informasi mendetail tentang fungsi sebenarnya dari suatu level, gunakan perintah describe.

gcloud access-context-manager levels describe LEVEL_NAME \
    [--policy=POLICY_NAME]

Ganti kode berikut:

  • LEVEL_NAME: nama tingkat akses yang ingin Anda deskripsikan.

  • POLICY_NAME: nama kebijakan akses organisasi Anda. Nilai ini hanya diperlukan jika Anda belum menetapkan kebijakan akses default.

Perintah ini mencetak informasi tentang level yang diformat sebagai YAML. Misalnya, jika tingkat membatasi akses ke versi sistem operasi tertentu, output-nya akan mirip dengan berikut ini:

basic:
  conditions:
  - devicePolicy:
      allowedEncryptionStatuses:
      - ENCRYPTED
      osConstraints:
      - minimumVersion: 10.13.6
        osType: DESKTOP_MAC
      - minimumVersion: 10.0.18219
        osType: DESKTOP_WINDOWS
      - minimumVersion: 68.0.3440
        osType: DESKTOP_CHROME_OS
      requireScreenlock: true
name: accessPolicies/123456789012/accessLevels/Device_Trust
title: Device_Trust Extended

API

Mencantumkan tingkat akses hanya memberikan nama, judul, dan jenis tingkat. Untuk mendapatkan informasi mendetail tentang tingkat akses, panggil accessLevels.get.

GET https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan akses organisasi Anda.

  • LEVEL_NAME: nama tingkat akses yang ingin Anda deskripsikan.

Isi permintaan

Isi permintaan harus kosong.

Parameter opsional

Secara opsional, sertakan parameter kueri accessLevelFormat. Biasanya, tingkat akses ditampilkan seperti yang ditentukan, baik sebagai BasicLevel atau CustomLevel.

Anda dapat menentukan nilai CEL untuk parameter ini guna menampilkan BasicLevels sebagai CustomLevels dalam Cloud Common Expression Language.

Isi respons

Jika berhasil, isi respons untuk panggilan berisi resource AccessLevel yang menyertakan detail tentang fungsi tingkat akses, waktu terakhir tingkat diperbarui, dan lainnya.

Memperbarui tingkat akses

Bagian ini menjelaskan cara memperbarui tingkat akses satu per satu. Untuk memperbarui semua tingkat akses organisasi Anda dalam satu operasi, lihat Melakukan perubahan massal pada tingkat akses.

Konsol

Untuk memperbarui tingkat akses:

  1. Buka halaman Access Context Manager di konsol Google Cloud .

    Buka halaman Access Context Manager

  2. Jika diminta, pilih organisasi Anda.

  3. Di petak, klik nama tingkat akses yang ingin Anda perbarui.

  4. Di panel Edit Access Level, buat perubahan pada tingkat akses.

    Untuk mengetahui daftar lengkap atribut yang dapat Anda tambahkan atau ubah, baca tentang atribut tingkat akses.

  5. Klik Simpan.

    Selain memperbarui atau menghapus kondisi yang ada, Anda dapat menambahkan kondisi baru dan menambahkan atribut baru ke kondisi yang ada.

gcloud

Gunakan perintah update untuk memperbarui tingkat akses.

Tingkat akses dasar:

gcloud access-context-manager levels update LEVEL_NAME \
    --basic-level-spec=FILE \
    [--policy=POLICY_NAME]

Tingkat akses kustom:

gcloud access-context-manager levels update LEVEL_NAME \
    --custom-level-spec=FILE \
    [--policy=POLICY_NAME]

Ganti kode berikut:

  • LEVEL_NAME: nama tingkat akses yang ingin Anda perbarui.

  • FILE: nama file YAML yang menentukan kondisi untuk tingkat akses (untuk tingkat akses dasar) atau ekspresi CEL yang di-resolve ke satu nilai boolean (untuk tingkat akses kustom).

    Untuk mengetahui daftar lengkap atribut yang dapat Anda gunakan dalam kondisi tingkat akses dasar, baca atribut tingkat akses.

  • POLICY_NAME: nama kebijakan akses organisasi Anda. Nilai ini hanya diperlukan jika Anda belum menetapkan kebijakan akses default.

  • Anda dapat menyertakan satu atau beberapa opsi berikut.

    Opsi
    combine-function

    Opsi ini hanya digunakan untuk tingkat akses dasar.

    Menentukan cara penggabungan kondisi.

    Nilai yang valid: AND, OR

    description

    Deskripsi panjang tingkat akses.

    title

    Judul singkat untuk tingkat akses. Judul tingkat akses ditampilkan di konsol Google Cloud .

    Anda dapat menyertakan salah satu flag gcloud-wide.

Contoh perintah

gcloud access-context-manager levels update Device_Trust \
    --basic-level-spec=corpdevspec.yaml \
    --combine-function=OR \
    --description='Access level that conforms to updated corporate spec.' \
    --title='Device_Trust Extended' \
    --policy=123456789012

API

Untuk memperbarui tingkat akses, panggil accessLevels.patch.

PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME?updateMask=FIELDS

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan akses organisasi Anda.

  • LEVEL_NAME: nama tingkat akses yang ingin Anda perbarui.

  • FIELDS: daftar yang dipisahkan koma dari nama kolom yang sepenuhnya memenuhi syarat yang Anda perbarui.

Isi permintaan

Isi permintaan harus menyertakan resource AccessLevel yang menentukan perubahan yang ingin Anda lakukan pada tingkat akses.

Isi respons

Jika berhasil, isi respons untuk panggilan berisi resource Operation yang memberikan detail tentang operasi patch.

Menghapus tingkat akses

Bagian ini menjelaskan cara menghapus tingkat akses Access Context Manager. Menghapus tingkat akses adalah proses dua langkah:

  1. Periksa dependensi tingkat akses.

  2. Menghapus tingkat akses satu per satu.

Memeriksa dependensi tingkat akses

Sebelum menghapus tingkat akses, pastikan tingkat akses tersebut tidak dirujuk oleh tingkat akses lain, perimeter layanan Kontrol Layanan VPC, kebijakan Akses Kontekstual Google Workspace, binding aksesGoogle Cloud , atau kondisi IAM.

Untuk menemukan semua tingkat akses yang merujuk ke tingkat akses yang ingin Anda hapus, lakukan hal berikut:

  1. Pastikan Anda telah menginstal jq. Untuk memverifikasi bahwa jq telah diinstal, jalankan jq --version. Jika perlu, instal jq.

  2. Periksa dependensi tingkat akses. Perintah ini mencantumkan semua tingkat akses, lalu menggunakan jq untuk memfilter tingkat akses yang mereferensikan LEVEL_NAME dalam definisi tingkat dasar atau kustom.

    echo "Searching for Access Levels referencing: accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME"
    echo ""
    
    gcloud access-context-manager levels list \
      --policy="POLICY_NAME" \
      --format=json | \
    jq -r '
      .[] |
      select(
        # Check basic levels: Is the target access level present as an element in any requiredAccessLevels array?
        ([(.basic.conditions // [])[] | (.requiredAccessLevels // []) | index("accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME") != null] | any)
        or
        # Check custom levels: Does the expression string contain the target access level?
        ((.custom.expr.expression // "") | (contains("accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME") or contains("levels.LEVEL_NAME")))
      ) |
      "  - \(.title) (Name: \(.name))"
    '
    
    echo ""
    echo "If any levels are listed, they reference LEVEL_NAME. You must update these referencing levels before you delete LEVEL_NAME."

    Ganti kode berikut:

    • POLICY_NAME: nama kebijakan akses organisasi Anda. Nilai ini hanya diperlukan jika Anda belum menetapkan kebijakan akses default.

    • LEVEL_NAME: nama tingkat akses yang ingin Anda hapus—misalnya, my_level.

    Dalam output, setiap tingkat akses yang merujuk ke accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME atau levels.LEVEL_NAME akan dicantumkan, beserta title dan name-nya. Tingkat akses ini mencakup:

    • Level dasar, tempat accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME tercantum di requiredAccessLevels

    • Tingkat kustom, dengan accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME atau levels.LEVEL_NAME tercantum dalam string custom.expr.expression.

  3. Jika perintah mencantumkan tingkat akses yang merujuk, Anda harus memperbarui tingkat tersebut terlebih dahulu untuk menghapus dependensi. Untuk mengetahui petunjuknya, lihat Memperbarui tingkat akses.

Setelah semua referensi dihapus, Anda dapat melanjutkan dengan menghapus tingkat akses individual.

Menghapus tingkat akses satu per satu

Konsol

Untuk menghapus tingkat akses:

  1. Buka halaman Access Context Manager di konsol Google Cloud .

    Buka halaman Access Context Manager

  2. Jika diminta, pilih organisasi Anda.

  3. Di petak, pada baris untuk tingkat akses yang ingin Anda hapus, klik tombol .

  4. Klik Hapus.

  5. Pada dialog yang muncul, konfirmasi bahwa Anda ingin menghapus tingkat akses.

gcloud

Untuk menghapus tingkat akses:

  1. Gunakan perintah delete untuk menghapus tingkat akses.

    gcloud access-context-manager levels delete LEVEL_NAME \
        [--policy=POLICY_NAME]

    Ganti kode berikut:

    • LEVEL_NAME: nama tingkat akses yang ingin Anda hapus.

    • POLICY_NAME: nama kebijakan akses organisasi Anda. Nilai ini hanya diperlukan jika Anda belum menetapkan kebijakan akses default.

  2. Konfirmasi bahwa Anda ingin menghapus tingkat akses.

    Contoh:

    You are about to delete level Device_Trust
    
    Do you want to continue (Y/n)?
    

    Anda akan melihat output yang mirip dengan yang berikut:

    Waiting for operation [accessPolicies/123456789012/accessLevels/Device_Trust/delete/1531171874311645] to complete...done.
    Deleted level [Device_Trust].
    

API

Untuk menghapus tingkat akses, panggil accessLevels.delete.

DELETE https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan akses organisasi Anda.

  • LEVEL_NAME: nama tingkat akses yang ingin Anda hapus.

Isi permintaan

Isi permintaan harus kosong.

Isi respons

Jika berhasil, isi respons untuk panggilan berisi resource Operation yang memberikan detail tentang operasi penghapusan.