databaseActivityEventDaftar array JSON untuk aliran aktivitas database - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

databaseActivityEventDaftar array JSON untuk aliran aktivitas database

Muatan log audit adalah array JSON databaseActivityEventList terenkripsi. Tabel-tabel berikut memerinci secara alfabetis bidang-bidang untuk setiap peristiwa aktivitas dalam array DatabaseActivityEventList terdekripsi sebuah log audit. Bidang-bidang akan berbeda tergantung pada apakah Anda menggunakan Aurora PostgreSQL atau Aurora MySQL. Rujuk ke tabel yang relevan dengan mesin basis data Anda.

penting

Struktur peristiwa dapat berubah sewaktu-waktu. Aurora mungkin menambahkan bidang-bidang baru ke peristiwa aktivitas di masa mendatang. Dalam aplikasi yang menguraikan data JSON, pastikan bahwa kode Anda dapat mengabaikan atau mengambil tindakan yang tepat untuk nama-nama bidang yang tidak dikenal.

databaseActivityEventKolom daftar untuk Aurora PostgreSQL

Berikut ini adalah databaseActivityEventList bidang untuk Aurora PostgreSQL.

Field Tipe data Deskripsi
class string

Kelas peristiwa aktivitas. Nilai-nilai yang valid untuk Aurora PostgreSQL adalah:

  • ALL

  • CONNECT – Peristiwa koneksi atau pemutusan.

  • DDL – Pernyataan DDL yang tidak termasuk dalam daftar pernyataan untuk kelas ROLE.

  • FUNCTION – Panggilan fungsi atau blok DO.

  • MISC – Perintah lain-lain, seperti DISCARD, FETCH, CHECKPOINT, atau VACUUM.

  • NONE

  • READ – Pernyataan SELECT atau COPY apabila sumbernya sebuah relasi atau kueri.

  • ROLE – Pernyataan seputar peran dan privilese, yang meliputi GRANT, REVOKE, dan CREATE/ALTER/DROP ROLE.

  • WRITE – Pernyataan INSERT, UPDATE, DELETE, TRUNCATE, atau COPY ketika tujuan adalah relasi.

clientApplication string Aplikasi yang digunakan klien untuk menghubungi seperti dilaporkan oleh klien. Klien tidak wajib memberikan informasi ini, sehingga nilainya dapat null.
command string Nama perintah SQL tanpa perincian perintah sama sekali.
commandText string

Pernyataan SQL sebenarnya yang diberikan oleh pengguna. Untuk Aurora PostgreSQL, nilainya identik dengan pernyataan SQL asli. Bidang ini digunakan untuk semua jenis catatan kecuali untuk menghubungkan atau memutus catatan, yang dalam hal ini nilainya null.

penting

Teks SQL lengkap setiap pernyataan, yang meliputi semua data sensitif, dapat dilihat di log audit aliran aktivitas. Namun, kata sandi pengguna basis data disensor jika Aurora dapat menentukannya dari konteks, seperti dalam pernyataan SQL berikut.

ALTER ROLE role-name WITH password
databaseName string Basis data yang terhubung dengan pengguna.
dbProtocol string Protokol basis data, misalnya Postgres 3.0.
dbUserName string Pengguna basis data yang diautentikasi oleh klien.
errorMessage

(khusus catatan aktivitas basis data 1.1)

string

Jika ada kesalahan, bidang ini diisi dengan pesan kesalahan yang akan dihasilkan oleh server basis data. Nilai errorMessage adalah null untuk pernyataan normal yang tidak mengakibatkan kesalahan.

Kesalahan didefinisikan sebagai sebarang aktivitas yang akan menghasilkan peristiwa log kesalahan PostgreSQL yang dapat dilihat klien pada tingkat keparahan ERROR atau lebih tinggi. Lihat informasi yang lebih lengkap di Tingkat Keparahan Pesan PostgreSQL. Misalnya, kesalahan sintaks dan pembatalan kueri menghasilkan pesan kesalahan.

Kesalahan-kesalahan internal server PostgreSQL, seperti kesalahan proses penunjuk pemeriksaan latar belakang tidak menghasilkan pesan kesalahan. Namun, catatan untuk peristiwa seperti itu masih dipancarkan terlepas dari setelan level keparahan log. Hal ini mencegah penyerang mematikan pencatatan log untuk mencoba menghindari deteksi.

