Dengan Access Context Manager, Anda dapat melakukan update massal pada resource yang termasuk dalam kebijakan akses organisasi Anda, 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 tingkat akses secara massal, 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 Anda. Selain itu, Anda dapat memformat daftar ini sebagai YAML dan menggunakannya untuk melakukan perubahan massal pada perimeter Anda.
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 secara manual dalam
perimeter, 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 Anda 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:
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.comUntuk mengetahui informasi selengkapnya tentang cara memformat file YAML, lihat struktur JSON objek
ServicePerimeterConfigAccess Context Manager.ETAG (opsional) adalah string yang merepresentasikan 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 kebijakan akses Anda,
listkebijakan 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:
- POLICY_NAME adalah nama kebijakan akses organisasi Anda.
Isi permintaan
Isi permintaan harus menyertakan daftar objek
ServicePerimeterConfig yang menentukan
perubahan yang ingin Anda lakukan.
Secara opsional, untuk menargetkan versi tertentu dari kebijakan akses organisasi, Anda dapat menyertakan etag. Jika Anda tidak menyertakan etag, operasi massal akan menargetkan versi terbaru dari 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
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"
]
}
}
]
}
}