Dokumen ini menjelaskan log audit yang dibuat oleh VPC Service Controls sebagai bagian dari Cloud Audit Logs.
Ringkasan
LayananTrusted Cloud by S3NS menulis log audit untuk membantu Anda menjawab pertanyaan, "Siapa yang melakukan apa, di mana, dan kapan?" dalam resource Trusted Cloud Anda.
Project Trusted Cloud Anda hanya berisi log audit untuk resource yang berada langsung dalam project Trusted Cloud . Resource Trusted Cloud lainnya, seperti folder, organisasi, dan akun penagihan, berisi log audit untuk entity itu sendiri.
Untuk membaca ringkasan umum tentang Cloud Audit Logs, lihat Ringkasan Cloud Audit Logs. Untuk mendapatkan pemahaman yang lebih mendalam tentang format log audit, lihat Memahami log audit.
Log audit yang tersedia
Jenis log audit berikut tersedia untuk Kontrol Layanan VPC:
-
Log audit Kebijakan Ditolak
Mengidentifikasi saat pengguna atau akun layanan ditolak aksesnya karena pelanggaran kebijakan keamanan. Nama layanan dan nama metode dalam log audit Kebijakan Ditolak menunjukkan nama resource yang aksesnya ditolak untuk pengguna atau akun layanan.
Anda tidak dapat menonaktifkan log audit Kebijakan Ditolak. Namun, Anda dapat menambahkan berikut ke filter pengecualian di sink
_Default
untuk mengecualikan log audit Kebijakan Ditolak:LOG_ID("cloudaudit.googleapis.com/policy")
. Anda juga dapat menonaktifkan sink_Default
untuk Cloud Logging, yang mencegah log dirutekan ke bucket_Default
.
Untuk deskripsi yang lebih lengkap tentang jenis log audit, lihat Jenis log audit.
Operasi yang diaudit
Tabel berikut merangkum operasi API yang sesuai untuk setiap jenis log audit di Kontrol Layanan VPC:
Kategori log audit | Metode Kontrol Layanan VPC |
---|---|
Log audit Kebijakan Ditolak | Metode layanan yang terintegrasi dengan Kontrol Layanan VPC didukung. |
Konten catatan log audit
Setiap data log audit berisi informasi yang dapat dibagi menjadi dua kategori utama: informasi tentang panggilan asli, dan informasi tentang pelanggaran kebijakan keamanan. Kolom ini diisi oleh VPC Service Controls API sebagai berikut:
Kolom log audit | Deskripsi |
---|---|
serviceName |
Layanan yang aksesnya dibatasi oleh perimeter layanan. permintaan ke layanan ini telah melanggar pemeriksaan Kontrol Layanan VPC dan mengakibatkan pembuatan log audit ini. |
methodName
|
Nama panggilan metode yang menyebabkan pelanggaran kebijakan keamanan yang dijelaskan dalam catatan. Biasanya, methodName adalah
metode yang terkait dengan layanan Trusted Cloud by S3NS yang ditentukan di kolom
serviceName .
|
authenticationInfo.principalEmail
|
Alamat email pengguna atau akun layanan yang mengeluarkan
permintaan. Beberapa alamat email mungkin disamarkan. Untuk mengetahui informasi selengkapnya, lihat Identitas pemanggil di log audit. |
resourceName
|
Trusted Cloud by S3NS Resource yang ditentukan dalam permintaan asli dari klien.
resourceName dapat berupa project, folder, organisasi, atau
resource seperti bucket Trusted Cloud by S3NS .
|
requestMetadata.callerIp |
Alamat IP pemanggil.
Jika panggilan berasal dari internet, maka
Jika panggilan berasal dari VM Compute Engine, maka
Jika panggilan berasal dari dalam jaringan produksi internal Google,
maka nilai di kolom ini adalah |
request_metadata.caller_network
|
Nama jaringan pemanggil. Nilai ini ditetapkan hanya jika project host jaringan termasuk dalam Trusted Cloud by S3NS organisasi atau project yang sama dengan resource yang diakses. Untuk mengetahui informasi selengkapnya, lihat Jaringan VPC. |
status
|
Status keseluruhan penanganan operasi yang dijelaskan dalam rekaman. |
metadata
|
Informasi tentang pelanggaran kebijakan keamanan. |
metadata.resourceNames |
Nama resource yang terlibat dalam pelanggaran kebijakan keamanan yang dijelaskan dalam catatan. |
metadata.dryRun
|
Nilai boolean yang True jika log audit
adalah untuk pemeriksaan kebijakan uji coba. Untuk mengetahui informasi selengkapnya, lihat Mode uji coba untuk perimeter layanan.
|
metadata.vpcServiceControlsUniqueId
|
ID Unik pelanggaran Kontrol Layanan VPC yang dijelaskan dalam catatan. |
metadata.violationReason
|
Alasan pelanggaran. Misalnya,
RESOURCE_NOT_IN_SAME_SERVICE_PERIMETER berarti bahwa
resource yang diakses tidak termasuk dalam perimeter layanan yang sama.
|
metadata.securityPolicyInfo
|
Nama perimeter layanan tempat terjadinya pelanggaran dan ID unik organisasi yang memiliki perimeter tersebut. |
metadata.egressViolations
|
Pelanggaran keluar biasanya terjadi saat permintaan gagal karena sumber dilindungi oleh perimeter layanan dan resource target berada di luar perimeter. Sumber dapat berupa project atau jaringan VPC. |
metadata.ingressViolations |
Jenis pelanggaran. Sering kali, pelanggaran ini terjadi jika permintaan mencoba mengakses resource target yang dilindungi oleh perimeter layanan. Sumber dapat berupa project atau jaringan VPC. Kolom ini berisi struktur yang menjelaskan pelanggaran ingress. |
metadata.accessLevels
|
Semua tingkat akses yang cocok dalam organisasi yang termasuk dalam
kebijakan akses yang sama. Tingkat akses ini mungkin tidak ditentukan dalam perimeter yang dilanggar dan dengan demikian dapat menyebabkan pelanggaran NO_MATCHING_ACCESS_LEVEL .
|
metadata.intermediateServices
|
Daftar layanan yang terlibat dalam rantai permintaan. Kolom ini kosong untuk permintaan yang diinisiasi pengguna. |
metadata.deviceState
|
Status perangkat yang membuat permintaan saat kebijakan
perangkat diaktifkan. Nilai default untuk kolom ini adalah Unknown .
|
Format log audit
Entri log audit mencakup objek berikut:
Entri log itu sendiri, yang merupakan objek dengan jenis
LogEntry
. Kolom berguna yang meliputi hal berikut ini:logName
berisi ID resource dan jenis log audit.resource
berisi target operasi yang diaudit.timeStamp
berisi waktu operasi yang diaudit.protoPayload
berisi informasi yang diaudit.
Data logging audit, yang merupakan objek
AuditLog
yang disimpan di kolomprotoPayload
entri log.Informasi audit khusus layanan opsional, yang merupakan objek khusus layanan. Untuk integrasi sebelumnya, objek ini disimpan di kolom
serviceData
dari objekAuditLog
; integrasi berikutnya menggunakan kolommetadata
.
Untuk kolom lain dalam objek ini, dan cara menafsirkannya, tinjau Memahami log audit.
Nama log
Nama log Cloud Audit Logs mencakup ID resource yang menunjukkan projectTrusted Cloud atau entity Trusted Cloud lainnya yang memiliki log audit, dan apakah log berisi data logging audit Aktivitas Admin, Akses Data, Kebijakan Ditolak, atau Peristiwa Sistem.
Berikut adalah nama log audit, termasuk variabel untuk ID resource:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fpolicy organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy
Nama layanan
Log audit Kontrol Layanan VPC menggunakan nama layanan layanan yang terintegrasi dengan Kontrol Layanan VPC.
Untuk mengetahui daftar lengkap semua nama layanan Cloud Logging API dan jenis resource yang dimonitor, lihat Memetakan layanan ke resource.
Jenis resource
Log audit Kontrol Layanan VPC menggunakan jenis resource yang didukung oleh layanan yang terintegrasi dengan Kontrol Layanan VPC.
Untuk mengetahui daftar semua jenis resource yang dimonitor dan informasi deskriptif Cloud Logging, lihat Jenis resource yang dimonitor.
Identitas pemanggil
Alamat IP pemanggil disimpan di kolom RequestMetadata.caller_ip
pada objek AuditLog
. Logging mungkin menyamarkan
identitas pemanggil dan alamat IP tertentu.
Untuk mengetahui informasi tentang informasi yang disamarkan dalam log audit, lihat Identitas pemanggil di log audit.
Mengaktifkan logging audit
Log audit Aktivitas Admin selalu diaktifkan; Anda tidak dapat menonaktifkannya.
Izin dan peran
Izin dan peran IAM menentukan kemampuan Anda untuk mengakses data log audit di resource Trusted Cloud .
Saat memutuskan Izin dan peran khusus logging mana yang berlaku untuk kasus penggunaan Anda, pertimbangkan hal berikut:
Peran Logs Viewer (
roles/logging.viewer
) memberi Anda akses hanya baca ke log audit Aktivitas Admin, Kebijakan Ditolak, dan Peristiwa Sistem. Jika hanya memiliki peran ini, Anda tidak dapat melihat log audit Akses Data yang ada di bucket_Default
.Peran Private Logs Viewer
(roles/logging.privateLogViewer
) mencakup izin yang ada diroles/logging.viewer
, serta kemampuan untuk membaca log audit Akses Data di bucket_Default
.Perlu diperhatikan bahwa jika log pribadi ini disimpan dalam bucket yang ditentukan pengguna, maka setiap pengguna yang memiliki izin untuk membaca log dalam bucket tersebut dapat membaca log pribadi. Untuk informasi selengkapnya tentang bucket log, lihat Ringkasan perutean dan penyimpanan.
Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM yang berlaku untuk data log audit, lihat Kontrol akses dengan IAM.
Melihat log
Anda dapat membuat kueri untuk semua log audit atau membuat kueri untuk log berdasarkan nama log auditnya. Nama log audit mencakup
ID resource
Trusted Cloud project, folder, akun penagihan, atau
organisasi yang informasi logging auditnya ingin Anda lihat.
Kueri Anda dapat menentukan kolom LogEntry
yang diindeks.
Untuk mengetahui informasi selengkapnya tentang cara membuat kueri log Anda, lihat Membuat kueri di Logs Explorer
Sebagian besar log audit dapat dilihat di Cloud Logging menggunakan konsolTrusted Cloud , Google Cloud CLI, atau Logging API. Namun, untuk log audit terkait penagihan, Anda hanya dapat menggunakan Google Cloud CLI atau Logging API.
Konsol
Di konsol Trusted Cloud , Anda dapat menggunakan Logs Explorer untuk mengambil entri log audit untuk project, folder, atau organisasi Trusted Cloud Anda:
-
Di konsol Trusted Cloud , buka halaman Logs Explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Pilih project, folder, atau organisasi Trusted Cloud yang sudah ada.
Untuk menampilkan semua log audit, masukkan salah satu kueri berikut ke kolom editor kueri, lalu klik Jalankan kueri:
logName:"cloudaudit.googleapis.com"
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
Agar dapat menampilkan log audit untuk jenis log audit dan resource tertentu, di panel Builder kueri, lakukan langkah berikut ini:
Di Jenis resource, pilih resource Trusted Cloud yang log auditnya ingin Anda lihat.
Di Log name, pilih jenis log audit yang ingin dilihat:
- Untuk log audit Aktivitas Admin, pilih activity.
- Untuk log audit Akses Data, pilih data_access.
- Untuk log audit Peristiwa Sistem, pilih system_event.
- Untuk log audit Kebijakan Ditolak, pilih policy.
Klik Run query.
Jika Anda tidak melihat opsi ini, berarti tidak ada log audit dengan jenis tersebut yang tersedia di project, folder, atau organisasi. Trusted Cloud
Jika mengalami masalah saat mencoba melihat log di Logs Explorer, lihat informasi pemecahan masalah.
Untuk mengetahui informasi selengkapnya tentang pembuatan kueri menggunakan Logs Explorer, lihat Membangun kueri di Logs Explorer.
gcloud
Google Cloud CLI menyediakan antarmuka command line ke Logging API. Berikan ID resource yang valid di setiap nama log. Misalnya, jika kueri Anda menyertakan PROJECT_ID, ID project yang Anda berikan harus merujuk ke projectTrusted Cloud yang saat ini dipilih.
Untuk membaca entri log audit level project, jalankan perintah berikut: Trusted Cloud
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \ --project=PROJECT_ID
Untuk membaca entri log audit level folder, jalankan perintah berikut:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \ --folder=FOLDER_ID
Untuk membaca entri log audit level organisasi, jalankan perintah berikut:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \ --organization=ORGANIZATION_ID
Untuk membaca entri log audit level akun Penagihan Cloud Anda, jalankan perintah berikut:
gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \ --billing-account=BILLING_ACCOUNT_ID
Tambahkan flag --freshness
ke perintah Anda untuk membaca log yang berusia lebih dari 1 hari.
Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud CLI, lihat gcloud logging read
.
REST
Untuk membuat kueri data log menggunakan Cloud Logging API, gunakan metode
entries.list
.
Sampel kueri
Untuk menggunakan sampel kueri dalam tabel berikut, selesaikan langkah-langkah berikut:
Ganti variabel dalam ekspresi kueri dengan informasi project Anda sendiri, lalu salin ekspresi menggunakan ikon papan klip content_copy.
-
Di konsol Trusted Cloud , buka halaman Logs Explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Aktifkan Show query untuk membuka kolom editor kueri, lalu tempel ekspresi ke dalam kolom editor kueri:
Klik Jalankan kueri. Log yang cocok dengan kueri Anda akan tercantum di panel Query results.
Untuk menemukan log audit Kontrol Layanan VPC, gunakan kueri berikut di Logs Explorer:
Deskripsi kueri | Ekspresi |
---|---|
Detail pelanggaran berdasarkan ID penolakan | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.metadata.vpcServiceControlsUniqueId="UNIQUE_ID" Ganti |
Pelanggaran untuk alamat IP | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.requestMetadata.callerIp="IP_ADDRESS" Ganti |
Pelanggaran untuk layanan | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.serviceName="SERVICE_NAME" Ganti |
Perubahan tingkat akses yang dilakukan pada perimeter | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName="google.identity.accesscontextmanager.v1.AccessContextManager.UpdateServicePerimeter" -protoPayload.metadata.previousState:"ACCESS_LEVEL" protoPayload.request.servicePerimeter.status.accessLevels:"ACCESS_LEVEL" Ganti |
Operasi CRUD perimeter | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.name=~".*PERIMETER_NAME$" PERIMETER_NAME dengan nama perimeter. |
Operasi CRUD tingkat akses | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*AccessLevel" protoPayload.request.accessLevel.name=~".*ACCESS_LEVEL$" |
Membuat dan memperbarui operasi untuk aturan masuk | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.status.ingressPolicies:"*" |
Membuat dan memperbarui operasi untuk aturan keluar | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.status.egressPolicies:"*" |
Merutekan log audit
Anda dapat merutekan log audit ke tujuan yang didukung dengan cara yang sama seperti saat merutekan jenis log lainnya. Berikut adalah beberapa alasan mengapa Anda mungkin ingin merutekan log audit Anda:
Untuk menyimpan log audit dalam jangka panjang atau untuk menggunakan kemampuan penelusuran yang lebih andal, Anda dapat merutekan salinan log audit Anda ke Cloud Storage, BigQuery, atau Pub/Sub. Dengan Pub/Sub, Anda dapat merutekan log audit ke aplikasi lain, repositori lain, dan ke pihak ketiga.
Untuk mengelola log audit di seluruh organisasi, Anda dapat membuat sink gabungan yang dapat merutekan log dari setiap atau semua Trusted Cloud project di organisasi.
Untuk mendapatkan petunjuk tentang cara merutekan log, lihat Merutekan log ke tujuan yang didukung.