Lihat juga bidang exitCode.

exitCode int Nilai yang digunakan untuk catatan keluar sesi. Pada keluar yang mulus, ini berisi kode keluar. Kode keluar tidak selalu dapat diperoleh dalam beberapa skenario kegagalan. Contoh-contoh adalah jika PostgreSQL melakukan exit() atau jika operator melakukan perintah seperti kill -9.

Jika ada kesalahan apa pun, bidang exitCode menampilkan kode kesalahan SQL, SQLSTATE, sebagaimana tercantum dalam Kode Kesalahan PostgreSQL.

Lihat juga bidang errorMessage.

logTime string Stempel waktu seperti tercatat di jalur kode audit. Ini mewakili waktu akhir eksekusi pernyataan SQL. Lihat juga bidang startTime.
netProtocol string Protokol komunikasi jaringan.
objectName string Nama objek basis data jika pernyataan SQL beroperasi pada objek itu. Bidang ini hanya digunakan apabila pernyataan SQL beroperasi pada objek basis data. Jika pernyataan SQL tidak beroperasi pada sebuah objek, nilai ini null.
objectType string Jenis objek basis data, seperti tabel, indeks, tampilan, dan sebagainya. Bidang ini hanya digunakan apabila pernyataan SQL beroperasi pada objek basis data. Jika pernyataan SQL tidak beroperasi pada sebuah objek, nilai ini null. Nilai-nilai yang valid meliputi:
  • COMPOSITE TYPE

  • FOREIGN TABLE

  • FUNCTION

  • INDEX

  • MATERIALIZED VIEW

  • SEQUENCE

  • TABLE

  • TOAST TABLE

  • VIEW

  • UNKNOWN

paramList string Array parameter terpisah koma yang disampaikan ke pernyataan SQL. Jika pernyataan SQL tidak memiliki parameter, nilai ini adalah array kosong.
pid int ID proses untuk proses backend yang dialokasikan untuk melayani koneksi klien.
remoteHost string Alamat IP atau nama host klien. Untuk Aurora PostgreSQL, informasi yang digunakan bergantung pada setelan parameter log_hostname basis data. remoteHostNilai juga termasuk [local] dan localhost yang menunjukkan aktivitas dari rdsadmin pengguna.
remotePort string Nomor port klien.
rowCount int Jumlah baris tabel yang terpengaruh atau diambil oleh pernyataan SQL. Bidang ini hanya digunakan untuk pernyataan SQL yang merupakan pernyataan bahasa manipulasi data (DML). Jika pernyataan SQL bukan pernyataan DML, nilai ini null.
serverHost string Alamat IP host server basis data. serverHostNilai juga termasuk [local] dan localhost yang menunjukkan aktivitas dari rdsadmin pengguna.
serverType string Jenis server basis data, misalnya PostgreSQL.
serverVersion string Versi server basis data, misalnya 2.3.1 untuk Aurora PostgreSQL.
serviceName string Nama layanan, misalnya Amazon Aurora PostgreSQL-Compatible edition.
sessionId int Pengidentifikasi sesi unik semu.
sessionId int Pengidentifikasi sesi unik semu.
startTime

(khusus catatan aktivitas basis data 1.1)

string

Waktu ketika eksekusi dimulai untuk pernyataan SQL.

Untuk menghitung waktu eksekusi kira-kira pernyataan SQL, gunakan logTime - startTime. Lihat juga bidang logTime.

statementId int Pengidentifikasi untuk pernyataan SQL klien. Penghitung berada di tingkat sesi dan bertambah dengan setiap pernyataan SQL yang dimasukkan oleh klien.
substatementId int Pengidentifikasi untuk subpernyataan SQL. Nilai ini menghitung subpernyataan terkandung untuk setiap pernyataan SQL yang diidentifikasi oleh bidang statementId.
type string Jenis peristiwa. Nilai-nilai yang valid adalah record atau heartbeat.

databaseActivityEventDaftar bidang untuk Aurora MySQL

Berikut ini adalah databaseActivityEventList bidang untuk Aurora MySQL.

Field Tipe data Deskripsi
class string

Kelas peristiwa aktivitas.

