Membuat perubahan massal pada perimeter layanan

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 operasi massal berhasil.

Topik ini hanya menjelaskan penggantian perimeter layanan secara massal. Untuk mengetahui informasi selengkapnya tentang penggantian massal tingkat akses, lihat dokumentasi Access Context Manager.

Sebelum memulai

Karena operasi massal memengaruhi semua perimeter layanan untuk organisasi, Anda dapat memperoleh daftar lengkap perimeter. Anda juga dapat memformat daftar ini sebagai YAML dan menggunakannya untuk membuat perubahan massal pada perimeter Anda.

Untuk mendapatkan daftar perimeter layanan berformat, lihat Menampilkan daftar perimeter layanan (diformat).

Mengganti perimeter layanan secara massal

Bagian berikut menjelaskan cara mengganti perimeter layanan Anda secara massal.

gcloud

Untuk mengganti semua perimeter layanan secara massal, gunakan perintah replace-all.

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

Dengan keterangan:

  • FILE adalah nama file .yaml yang menentukan setelan baru untuk perimeter layanan yang ada.

    Contoh:

    - name: accessPolicies/11271009391/servicePerimeters/storage_perimeter
      title: Storage Perimeter
      description: Perimeter to protect Storage resources.
      perimeterType: PERIMETER_TYPE_REGULAR
      status:
        restrictedServices:
        - storage.googleapis.com
    - name: accessPolicies/11271009391/servicePerimeters/bigquery_perimeter
      title: BigQuery Perimeter
      description: Perimeter to protect BigQuery resources.
      perimeterType: PERIMETER_TYPE_REGULAR
      status:
        restrictedServices:
        - bigquery.googleapis.com
    

    Untuk mengetahui informasi selengkapnya tentang cara memformat file YAML, lihat struktur JSON untuk objek ServicePerimeterConfig Access Context Manager.

  • 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 perimeter layanan secara massal, panggil servicePerimeters.replaceAll.

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

Dengan keterangan:

  • POLICY_NAME adalah nama kebijakan akses organisasi Anda.

Isi permintaan

Isi permintaan harus menyertakan daftar objek ServicePerimeterConfig 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:

{
  "servicePerimeters": [
    object (ServicePerimeterConfig),
    object (ServicePerimeterConfig),
    ...
  ]
  "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/replacePerimeters/1583523447707087",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.ReplaceServicePerimetersResponse",
    "servicePerimeters": [
      {
        "name": "accessPolicies/11271009391/servicePerimeters/storage_perimeter",
        "title": "Storage Perimeter",
        "description": "Perimeter to protect Storage resources.",
        "status": {
          "accessLevels": [
            "accessPolicies/11271009391/accessLevels/corpnet_access"
          ],
          "restrictedServices": [
            "bigtable.googleapis.com"
          ]
        }
      },
      {
        "name": "accessPolicies/11271009391/servicePerimeters/storage_perimeter",
        "title": "BigQuery Perimeter",
        "description": "Perimeter to protect BigQuery resources.",
        "status": {
          "accessLevels": [
            "accessPolicies/11271009391/accessLevels/prodnet_access"
          ],
          "restrictedServices": [
            "bigtable.googleapis.com"
          ]
        }
      }
    ]
  }
}