databaseActivityEventDaftar JSON array 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 JSON array untuk aliran aktivitas database

Payload log audit adalah array terenkripsi databaseActivityEventListJSON. Tabel-tabel berikut memerinci secara alfabetis bidang-bidang untuk setiap peristiwa aktivitas dalam array DatabaseActivityEventList terdekripsi sebuah log audit. Bidang berbeda tergantung pada apakah Anda menggunakan Aurora Postgre SQL atau Aurora My. SQL Rujuk ke tabel yang relevan dengan mesin basis data Anda.

penting

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

databaseActivityEventDaftar bidang untuk Aurora Postgre SQL

Berikut ini adalah databaseActivityEventList bidang untuk Aurora Postgre. SQL

Field Tipe data Deskripsi
class string

Kelas peristiwa aktivitas. Nilai yang valid untuk Aurora Postgre SQL adalah sebagai berikut:

  • ALL

  • CONNECT – Peristiwa koneksi atau pemutusan.

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

  • 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 SQL perintah tanpa detail perintah apa pun.
commandText string

SQLPernyataan aktual diteruskan oleh pengguna. Untuk Aurora PostgreSQL, nilainya identik dengan pernyataan aslinya. SQL Bidang ini digunakan untuk semua jenis catatan kecuali untuk menghubungkan atau memutus catatan, yang dalam hal ini nilainya null.

penting

SQLTeks lengkap dari setiap pernyataan terlihat di log audit aliran aktivitas, termasuk data sensitif apa pun. Namun, kata sandi pengguna database disunting jika Aurora dapat menentukannya dari konteks, seperti dalam pernyataan berikutSQL.

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 aktivitas apa pun yang akan menghasilkan peristiwa log SQL kesalahan Postgre yang terlihat klien pada tingkat keparahan atau lebih besar. ERROR Untuk informasi lebih lanjut, lihat Tingkat Keparahan SQL Pesan Postgre. Misalnya, kesalahan sintaks dan pembatalan kueri menghasilkan pesan kesalahan.

Kesalahan SQL server Postgre internal seperti kesalahan proses checkpointer 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. Contohnya adalah jika Postgre SQL melakukan exit() atau jika operator melakukan perintah seperti. kill -9

Jika ada kesalahan, exitCode bidang menunjukkan kode kesalahan,SQLSTATE, seperti yang tercantum dalam Kode SQL Kesalahan Postgre SQL.

Lihat juga bidang errorMessage.

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

  • FOREIGN TABLE

  • FUNCTION

  • INDEX

  • MATERIALIZED VIEW

  • SEQUENCE

  • TABLE

  • TOAST TABLE

  • VIEW

  • UNKNOWN

paramList string Array parameter yang dipisahkan koma diteruskan ke pernyataan. SQL Jika SQL pernyataan 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, yang mana yang digunakan tergantung pada pengaturan parameter database. log_hostname remoteHostNilai juga termasuk [local] dan localhost yang menunjukkan aktivitas dari rdsadmin pengguna.
remotePort string Nomor port klien.
rowCount int Jumlah baris yang dikembalikan oleh SQL pernyataan itu. Misalnya, jika SELECT pernyataan mengembalikan 10 baris, rowCount adalah 10. Untuk INSERT atau UPDATE pernyataan, rowCount adalah 0.
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 database, misalnya 2.3.1 untuk Aurora Postgre. SQL
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 SQL pernyataan itu.

Untuk menghitung perkiraan waktu eksekusi SQL pernyataan, gunakanlogTime - startTime. Lihat juga bidang logTime.

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

databaseActivityEventDaftar bidang untuk Aurora My SQL

Berikut ini adalah databaseActivityEventList bidang untuk Aurora My. SQL

Field Tipe data Deskripsi
class string

Kelas peristiwa aktivitas.

Nilai yang valid untuk Aurora My SQL adalah sebagai berikut:

  • MAIN— Acara utama yang mewakili SQL pernyataan.

  • 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 SQL pernyataan. Nilai untuk bidang ini bergantung pada nilai class.

Nilai-nilai ketika class adalah MAIN meliputi:

  • CONNECT – Ketika sesi klien terhubung.

  • QUERY- SQL Pernyataan. 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 SQL jaringan Saya, bukan dari pernyataan yang Anda keluarkan.

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 class nilaiMAIN, bidang ini mewakili SQL pernyataan aktual yang diteruskan 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 seperti tanda kutip didahului oleh garis miring terbalik, mewakili karakter pelarian.

penting

SQLTeks lengkap dari setiap pernyataan terlihat di log audit, termasuk data sensitif apa pun. Namun, kata sandi pengguna database disunting jika Aurora dapat menentukannya dari konteks, seperti dalam pernyataan berikutSQL.

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 My. SQL
dbUserName string Pengguna basis data yang diautentikasi oleh klien.
endTime

(khusus catatan aktivitas basis data 1.2)

string

Waktu ketika eksekusi berakhir untuk SQL pernyataan itu. Ini diwakili dalam format Coordinated Universal Time (UTC).

Untuk menghitung waktu eksekusi SQL pernyataan, gunakanendTime - 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 aktivitas apa pun yang akan menghasilkan peristiwa log SQL kesalahan saya yang terlihat klien pada tingkat keparahan ERROR atau lebih besar. Untuk informasi selengkapnya, lihat Log Kesalahan di Manual SQL Referensi Saya. Misalnya, kesalahan sintaks dan pembatalan kueri menghasilkan pesan kesalahan.

Internal Kesalahan SQL server saya seperti kesalahan proses checkpointer 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. Ini diwakili dalam format Coordinated Universal Time (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 My. SQL
objectName string Nama objek database jika SQL pernyataan beroperasi pada satu. Bidang ini hanya digunakan di mana SQL pernyataan beroperasi pada objek database. Jika SQL pernyataan tidak beroperasi pada objek, nilai ini kosong. 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 di mana SQL pernyataan beroperasi pada objek database. Jika SQL pernyataan tidak beroperasi pada objek, nilai ini adalah nol.

Nilai yang valid untuk Aurora My SQL meliputi yang berikut:

  • INDEX

  • TABLE

  • UNKNOWN

paramList string Bidang ini tidak digunakan untuk Aurora My SQL dan selalu nol.
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 Entah alamat IP atau nama host klien yang mengeluarkan SQL pernyataan. Untuk Aurora MySQL, yang mana yang digunakan tergantung pada pengaturan skip_name_resolve parameter database. Nilai localhost menunjukkan aktivitas dari pengguna khusus rdsadmin.
remotePort string Nomor port klien.
rowCount int Jumlah baris tabel terpengaruh atau diambil oleh SQL pernyataan. Bidang ini hanya digunakan untuk SQL pernyataan yang merupakan pernyataan bahasa manipulasi data (DML). Jika SQL pernyataan itu bukan DML pernyataan, nilai ini adalah nol.
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 My. SQL
serviceName string Nama layanan. Saat ini, nilai ini selalu Amazon Aurora MySQL untuk Aurora My. SQL
sessionId int Pengidentifikasi sesi unik semu.
startTime

(khusus catatan aktivitas basis data 1.1)

string

Waktu ketika eksekusi dimulai untuk SQL pernyataan itu. Ini diwakili dalam format Coordinated Universal Time (UTC).

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

statementId int Pengidentifikasi untuk SQL pernyataan klien. Penghitung bertambah dengan setiap SQL pernyataan yang dimasukkan oleh klien. Penghitung dinolkan saat instans basis data dimulai ulang.
substatementId int Pengidentifikasi untuk SQL subpernyataan. 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.