Nilai-nilai yang valid untuk Aurora MySQL adalah:

  • MAIN – Peristiwa utama yang mewakili pernyataan SQL.

  • AUX – Peristiwa tambahan yang berisi detail tambahan. Misalnya, pernyataan yang mengganti nama objek mungkin memiliki peristiwa dengan kelas AUX yang mencerminkan nama baru.

    Untuk menemukan peristiwa-peristiwa MAIN dan AUX yang berkaitan dengan pernyataan yang sama, periksa berbagai peristiwa yang memiliki nilai yang sama untuk bidang pid dan untuk bidang statementId.

clientApplication string Aplikasi yang digunakan klien untuk menghubungi seperti dilaporkan oleh klien. Klien tidak wajib memberikan informasi ini, sehingga nilainya dapat null.
command string

Kategori umum pernyataan SQL. Nilai untuk bidang ini bergantung pada nilai class.

Nilai-nilai ketika class adalah MAIN meliputi:

  • CONNECT – Ketika sesi klien terhubung.

  • QUERY – Pernyataan SQL. Disertai oleh satu atau beberapa peristiwa dengan nilai class adalah AUX.

  • DISCONNECT – Ketika sesi klien terputus.

  • FAILED_CONNECT – Ketika klien mencoba menghubung, tetapi tidak dapat.

  • CHANGEUSER – Perubahan status yang merupakan bagian dari protokol jaringan MySQL, bukan dari pernyataan yang Anda terbitkan.

Nilai-nilai ketika class adalah AUX meliputi:

  • READ – Pernyataan SELECT atau COPY apabila sumbernya sebuah relasi atau kueri.

  • WRITE – Pernyataan INSERT, UPDATE, DELETE, TRUNCATE, atau COPY apabila tujuannya sebuah relasi.

  • DROP – Menghapus objek.

  • CREATE – Membuat objek.

  • RENAME – Mengganti nama objek.

  • ALTER – Mengubah properti-properti suatu objek.

commandText string

Untuk peristiwa dengan nilai class adalah MAIN, bidang ini mewakili pernyataan SQL sebenarnya yang diberikan oleh pengguna. Bidang ini digunakan untuk semua jenis catatan kecuali untuk menghubungkan atau memutus catatan, yang dalam hal ini nilainya null.

Untuk peristiwa dengan nilai class adalah AUX, bidang ini memuat informasi tambahan tentang objek yang terlibat dalam peristiwa.

Untuk Aurora MySQL, karakter-karakter seperti tanda kutip didahului oleh garis miring kiri, yang mewakili karakter escape.

penting

Teks SQL lengkap setiap pernyataan, yang meliputi semua data sensitif, dapat dilihat di log audit. Namun, kata sandi pengguna basis data disensor jika Aurora dapat menentukannya dari konteks, seperti dalam pernyataan SQL berikut.

mysql> SET PASSWORD = 'my-password';
catatan

Tetapkan kata sandi selain penggugah/prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

databaseName string Basis data yang terhubung dengan pengguna.
dbProtocol string Protokol basis data. Saat ini, nilai ini selalu MySQL untuk Aurora MySQL.
dbUserName string Pengguna basis data yang diautentikasi oleh klien.
endTime

(khusus catatan aktivitas basis data 1.2)

string

Waktu ketika eksekusi diakhiri untuk pernyataan SQL. Disajikan dalam format Waktu Universal Terkoordinasi (UTC).

Untuk menghitung waktu eksekusi pernyataan SQL, gunakan endTime - startTime. Lihat juga bidang startTime.

errorMessage

(khusus catatan aktivitas basis data 1.1)

string

Jika ada kesalahan, bidang ini diisi dengan pesan kesalahan yang akan dihasilkan oleh server basis data. Nilai errorMessage adalah null untuk pernyataan normal yang tidak mengakibatkan kesalahan.

Kesalahan didefinisikan sebagai sebarang aktivitas yang akan menghasilkan peristiwa log kesalahan MySQL yang dapat dilihat klien pada tingkat keparahan ERROR atau lebih tinggi. Lihat informasi yang lebih lengkap di The Error Log dalam Panduan Referensi MySQL. Misalnya, kesalahan sintaks dan pembatalan kueri menghasilkan pesan kesalahan.

