Dengan Access Context Manager, Anda dapat melakukan pembaruan massal pada resource yang termasuk dalam kebijakan akses organisasi, seperti tingkat akses dan perimeter layanan. Perubahan pada resource Anda hanya 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.
Mendapatkan daftar perimeter layanan
Karena operasi massal memengaruhi semua perimeter layanan untuk organisasi Anda, Anda dapat memperoleh daftar lengkap perimeter. Selain itu, Anda dapat memformat daftar ini sebagai YAML dan menggunakannya untuk membuat perubahan massal pada perimeter.
Untuk mendapatkan daftar perimeter layanan yang diformat, lihat Mencantumkan perimeter layanan (diformat).
Saat mengganti semua konfigurasi perimeter layanan dengan perintah replace-all
, Anda tidak boleh menetapkan kolom etag
dalam perimeter. Etag kemungkinan akan berubah antara pengambilan dan pembaruan perimeter, sehingga menyebabkan perintah replace-all
menampilkan error ketidakcocokan etag. Namun, Anda dapat
menetapkan etag
untuk seluruh permintaan replace-all
dengan parameter --etag
tingkat teratas jika ingin menerapkan pemeriksaan etag.
Daripada menghapus setiap properti etag
dalam
perimeter secara manual, Anda dapat mengambil perimeter tanpa properti etag
dengan menentukan
--format
dengan semua kolom kecuali etag
.
gcloud access-context-manager perimeters list \ --policy=POLICY_NAME \ --format="json(name,title,description,perimeterType,status,spec,useExplicitDryRunSpec)"
Mengganti perimeter layanan secara massal
Bagian berikut menjelaskan cara mengganti perimeter layanan secara massal.
gcloud
Untuk mengganti semua perimeter layanan secara massal, gunakan
perintah replace-all
.
gcloud access-context-manager perimeters replace-all POLICY_NAME \ --source-file=FILE \ --etag=ETAG \
Dengan keterangan:
POLICY_NAME adalah nama kebijakan akses organisasi Anda. Nilai ini hanya diperlukan jika Anda belum menetapkan kebijakan akses default.
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 informasi selengkapnya tentang cara memformat file YAML, lihat struktur JSON objek
ServicePerimeterConfig
Access Context Manager.ETAG (opsional) adalah string yang mewakili versi target kebijakan akses organisasi Anda. Jika Anda tidak menyertakan tag, operasi massal akan menargetkan versi terbaru kebijakan akses organisasi Anda.
Untuk mendapatkan etag terbaru kebijakan akses Anda,
list
kebijakan akses Anda.
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, untuk menargetkan versi kebijakan akses organisasi Anda tertentu, Anda dapat menyertakan etag. Jika Anda tidak menyertakan etag, 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 akan berisi resource Operation
yang memberikan detail tentang operasi pasca.
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"
]
}
}
]
}
}