Panduan ini menjelaskan cara mengaktifkan atau menonaktifkan beberapa atau semua log audit Akses Data di project, akun penagihan, folder, dan organisasi Google Cloud Anda dengan menggunakan konsol Google Cloud atau API.
Sebelum memulai
Sebelum melanjutkan untuk mengonfigurasi log audit Akses Data, pahami informasi berikut:
Log audit Akses Data—kecuali untuk BigQuery—dinonaktifkan secara default. Jika Anda ingin log audit Akses Data ditulis untuk layanan Google Cloud selain BigQuery, Anda harus mengaktifkannya secara eksplisit.
Log audit Akses Data disimpan di bucket
_Default
, kecuali jika Anda telah merutekannya ke tempat lain. Untuk informasi selengkapnya, lihat Menyimpan dan merutekan log audit.Log audit Akses Data membantu Dukungan Google memecahkan masalah pada akun Anda. Oleh karena itu, sebaiknya aktifkan log audit Akses Data jika memungkinkan.
Ringkasan konfigurasi
Anda dapat mengonfigurasi cara log audit Akses Data diaktifkan untuk resource dan layanan Google Cloud:
Organisasi: Anda dapat mengaktifkan dan mengonfigurasi log audit Akses Data di organisasi, yang berlaku untuk semua project dan folder Google Cloud yang ada dan baru di organisasi.
Folder: Anda dapat mengaktifkan dan mengonfigurasi log audit Akses Data di folder, yang berlaku untuk semua project Google Cloud yang ada dan baru di folder tersebut. Anda tidak dapat menonaktifkan log audit Akses Data yang diaktifkan di organisasi induk project.
Project: Anda dapat mengonfigurasi log audit Akses Data untuk setiap project Google Cloud. Anda tidak dapat menonaktifkan log audit Akses Data yang diaktifkan di organisasi atau folder induk.
Akun penagihan: Untuk mengonfigurasi log audit Akses Data untuk akun penagihan, gunakan Google Cloud CLI. Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud CLI dengan log audit Akses Data dan akun penagihan, lihat dokumentasi
gcloud beta billing accounts set-iam-policy
.Konfigurasi default: Anda dapat menentukan konfigurasi log audit Akses Data default di organisasi, folder, atau project Google Cloud yang berlaku untuk layanan Google Cloud mendatang yang mulai menghasilkan log audit Akses Data. Untuk mengetahui petunjuknya, lihat Menetapkan konfigurasi default.
Jenis izin: Anda dapat menentukan bahwa Google Cloud API yang hanya memeriksa jenis izin tertentu akan menghasilkan log audit. Untuk informasi selengkapnya, lihat bagian Jenis izin di halaman ini.
Akun utama yang dikecualikan: Anda dapat mengecualikan akun utama tertentu agar akses datanya tidak dicatat. Misalnya, Anda dapat mengecualikan akun pengujian internal agar tidak tercatat operasi Cloud Monitoring-nya. Untuk mengetahui daftar akun utama yang valid, termasuk pengguna dan grup, lihat referensi jenis
Binding
.
Anda dapat mengonfigurasi log audit Akses Data melalui halaman Audit Logs IAM di Konsol Google Cloud, atau dengan menggunakan API. Metode ini dijelaskan di bagian berikut.
Jenis izin
Metode API memeriksa izin IAM. Setiap izin IAM memiliki jenis izin, yang ditentukan oleh properti type
.
Jenis izin dikategorikan sebagai jenis izin Akses Data
atau sebagai jenis izin Aktivitas Admin:
Jenis izin Akses Data:
ADMIN_READ
: Izin IAM jenis ini diperiksa untuk metode Google Cloud API yang membaca metadata atau informasi konfigurasi. Biasanya, log auditADMIN_READ
dinonaktifkan secara default dan harus diaktifkan.DATA_READ
: Izin IAM jenis ini diperiksa untuk metode Google Cloud API yang membaca data yang disediakan pengguna. Biasanya, log auditDATA_READ
dinonaktifkan secara default dan harus diaktifkan.DATA_WRITE
: Izin IAM jenis ini diperiksa untuk metode Google Cloud API yang menulis data yang disediakan pengguna. Biasanya, log auditDATA_WRITE
dinonaktifkan secara default dan harus diaktifkan.
Jenis izin Aktivitas Admin:
ADMIN_WRITE
: Izin IAM jenis ini diperiksa untuk metode Google Cloud API yang menulis metadata atau informasi konfigurasi. Log audit yang terkait dengan jenis ini, Log audit Aktivitas Admin, aktif secara default dan tidak dapat dinonaktifkan.
Anda dapat mengaktifkan atau menonaktifkan jenis izin untuk layanan menggunakan konsol Google Cloud atau dengan memanggil API.
Sebagian besar Google Cloud API hanya memeriksa apakah pemanggil memiliki satu izin IAM. Jika jenis izin yang terkait dengan izin tersebut diaktifkan untuk layanan yang API-nya dipanggil, maka API akan menghasilkan log audit.
Bagian berikut secara umum menjelaskan cara lain metode Google Cloud API memeriksa izin IAM. Untuk mengetahui informasi khusus layanan tentang metode mana yang diperiksa untuk jenis izin mana, lihat dokumentasi logging audit layanan.
Pemeriksaan izin IAM untuk jenis izin Akses Data
Beberapa metode Google Cloud API memeriksa apakah pemanggil memiliki beberapa izin IAM dengan jenis izin Akses Data yang berbeda. Log audit ditulis saat salah satu jenis izin Akses Data tersebut diaktifkan di project.
Misalnya, metode API mungkin memeriksa apakah akun utama yang menerbitkan permintaan
API memiliki izin example.resource.get
(DATA_READ
) dan
example.resource.write
(DATA_WRITE
). Project hanya perlu mengaktifkan
DATA_WRITE
atau DATA_READ
agar layanan dapat mengeluarkan log audit saat
mengeluarkan panggilan.
Jenis izin IAM Aktivitas Admin dan Akses Data diperiksa
Beberapa metode Google Cloud API memeriksa izin IAM
yang memiliki jenis izin ADMIN_WRITE
, dan satu atau beberapa
izin yang memiliki jenis izin Akses Data.
Jenis panggilan API ini menghasilkan Log audit Aktivitas Admin, yang aktif secara default dan tidak dapat dinonaktifkan.
Metode API memeriksa izin IAM yang tidak dimiliki oleh layanan
Beberapa layanan Google Cloud memiliki metode API yang membuat log audit hanya jika jenis izin tertentu diaktifkan untuk layanan lain.
Misalnya, Cloud Billing memiliki metode API yang memeriksa jenis izin ADMIN_READ
yang dimiliki oleh Resource Manager. ADMIN_READ
harus
diaktifkan untuk layanan cloudresourcemanager.googleapis.com
agar dapat mengaktifkan
log audit yang terkait dengan Cloud Billing API.
Metode API yang sama memeriksa izin IAM yang berbeda
Untuk beberapa Google Cloud API, cara metode dipanggil menentukan jenis izin IAM yang harus diaktifkan di project agar log audit dapat dibuat.
Misalnya, Spanner memiliki metode API yang terkadang memeriksa
izin IAM dengan jenis DATA_WRITE
, dan terkadang memeriksa
izin IAM dengan jenis DATA_READ
, bergantung pada cara
metode dipanggil. Dalam hal ini, mengaktifkan DATA_WRITE
untuk Spanner
di project, panggilan API hanya mengaktifkan log audit yang terkait dengan API
saat izin IAM dengan jenis DATA_WRITE
diperiksa.
Konfigurasi khusus layanan
Jika ada konfigurasi seluruh layanan Google Cloud (allServices
)
dan konfigurasi untuk layanan Google Cloud tertentu, konfigurasi
yang dihasilkan untuk layanan tersebut adalah gabungan dari kedua konfigurasi tersebut.
Dengan kata lain:
Anda dapat mengaktifkan log audit Akses Data untuk layanan Google Cloud tertentu, tetapi Anda tidak dapat menonaktifkan log audit Akses Data untuk layanan Google Cloud yang diaktifkan dalam konfigurasi yang lebih luas.
Anda dapat menambahkan jenis informasi tambahan ke log audit Akses Data layanan Google Cloud, tetapi Anda tidak dapat menghapus jenis informasi yang ditentukan dalam konfigurasi yang lebih luas.
Anda dapat menambahkan akun utama ke daftar pengecualian, tetapi tidak dapat menghapusnya dari daftar pengecualian dalam konfigurasi yang lebih luas.
Untuk BigQuery Data Transfer Service, konfigurasi log audit Akses Data diwarisi dari konfigurasi log audit default Anda.
Konfigurasi resource Google Cloud
Anda dapat mengonfigurasi log audit Akses Data untuk project, akun penagihan, folder, dan organisasi Google Cloud. Jika ada konfigurasi untuk layanan Google Cloud di seluruh hierarki, konfigurasi yang dihasilkan adalah gabungan konfigurasi. Dengan kata lain, di level project Google Cloud:
Anda dapat mengaktifkan log untuk layanan Google Cloud, tetapi tidak dapat menonaktifkan log untuk layanan Google Cloud yang diaktifkan di organisasi atau folder induk.
Anda dapat mengaktifkan jenis informasi, tetapi tidak dapat menonaktifkan jenis informasi yang diaktifkan di organisasi atau folder induk.
Anda dapat menambahkan akun utama ke daftar pengecualian, tetapi tidak dapat menghapusnya dari daftar pengecualian di organisasi atau folder induk.
Di tingkat organisasi induk atau folder, Anda dapat mengaktifkan log audit Akses Data untuk project Google Cloud dalam organisasi atau folder tersebut, meskipun log audit Akses Data belum dikonfigurasi di project Google Cloud.
Kontrol akses
Peran dan izin Identity and Access Management mengatur akses ke data Logging, termasuk melihat dan mengelola kebijakan IAM yang mendasari konfigurasi logging audit Akses Data.
Untuk melihat atau menetapkan kebijakan yang terkait dengan konfigurasi Akses Data, Anda memerlukan peran dengan izin di tingkat resource yang sesuai. Untuk mengetahui petunjuk tentang cara memberikan peran tingkat resource ini, lihat Mengelola akses ke project, folder, dan organisasi Google Cloud.
Untuk menetapkan kebijakan IAM, Anda memerlukan peran dengan izin
resourcemanager.RESOURCE_TYPE.setIamPolicy
.Untuk melihat kebijakan IAM, Anda memerlukan peran dengan izin
resourcemanager.RESOURCE_TYPE.getIamPolicy
.
Untuk mengetahui daftar izin dan peran yang Anda perlukan untuk melihat log audit Akses Data, lihat Kontrol akses dengan IAM.
Mengonfigurasi log audit Akses Data dengan Konsol Google Cloud
Bagian ini menjelaskan cara menggunakan konsol Google Cloud untuk mengonfigurasi log audit Access Data.
Anda juga dapat menggunakan API atau Google Cloud CLI untuk melakukan tugas ini secara terprogram; lihat Mengonfigurasi log audit Akses Data dengan API untuk mengetahui detailnya.
Untuk mengakses opsi konfigurasi log audit di konsol Google Cloud, ikuti langkah-langkah berikut:
-
Di konsol Google Cloud, buka halaman Audit Logs:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah IAM & Admin.
Pilih project, folder, atau organisasi Google Cloud yang sudah ada.
Mengaktifkan log audit
Untuk mengaktifkan log audit Akses Data, lakukan tindakan berikut:
Di tabel Data Access audit logs configuration, pilih satu atau beberapa layanan Google Cloud dari kolom Service.
Di tab Log Types, pilih jenis log audit Akses Data yang ingin Anda aktifkan untuk layanan yang dipilih.
Klik Simpan.
Jika Anda berhasil mengaktifkan log audit, tabel akan menyertakan ikon check_circle Periksa.
Pada contoh berikut, Anda melihat bahwa, untuk layanan Access Approval, jenis log audit Data Read diaktifkan:
Anda juga dapat mengaktifkan log audit untuk semua layanan Google Cloud yang menghasilkan log audit Akses Data. Di tabel Data Access audit logs configuration, pilih semua layanan Google Cloud.
Perhatikan bahwa metode konfigurasi massal ini hanya berlaku untuk layanan Google Cloud yang tersedia untuk resource Anda. Jika layanan Google Cloud baru ditambahkan, layanan tersebut akan mewarisi konfigurasi audit default Anda.
Menonaktifkan log audit Akses Data
Untuk menonaktifkan log audit Akses Data, lakukan tindakan berikut:
Di tabel Data Access audit logs configuration, pilih satu atau beberapa layanan Google Cloud.
Di tab Log Types pada panel informasi, pilih jenis log audit Data Access yang ingin Anda nonaktifkan untuk layanan yang dipilih.
Klik Simpan.
Jika Anda berhasil menonaktifkan log audit Akses Data, tabel akan menunjukkannya dengan tanda hubung. Setiap log audit Akses Data yang diaktifkan akan ditunjukkan dengan ikon Centang check_circle.
Menetapkan pengecualian
Anda dapat menetapkan pengecualian untuk mengontrol akun utama yang membuat log audit Akses Data untuk layanan tertentu. Saat Anda menambahkan akun utama yang dikecualikan, log audit tidak akan dibuat untuk akun tersebut untuk jenis log yang dipilih.
Untuk menetapkan pengecualian, lakukan hal berikut:
Di tabel Data Access audit logs configuration, pilih layanan Google Cloud dari kolom Service.
Pilih tab Prinsipal yang Dikecualikan di panel informasi.
Di Tambahkan akun utama yang dikecualikan, masukkan akun utama yang ingin Anda kecualikan dari pembuatan log audit Akses Data untuk layanan yang dipilih.
Anda dapat menambahkan beberapa akun utama dengan mengklik tombol Tambahkan akun utama yang dikecualikan sebanyak yang diperlukan.
Untuk mengetahui daftar akun utama yang valid, termasuk pengguna dan grup, lihat referensi jenis
Binding
.Di Disabled Log Types, pilih jenis log audit Akses Data yang ingin Anda nonaktifkan.
Klik Simpan.
Jika Anda berhasil menambahkan akun utama yang dikecualikan ke layanan, tabel Data Access audit logs configuration akan menunjukkannya dengan angka di kolom Exempted principals.
Untuk menghapus akun utama dari daftar pengecualian, lakukan langkah-langkah berikut:
Di tabel Data Access audit logs configuration, pilih layanan Google Cloud dari kolom Service.
Pilih tab Prinsipal yang Dikecualikan di panel informasi.
Arahkan kursor ke nama akun utama, lalu pilih
Hapus.Setelah nama akun utama ditampilkan dengan teks yang dicoret, klik Simpan.
Untuk mengedit informasi akun utama yang dikecualikan, lakukan langkah-langkah berikut:
Di tabel Data Access audit logs configuration, pilih layanan Google Cloud dari kolom Service.
Pilih tab Prinsipal yang Dikecualikan di panel informasi.
Cari akun utama, lalu pilih luaskan expand_more Tampilkan lainnya.
Pilih atau batalkan pilihan jenis log audit Akses Data sesuai dengan akun utama.
Klik Simpan.
Menetapkan konfigurasi default
Anda dapat menetapkan konfigurasi yang diwarisi oleh semua layanan Google Cloud baru dan yang sudah ada di project, folder, atau organisasi Google Cloud Anda. Menetapkan konfigurasi default ini berlaku jika layanan Google Cloud baru tersedia dan akun utama di organisasi Anda mulai menggunakannya: layanan tersebut akan mewarisi kebijakan logging audit yang telah Anda tetapkan untuk layanan Google Cloud lainnya, sehingga memastikan bahwa log audit Akses Data dicatat.
Untuk menetapkan atau mengedit konfigurasi default, lakukan hal berikut:
Klik Set Default Configuration.
Di tab Log Types pada panel informasi, pilih jenis log audit Data Access yang ingin Anda aktifkan atau nonaktifkan.
Klik Simpan.
Pilih tab Prinsipal yang Dikecualikan di panel informasi.
Di Tambahkan akun utama yang dikecualikan, masukkan akun utama yang ingin Anda kecualikan dari pembuatan log audit Akses Data untuk layanan yang dipilih.
Anda dapat menambahkan beberapa akun utama dengan mengklik tombol Tambahkan akun utama yang dikecualikan sebanyak yang diperlukan.
Untuk mengetahui daftar akun utama yang valid, termasuk pengguna dan grup, lihat referensi jenis
Binding
.Di Disabled Log Types, pilih jenis log audit Akses Data yang ingin Anda nonaktifkan.
Klik Simpan.
Mengonfigurasi log audit Akses Data dengan API
Bagian ini menjelaskan cara menggunakan API dan gcloud CLI untuk mengonfigurasi log audit Akses Data secara terprogram.
Banyak tugas ini juga dapat dilakukan menggunakan konsol Google Cloud; untuk petunjuknya, lihat Mengonfigurasi log audit Akses Data dengan konsol Google Cloud di halaman ini.
Objek kebijakan IAM
Untuk mengonfigurasi log audit Akses Data menggunakan API, Anda harus mengedit
kebijakan IAM yang terkait dengan project, folder, atau organisasi Google Cloud Anda. Konfigurasi log audit ada di bagian auditConfigs
dalam kebijakan:
"auditConfigs": [
{
object(AuditConfig)
}
]
Untuk mengetahui detailnya, lihat jenis Kebijakan IAM.
Bagian berikut menjelaskan objek AuditConfig
secara lebih mendetail.
Untuk perintah API dan gcloud CLI yang digunakan untuk mengubah konfigurasi,
lihat bagian berjudul
getIamPolicy
dan setIamPolicy
.
AuditConfig
objek
Konfigurasi log audit terdiri dari daftar objek
AuditConfig
. Setiap objek mengonfigurasi log untuk satu layanan, atau menetapkan
konfigurasi yang lebih luas untuk semua layanan. Setiap objek terlihat seperti berikut:
{
"service": SERVICE_NAME,
"auditLogConfigs": [
{
"logType": "ADMIN_READ"
"exemptedMembers": [ PRINCIPAL,]
},
{
"logType": "DATA_READ"
"exemptedMembers": [ PRINCIPAL,]
},
{
"logType": "DATA_WRITE"
"exemptedMembers": [ PRINCIPAL,]
},
]
},
SERVICE_NAME memiliki nilai seperti "appengine.googleapis.com"
, atau merupakan
nilai khusus, "allServices"
. Jika konfigurasi tidak menyebutkan layanan
tertentu, konfigurasi yang lebih luas akan digunakan untuk layanan tersebut. Jika tidak ada konfigurasi, log audit Akses Data tidak akan diaktifkan untuk layanan tersebut.
Untuk daftar nama layanan, lihat
Layanan log.
Bagian auditLogConfigs
dari objek AuditConfig
adalah daftar 0 hingga 3 objek, yang masing-masing mengonfigurasi satu jenis informasi log audit. Jika Anda menghapus
salah satu jenis dari daftar, jenis informasi tersebut tidak akan diaktifkan
untuk layanan.
PRINCIPAL adalah pengguna yang log audit Akses Data-nya tidak dikumpulkan. Jenis Binding
menjelaskan berbagai jenis akun utama, termasuk pengguna dan grup, tetapi tidak semuanya dapat digunakan untuk mengonfigurasi log audit Akses Data.
Berikut adalah contoh konfigurasi audit dalam format JSON dan YAML. Format YAML adalah format default saat menggunakan Google Cloud CLI.
JSON
"auditConfigs": [
{
"auditLogConfigs": [
{
"logType": "ADMIN_READ"
},
{
"logType": "DATA_WRITE"
},
{
"logType": "DATA_READ"
}
],
"service": "allServices"
},
{
"auditLogConfigs": [
{
"exemptedMembers": [
"499862534253-compute@"
],
"logType": "ADMIN_READ"
}
],
"service": "cloudsql.googleapis.com"
}
],
YAML
auditConfigs:
- auditLogConfigs:
- logType: ADMIN_READ
- logType: DATA_WRITE
- logType: DATA_READ
service: allServices
- auditLogConfigs:
- exemptedMembers:
- 499862534253-compute@
logType: ADMIN_READ
service: cloudsql.googleapis.com
Konfigurasi umum
Berikut adalah beberapa konfigurasi log audit umum untuk project Google Cloud.
Mengaktifkan semua log audit Akses Data
Bagian auditConfigs
berikut mengaktifkan log audit Akses Data untuk semua
layanan dan akun utama:
JSON
"auditConfigs": [
{
"service": "allServices",
"auditLogConfigs": [
{ "logType": "ADMIN_READ" },
{ "logType": "DATA_READ" },
{ "logType": "DATA_WRITE" },
]
},
]
YAML
auditConfigs:
- auditLogConfigs:
- logType: ADMIN_READ
- logType: DATA_WRITE
- logType: DATA_READ
service: allServices
Mengaktifkan satu jenis layanan dan informasi
Konfigurasi berikut mengaktifkan log audit Akses Data DATA_WRITE
untuk
Cloud SQL:
JSON
"auditConfigs": [
{
"service": "cloudsql.googleapis.com",
"auditLogConfigs": [
{ "logType": "DATA_WRITE" },
]
},
]
YAML
auditConfigs:
- auditLogConfigs:
- logType: DATA_WRITE
service: cloudsql.googleapis.com
Menonaktifkan semua log audit Akses Data
Untuk menonaktifkan semua log audit Akses Data (kecuali BigQuery) di project Google Cloud, sertakan bagian auditConfigs:
kosong dalam kebijakan IAM baru Anda:
JSON
"auditConfigs": [],
YAML
auditConfigs:
Jika Anda menghapus bagian auditConfigs
sepenuhnya dari kebijakan baru, setIamPolicy
tidak akan mengubah konfigurasi log audit Akses Data yang ada. Untuk informasi selengkapnya, lihat bagian berjudul
Mask update setIamPolicy
.
Log audit Akses Data BigQuery tidak dapat dinonaktifkan.
getIamPolicy
dan setIamPolicy
Anda menggunakan metode getIamPolicy
dan setIamPolicy
Cloud Resource Manager API untuk membaca
dan menulis kebijakan IAM. Anda memiliki beberapa pilihan untuk metode tertentu yang akan digunakan:
Cloud Resource Manager API memiliki metode berikut:
projects.getIamPolicy projects.setIamPolicy organizations.getIamPolicy organizations.setIamPolicy
Google Cloud CLI memiliki perintah Resource Manager berikut:
gcloud projects get-iam-policy gcloud projects set-iam-policy gcloud resource-manager folders get-iam-policy gcloud resource-manager folders set-iam-policy gcloud organizations get-iam-policy gcloud organizations set-iam-policy gcloud beta billing accounts get-iam-policy gcloud beta billing accounts set-iam-policy
Apa pun pilihan Anda, ikuti tiga langkah berikut:
- Baca kebijakan saat ini menggunakan salah satu metode
getIamPolicy
. Simpan kebijakan ke file sementara. - Edit kebijakan dalam file sementara.
Ubah (atau tambahkan) hanya bagian
auditConfigs
. - Tulis kebijakan yang diedit dalam file sementara,
menggunakan salah satu metode
setIamPolicy
.
setIamPolicy
gagal jika Resource Manager mendeteksi bahwa seseorang
lainnya mengubah kebijakan setelah Anda membacanya di langkah pertama. Jika hal ini terjadi,
ulangi ketiga langkah tersebut.
Contoh
Contoh berikut menunjukkan cara mengonfigurasi log audit Akses Data project menggunakan perintah gcloud
dan Cloud Resource Manager API.
Untuk mengonfigurasi log audit Akses Data organisasi, ganti versi "project" perintah dan metode API dengan versi "organizations".
gcloud
Untuk mengonfigurasi log audit Akses Data menggunakan perintah gcloud projects
, lakukan hal berikut:
Baca kebijakan IAM project Anda dan simpan dalam file:
gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
Berikut adalah kebijakan yang ditampilkan. Kebijakan ini tidak memiliki bagian
auditConfigs
:bindings: - members: - user:colleague@example.com role: roles/editor - members: - user:myself@example.com role: roles/owner etag: BwVM-FDzeYM= version: 1
Edit kebijakan Anda di
/tmp/policy.yaml
, dengan hanya menambahkan atau mengubah konfigurasi log audit Akses Data.Contoh kebijakan yang diedit, yang mengaktifkan log audit Akses Data penulisan data Cloud SQL:
auditConfigs: - auditLogConfigs: - logType: DATA_WRITE service: cloudsql.googleapis.com bindings: - members: - user:colleague@example.com role: roles/editor - members: - user:myself@example.com role: roles/owner etag: BwVM-FDzeYM= version: 1
Seperti yang ditunjukkan contoh sebelumnya, empat baris telah ditambahkan ke awal kebijakan.
Tulis kebijakan IAM baru Anda:
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yaml
Jika perintah sebelumnya melaporkan konflik dengan perubahan lain, ulangi langkah-langkah ini, dimulai dengan langkah pertama.
JSON
Untuk menggunakan kebijakan IAM dalam format JSON, bukan YAML, ganti perintah gcloud
berikut ke dalam contoh:
gcloud projects get-iam-policy PROJECT_ID --format=json >/tmp/policy.json
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.json
API
Untuk mengonfigurasi log audit Akses Data menggunakan Cloud Resource Manager API, lakukan hal berikut:
Baca kebijakan IAM project Anda, dengan menentukan parameter berikut ke metode getIamPolicy API:
- resource:
projects/PROJECT_ID
- Isi permintaan: kosong
Metode ini akan menampilkan objek kebijakan saat ini:
{ "version": 1, "etag": "BwXqwxkr40M=", "bindings": [ { "role": "roles/owner", "members": [ "user:myself@example.com" ] } ] }
Contoh sebelumnya menunjukkan bahwa kebijakan project tidak memiliki bagian
auditConfigs
.- resource:
Edit kebijakan saat ini:
Ubah atau tambahkan bagian
auditConfigs
.Untuk menonaktifkan log audit Akses Data, sertakan nilai kosong untuk bagian:
auditConfigs:[]
.Mempertahankan nilai
etag
.
Anda juga dapat menghapus semua informasi lain dari objek kebijakan baru, selama Anda berhati-hati untuk menetapkan
updateMask
pada langkah berikutnya. Berikut ini kebijakan yang diedit, yang mengaktifkan log auditDATA_WRITE
Cloud SQL:{ "policy": { "auditConfigs": [ { "auditLogConfigs": [ { "logType": "DATA_WRITE" } ], "service": "cloudsql.googleapis.com" } ], "etag": "BwXqwxkr40M=" }, "updateMask": "auditConfigs,etag" }
Tulis kebijakan baru menggunakan metode API
setIamPolicy
, dengan menentukan parameter berikut:- resource:
projects/PROJECT_ID
- Isi permintaan: Sertakan kebijakan yang telah diedit.
- resource:
Mask pembaruan setIamPolicy
Bagian ini menjelaskan pentingnya parameter updateMask
dalam metode setIamPolicy
, dan menjelaskan alasan Anda harus berhati-hati dengan perintah set-iam-policy
gcloud CLI agar tidak menyebabkan kerusakan yang tidak disengaja pada project atau organisasi Google Cloud Anda.
Metode API setIamPolicy
menggunakan parameter updateMask
untuk
mengontrol kolom kebijakan mana yang diperbarui. Misalnya, jika mask tidak
berisi bindings
, Anda tidak dapat mengubah bagian kebijakan tersebut secara tidak sengaja. Di sisi lain, jika mask berisi bindings
, bagian tersebut akan selalu diperbarui. Jika Anda tidak menyertakan nilai yang diperbarui untuk bindings
, bagian tersebut akan dihapus sepenuhnya dari kebijakan.
Perintah gcloud projects set-iam-policy
, yang memanggil setIamPolicy
,
tidak memungkinkan Anda menentukan parameter updateMask
. Sebagai gantinya, perintah ini
menghitung nilai untuk updateMask
dengan cara berikut:
updateMask
selalu berisi kolombindings
danetag
.- Jika objek kebijakan yang disediakan di
set-iam-policy
berisi kolom tingkat atas lainnya—sepertiauditConfigs
—kolom tersebut akan ditambahkan keupdateMask
.
Sebagai konsekuensi dari aturan ini, perintah set-iam-policy
memiliki perilaku
berikut:
Jika Anda menghapus bagian
auditConfigs
dalam kebijakan baru, nilai bagianauditConfigs
sebelumnya (jika ada) tidak akan berubah, karena bagian tersebut tidak ada dalam mask pembaruan. Hal ini tidak berbahaya, tetapi mungkin membingungkan.Jika Anda menghilangkan
bindings
dalam objek kebijakan baru, bagianbindings
akan dihapus dari kebijakan Anda, karena bagian ini muncul dalam mask update. Hal ini sangat berbahaya, dan menyebabkan semua akun utama kehilangan akses ke project Google Cloud Anda.Jika Anda menghapus
etag
di objek kebijakan baru, tindakan ini akan menonaktifkan pemeriksaan perubahan serentak pada kebijakan Anda dan dapat menyebabkan perubahan Anda tidak sengaja menimpa perubahan orang lain.