Kesalahan-kesalahan internal server MySQL, seperti kesalahan proses penunjuk pemeriksaan latar belakang tidak menghasilkan pesan kesalahan. Namun, catatan untuk peristiwa seperti itu masih dipancarkan terlepas dari setelan level keparahan log. Hal ini mencegah penyerang mematikan pencatatan log untuk mencoba menghindari deteksi.

Lihat juga bidang exitCode.

exitCode int Nilai yang digunakan untuk catatan keluar sesi. Pada keluar yang mulus, ini berisi kode keluar. Kode keluar tidak selalu dapat diperoleh dalam beberapa skenario kegagalan. Dalam kasus-kasus tersebut, nilai ini mungkin nol atau mungkin kosong.
logTime string Stempel waktu seperti tercatat di jalur kode audit. Disajikan dalam format Waktu Universal Terkoordinasi (UTC). Lihat cara paling akurat menghitung durasi pernyataan di bidang-bidang startTime dan endTime.
netProtocol string Protokol komunikasi jaringan. Saat ini, nilai ini selalu TCP untuk Aurora MySQL.
objectName string Nama objek basis data jika pernyataan SQL beroperasi pada objek itu. Bidang ini hanya digunakan apabila pernyataan SQL beroperasi pada objek basis data. Jika pernyataan SQL tidak beroperasi pada sebuah objek, nilai ini null. Untuk membangun nama objek berkualifikasi penuh, gabungkan databaseName dan objectName. Jika kueri melibatkan beberapa objek, bidang ini dapat berupa daftar nama terpisah koma.
objectType string

Jenis objek basis data, seperti tabel, indeks, dan sebagainya. Bidang ini hanya digunakan apabila pernyataan SQL beroperasi pada objek basis data. Jika pernyataan SQL tidak beroperasi pada sebuah objek, nilai ini null.

Nilai-nilai yang valid untuk Aurora MySQL meliputi:

  • INDEX

  • TABLE

  • UNKNOWN

paramList string Bidang ini tidak digunakan untuk Aurora MySQL dan selalu null.
pid int ID proses untuk proses backend yang dialokasikan untuk melayani koneksi klien. Ketika server basis data dimulai ulang, pid berubah dan penghitung untuk bidang statementId dimulai ulang dari awal.
remoteHost string Alamat IP atau nama host klien yang menerbitkan pernyataan SQL. Untuk Aurora MySQL, informasi yang digunakan bergantung pada setelan parameter skip_name_resolve basis data. Nilai localhost menunjukkan aktivitas dari pengguna khusus rdsadmin.
remotePort string Nomor port klien.
rowCount int Jumlah baris yang dihasilkan oleh pernyataan SQL. Misalnya, jika pernyataan SELECT menghasilkan 10 baris, rowCount adalah 10. Untuk pernyataan INSERT atau UPDATE, rowCount adalah 0.
serverHost string Pengidentifikasi instans server basis data.
serverType string Jenis server basis data, misalnya MySQL.
serverVersion string Versi server basis data. Saat ini, nilai ini selalu MySQL 5.7.12 untuk Aurora MySQL.
serviceName string Nama layanan. Saat ini, nilai ini selalu Amazon Aurora MySQL untuk Aurora MySQL.
sessionId int Pengidentifikasi sesi unik semu.
startTime

(khusus catatan aktivitas basis data 1.1)

string

Waktu ketika eksekusi dimulai untuk pernyataan SQL. Disajikan dalam format Waktu Universal Terkoordinasi (UTC).

Untuk menghitung waktu eksekusi pernyataan SQL, gunakan endTime - startTime. Lihat juga bidang endTime.

statementId int Pengidentifikasi untuk pernyataan SQL klien. Penghitung bertambah dengan setiap pernyataan SQL yang dimasukkan oleh klien. Penghitung dinolkan saat instans basis data dimulai ulang.
substatementId int Pengidentifikasi untuk subpernyataan SQL. Nilai ini adalah 1 untuk peristiwa dengan kelas MAIN dan 2 untuk peristiwa dengan kelas AUX. Gunakan bidang statementId untuk mengidentifikasi semua peristiwa yang dihasilkan oleh pernyataan yang sama.
transactionId

(khusus catatan aktivitas basis data 1.2)

int Pengidentifikasi untuk transaksi.
type string Jenis peristiwa. Nilai-nilai yang valid adalah record atau heartbeat.