Membuat perubahan massal pada tingkat akses

Dengan Access Context Manager, Anda dapat membuat update massal pada resource yang termasuk dalam kebijakan akses organisasi, seperti tingkat akses dan perimeter layanan.

Perubahan pada resource Anda hanya akan diterapkan jika semua bagian dari operasi massal berhasil. Misalnya, jika operasi massal Anda mencoba menghapus tingkat akses yang digunakan oleh perimeter layanan, error akan muncul. Karena terjadi error, seluruh operasi akan gagal dan tidak ada resource yang diupdate.

Topik ini hanya menjelaskan penggantian tingkat akses secara massal. Untuk mengetahui informasi selengkapnya tentang penggantian massal perimeter layanan, lihat dokumentasi Kontrol Layanan VPC.

Sebelum memulai

Karena operasi massal memengaruhi semua tingkat akses untuk organisasi, sebaiknya dapatkan daftar lengkap tingkat akses Anda. Daftar ini dapat diformat sebagai YAML, yang juga dapat mempermudah perubahan massal pada tingkat akses Anda.

Untuk mendapatkan daftar tingkat akses yang telah diformat, lihat Mencantumkan tingkat akses (diformat).

Mengganti tingkat akses secara massal

Bagian berikut menjelaskan cara mengganti tingkat akses Anda secara massal.

gcloud

Untuk mengganti semua tingkat akses secara massal, gunakan perintah replace-all.

gcloud access-context-manager levels replace-all \
  --source-file=FILE \
  --etag=ETAG \
  [--policy=POLICY_NAME]

Dengan keterangan:

  • FILE adalah nama file .yaml yang menentukan kondisi baru untuk tingkat akses yang ada.

    Contoh:

    - name: accessPolicies/11271009391/accessLevels/corpnet_access
      title: Corpnet Access
      description: Permit access to corpnet.
      basic:
        combiningFunction: AND
        conditions:
          - ipSubnetworks:
            - 252.0.2.0/24
            - 2001:db8::/32
    - name: accessPolicies/11271009391/accessLevels/prodnet_access
      title: Prodnet Access
      description: Permit access to prodnet.
      basic:
        combiningFunction: OR
        conditions:
          - members:
            - user:exampleuser@example.com
            - serviceAccount:exampleaccount@example.iam.gserviceaccount.com
          - ipSubnetworks:
            - 176.0.2.0/24
    

    Untuk mengetahui contoh struktur kondisi YAML, lihat contoh file YAML.

  • ETAG (opsional) adalah string yang mewakili versi target kebijakan akses organisasi Anda. Jika Anda tidak menyertakan etag, operasi massal akan menargetkan versi terbaru kebijakan akses organisasi Anda.

    Untuk mendapatkan etag terbaru dari kebijakan akses Anda, list kebijakan akses Anda.

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

API

Untuk mengganti semua tingkat akses secara massal, panggil accessLevels.replaceAll.

POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels.replaceAll?alt=json

Dengan keterangan:

  • POLICY_NAME adalah nama kebijakan akses organisasi Anda.

Isi permintaan

Isi permintaan harus menyertakan daftar objek AccessLevel yang menentukan perubahan yang ingin Anda buat.

Secara opsional, Anda dapat menyertakan etag untuk menargetkan versi tertentu kebijakan akses organisasi. Jika etag tidak disertakan, operasi massal akan menargetkan versi terbaru kebijakan akses organisasi Anda.

Contoh:

{
  "accessLevels": [
    object (AccessLevel),
    object (AccessLevel),
    ...
  ]
  "etag": string
}

Isi respons

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

Contoh respons:

{
  "name": "operations/accessPolicies/11271009391/replaceLevels/1583523446234255",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.ReplaceAccessLevelsResponse",
    "accessLevels": [
      {
        "name": "accessPolicies/11271009391/accessLevels/corpnet_access",
        "title": "Corpnet access",
        "description": "Permit access to corpnet.",
        "basic": {
          "conditions": [
            {
              "ipSubnetworks": [
                "252.0.2.0/24"
              ]
            }
          ]
        }
      },
      {
        "name": "accessPolicies/11271009391/accessLevels/prodnet_access",
        "title": "Prodnet access",
        "description": "Permit access to prodnet.",
        "basic": {
          "conditions": [
            {
              "ipSubnetworks": [
                "176.0.2.0/24"
              ]
            }
          ]
        }
      }
    ]
  }
}