Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Audit isi log dan contoh untuk aliran aktivitas database
Peristiwa-peristiwa yang dipantau disajikan dalam aliran aktivitas basis data berupa string JSON. Strukturnya terdiri atas objek JSON yang berisi DatabaseActivityMonitoringRecord
, yang selanjutnya berisi sebuah array peristiwa aktivitas databaseActivityEventList
.
catatan
Untuk aliran aktivitas database, array paramList
JSON tidak menyertakan nilai null dari aplikasi Hibernate.
Topik
Contoh-contoh log audit untuk aliran aktivitas
Berikut adalah contoh log audit JSON terdekripsi dari catatan peristiwa aktivitas.
contoh Catatan peristiwa aktivitas pernyataan SQL CONNECT Aurora PostgreSQL
Catatan peristiwa aktivitas berikut menunjukkan upaya masuk dengan penggunaan pernyataan SQL CONNECT
(command
) oleh klien psql (clientApplication
).
{ "type":"DatabaseActivityMonitoringRecords", "version":"1.1", "databaseActivityEvents": { "type":"DatabaseActivityMonitoringRecord", "clusterId":"cluster-4HNY5V4RRNPKKYB7ICFKE5JBQQ", "instanceId":"db-FZJTMYKCXQBUUZ6VLU7NW3ITCM", "databaseActivityEventList":[ { "startTime": "2019-10-30 00:39:49.940668+00", "logTime": "2019-10-30 00:39:49.990579+00", "statementId": 1, "substatementId": 1, "objectType": null, "command": "CONNECT", "objectName": null, "databaseName": "postgres", "dbUserName": "rdsadmin", "remoteHost": "172.31.3.195", "remotePort": "49804", "sessionId": "5ce5f7f0.474b", "rowCount": null, "commandText": null, "paramList": [], "pid": 18251, "clientApplication": "psql", "exitCode": null, "class": "MISC", "serverVersion": "2.3.1", "serverType": "PostgreSQL", "serviceName": "Amazon Aurora PostgreSQL-Compatible edition", "serverHost": "172.31.3.192", "netProtocol": "TCP", "dbProtocol": "Postgres 3.0", "type": "record", "errorMessage": null } ] }, "key":"decryption-key" }
contoh Catatan peristiwa aktivitas pernyataan SQL CONNECT Aurora MySQL
Catatan peristiwa aktivitas berikut menunjukkan upaya masuk dengan penggunaan pernyataan SQL CONNECT
(command
) oleh klien mysql (clientApplication
).
{ "type":"DatabaseActivityMonitoringRecord", "clusterId":"cluster-
some_id
", "instanceId":"db-some_id
", "databaseActivityEventList":[ { "logTime":"2020-05-22 18:07:13.267214+00", "type":"record", "clientApplication":null, "pid":2830, "dbUserName":"rdsadmin", "databaseName":"", "remoteHost":"localhost", "remotePort":"11053", "command":"CONNECT", "commandText":"", "paramList":null, "objectType":"TABLE", "objectName":"", "statementId":0, "substatementId":1, "exitCode":"0", "sessionId":"725121", "rowCount":0, "serverHost":"master", "serverType":"MySQL", "serviceName":"Amazon Aurora MySQL", "serverVersion":"MySQL 5.7.12", "startTime":"2020-05-22 18:07:13.267207+00", "endTime":"2020-05-22 18:07:13.267213+00", "transactionId":"0", "dbProtocol":"MySQL", "netProtocol":"TCP", "errorMessage":"", "class":"MAIN" } ] }
contoh Catatan peristiwa aktivitas pernyataan CREATE TABLE Aurora PostgreSQL
Contoh berikut menunjukkan peristiwa CREATE TABLE
untuk Aurora PostgreSQL.
{ "type":"DatabaseActivityMonitoringRecords", "version":"1.1", "databaseActivityEvents": { "type":"DatabaseActivityMonitoringRecord", "clusterId":"cluster-4HNY5V4RRNPKKYB7ICFKE5JBQQ", "instanceId":"db-FZJTMYKCXQBUUZ6VLU7NW3ITCM", "databaseActivityEventList":[ { "startTime": "2019-05-24 00:36:54.403455+00", "logTime": "2019-05-24 00:36:54.494235+00", "statementId": 2, "substatementId": 1, "objectType": null, "command": "CREATE TABLE", "objectName": null, "databaseName": "postgres", "dbUserName": "rdsadmin", "remoteHost": "172.31.3.195", "remotePort": "34534", "sessionId": "5ce73c6f.7e64", "rowCount": null, "commandText": "create table my_table (id serial primary key, name varchar(32));", "paramList": [], "pid": 32356, "clientApplication": "psql", "exitCode": null, "class": "DDL", "serverVersion": "2.3.1", "serverType": "PostgreSQL", "serviceName": "Amazon Aurora PostgreSQL-Compatible edition", "serverHost": "172.31.3.192", "netProtocol": "TCP", "dbProtocol": "Postgres 3.0", "type": "record", "errorMessage": null } ] }, "key":"decryption-key" }
contoh Catatan peristiwa aktivitas pernyataan CREATE TABLE Aurora MySQL
Contoh berikut menunjukkan pernyataan CREATE TABLE
untuk Aurora MySQL. Operasi ini disajikan sebagai dua catatan peristiwa terpisah. Satu peristiwa memiliki "class":"MAIN"
. Peristiwa yang lain memiliki "class":"AUX"
. Pesan-pesan mungkin tiba dengan sebarang urutan. Bidang logTime
peristiwa MAIN
selalu lebih awal dari bidang-bidang logTime
untuk peristiwa AUX
yang terkait.
Contoh berikut menunjukkan peristiwa dengan nilai class
berupa MAIN
.
{ "type":"DatabaseActivityMonitoringRecord", "clusterId":"cluster-
some_id
", "instanceId":"db-some_id
", "databaseActivityEventList":[ { "logTime":"2020-05-22 18:07:12.250221+00", "type":"record", "clientApplication":null, "pid":2830, "dbUserName":"master", "databaseName":"test", "remoteHost":"localhost", "remotePort":"11054", "command":"QUERY", "commandText":"CREATE TABLE test1 (id INT)", "paramList":null, "objectType":"TABLE", "objectName":"test1", "statementId":65459278, "substatementId":1, "exitCode":"0", "sessionId":"725118", "rowCount":0, "serverHost":"master", "serverType":"MySQL", "serviceName":"Amazon Aurora MySQL", "serverVersion":"MySQL 5.7.12", "startTime":"2020-05-22 18:07:12.226384+00", "endTime":"2020-05-22 18:07:12.250222+00", "transactionId":"0", "dbProtocol":"MySQL", "netProtocol":"TCP", "errorMessage":"", "class":"MAIN" } ] }
Contoh berikut menunjukkan peristiwa yang bersangkutan dengan nilai class
berupa AUX
.
{ "type":"DatabaseActivityMonitoringRecord", "clusterId":"cluster-
some_id
", "instanceId":"db-some_id
", "databaseActivityEventList":[ { "logTime":"2020-05-22 18:07:12.247182+00", "type":"record", "clientApplication":null, "pid":2830, "dbUserName":"master", "databaseName":"test", "remoteHost":"localhost", "remotePort":"11054", "command":"CREATE", "commandText":"test1", "paramList":null, "objectType":"TABLE", "objectName":"test1", "statementId":65459278, "substatementId":2, "exitCode":"", "sessionId":"725118", "rowCount":0, "serverHost":"master", "serverType":"MySQL", "serviceName":"Amazon Aurora MySQL", "serverVersion":"MySQL 5.7.12", "startTime":"2020-05-22 18:07:12.226384+00", "endTime":"2020-05-22 18:07:12.247182+00", "transactionId":"0", "dbProtocol":"MySQL", "netProtocol":"TCP", "errorMessage":"", "class":"AUX" } ] }
contoh Catatan peristiwa aktivitas pernyataan SELECT Aurora PostgreSQL
Contoh berikut menunjukkan peristiwa SELECT
.
{ "type":"DatabaseActivityMonitoringRecords", "version":"1.1", "databaseActivityEvents": { "type":"DatabaseActivityMonitoringRecord", "clusterId":"cluster-4HNY5V4RRNPKKYB7ICFKE5JBQQ", "instanceId":"db-FZJTMYKCXQBUUZ6VLU7NW3ITCM", "databaseActivityEventList":[ { "startTime": "2019-05-24 00:39:49.920564+00", "logTime": "2019-05-24 00:39:49.940668+00", "statementId": 6, "substatementId": 1, "objectType": "TABLE", "command": "SELECT", "objectName": "public.my_table", "databaseName": "postgres", "dbUserName": "rdsadmin", "remoteHost": "172.31.3.195", "remotePort": "34534", "sessionId": "5ce73c6f.7e64", "rowCount": 10, "commandText": "select * from my_table;", "paramList": [], "pid": 32356, "clientApplication": "psql", "exitCode": null, "class": "READ", "serverVersion": "2.3.1", "serverType": "PostgreSQL", "serviceName": "Amazon Aurora PostgreSQL-Compatible edition", "serverHost": "172.31.3.192", "netProtocol": "TCP", "dbProtocol": "Postgres 3.0", "type": "record", "errorMessage": null } ] }, "key":"decryption-key" }
{ "type": "DatabaseActivityMonitoringRecord", "clusterId": "", "instanceId": "db-4JCWQLUZVFYP7DIWP6JVQ77O3Q", "databaseActivityEventList": [ { "class": "TABLE", "clientApplication": "Microsoft SQL Server Management Studio - Query", "command": "SELECT", "commandText": "select * from [testDB].[dbo].[TestTable]", "databaseName": "testDB", "dbProtocol": "SQLSERVER", "dbUserName": "test", "endTime": null, "errorMessage": null, "exitCode": 1, "logTime": "2022-10-06 21:24:59.9422268+00", "netProtocol": null, "objectName": "TestTable", "objectType": "TABLE", "paramList": null, "pid": null, "remoteHost": "local machine", "remotePort": null, "rowCount": 0, "serverHost": "172.31.30.159", "serverType": "SQLSERVER", "serverVersion": "15.00.4073.23.v1.R1", "serviceName": "sqlserver-ee", "sessionId": 62, "startTime": null, "statementId": "0x03baed90412f564fad640ebe51f89b99", "substatementId": 1, "transactionId": "4532935", "type": "record", "engineNativeAuditFields": { "target_database_principal_id": 0, "target_server_principal_id": 0, "target_database_principal_name": "", "server_principal_id": 2, "user_defined_information": "", "response_rows": 0, "database_principal_name": "dbo", "target_server_principal_name": "", "schema_name": "dbo", "is_column_permission": true, "object_id": 581577110, "server_instance_name": "EC2AMAZ-NFUJJNO", "target_server_principal_sid": null, "additional_information": "", "duration_milliseconds": 0, "permission_bitmask": "0x00000000000000000000000000000001", "data_sensitivity_information": "", "session_server_principal_name": "test", "connection_id": "AD3A5084-FB83-45C1-8334-E923459A8109", "audit_schema_version": 1, "database_principal_id": 1, "server_principal_sid": "0x010500000000000515000000bdc2795e2d0717901ba6998cf4010000", "user_defined_event_id": 0, "host_name": "EC2AMAZ-NFUJJNO" } } ] }
contoh Catatan peristiwa aktivitas pernyataan SELECT Aurora MySQL
Contoh berikut menunjukkan peristiwa SELECT
.
Contoh berikut menunjukkan peristiwa dengan nilai class
berupa MAIN
.
{ "type":"DatabaseActivityMonitoringRecord", "clusterId":"cluster-
some_id
", "instanceId":"db-some_id
", "databaseActivityEventList":[ { "logTime":"2020-05-22 18:29:57.986467+00", "type":"record", "clientApplication":null, "pid":2830, "dbUserName":"master", "databaseName":"test", "remoteHost":"localhost", "remotePort":"11054", "command":"QUERY", "commandText":"SELECT * FROM test1 WHERE id < 28", "paramList":null, "objectType":"TABLE", "objectName":"test1", "statementId":65469218, "substatementId":1, "exitCode":"0", "sessionId":"726571", "rowCount":2, "serverHost":"master", "serverType":"MySQL", "serviceName":"Amazon Aurora MySQL", "serverVersion":"MySQL 5.7.12", "startTime":"2020-05-22 18:29:57.986364+00", "endTime":"2020-05-22 18:29:57.986467+00", "transactionId":"0", "dbProtocol":"MySQL", "netProtocol":"TCP", "errorMessage":"", "class":"MAIN" } ] }
Contoh berikut menunjukkan peristiwa yang bersangkutan dengan nilai class
berupa AUX
.
{ "type":"DatabaseActivityMonitoringRecord", "instanceId":"db-
some_id
", "databaseActivityEventList":[ { "logTime":"2020-05-22 18:29:57.986399+00", "type":"record", "clientApplication":null, "pid":2830, "dbUserName":"master", "databaseName":"test", "remoteHost":"localhost", "remotePort":"11054", "command":"READ", "commandText":"test1", "paramList":null, "objectType":"TABLE", "objectName":"test1", "statementId":65469218, "substatementId":2, "exitCode":"", "sessionId":"726571", "rowCount":0, "serverHost":"master", "serverType":"MySQL", "serviceName":"Amazon Aurora MySQL", "serverVersion":"MySQL 5.7.12", "startTime":"2020-05-22 18:29:57.986364+00", "endTime":"2020-05-22 18:29:57.986399+00", "transactionId":"0", "dbProtocol":"MySQL", "netProtocol":"TCP", "errorMessage":"", "class":"AUX" } ] }
Objek JSON DatabaseActivityMonitoringRecords
Catatan peristiwa aktivitas basis data berada dalam objek JSON yang berisi informasi berikut.
Bidang JSON | Tipe data | Deskripsi |
---|---|---|
|
string |
Jenis catatan JSON. Nilainya adalah |
version |
string | Versi catatan pemantauan aktivitas basis data. Versi catatan aktivitas basis data yang dihasilkan bergantung pada versi mesin klaster basis data:
Semua bidang berikut ada dalam versi 1.0 dan versi 1.1 kecuali jika diberi catatan khusus. |
string |
Objek JSON yang berisi peristiwa aktivitas. |
|
kunci | string | Kunci enkripsi yang Anda gunakan untuk mendekripsi databaseActivityEventDaftar array JSON |
databaseActivityEvents Objek JSON
Objek JSON databaseActivityEvents
berisi informasi berikut.
Bidang-bidang tingkat atas dalam catatan JSON
Setiap peristiwa dalam log audit dibungkus dalam sebuah catatan dalam format JSON. Catatan ini berisi bidang-bidang berikut.
- tipe
-
Bidang ini selalu memiliki nilai
DatabaseActivityMonitoringRecords
. - versi
-
Bidang ini mewakili versi protokol atau kontrak data aliran aktivitas basis data. Versi menentukan bidang-bidang yang tersedia.
Versi 1.0 mewakili dukungan aliran aktivitas data asli untuk Aurora PostgreSQL versi 10.7 dan 11.4. Versi 1.1 mewakili dukungan aliran aktivitas data untuk Aurora PostgreSQL versi 10.10 dan yang lebih tinggi serta Aurora PostgreSQL versi 11.5 dan yang lebih tinggi. Versi 1.1 mencakup bidang-bidang tambahan
errorMessage
danstartTime
. Versi 1.2 mewakili dukungan aliran aktivitas data untuk Aurora MySQL 2.08 dan lebih tinggi. Versi 1.2 mencakup bidang-bidang tambahanendTime
dantransactionId
. - databaseActivityEvents
-
String terenkripsi yang mewakili satu atau beberapa peristiwa aktivitas. String disajikan berupa array byte base64. Saat Anda mendekripsi string, hasilnya adalah catatan dalam format JSON dengan bidang-bidang seperti ditunjukkan dalam contoh di bagian ini.
- kunci
-
Kunci data terenkripsi yang digunakan untuk mengenkripsi string
databaseActivityEvents
. Ini sama dengan AWS KMS key yang Anda berikan saat memulai aliran aktivitas database.
Contoh berikut menunjukkan format catatan ini.
{ "type":"DatabaseActivityMonitoringRecords", "version":"1.1", "databaseActivityEvents":"
encrypted audit records
", "key":"encrypted key
" }
Lakukan langkah-langkah berikut untuk mendekripsi konten bidang databaseActivityEvents
:
-
Lakukan dekripsi nilai dalam bidang JSON
key
dengan menggunakan kunci KMS yang Anda sediakan ketika memulai aliran aktivitas basis data. Melakukan hal itu akan menghasilkan kunci enkripsi data berupa teks jelas. -
Base64 mendekode nilai dalam bidang JSON
databaseActivityEvents
untuk mendapatkan teks sandi, dalam format biner, dari Panduan Referensi audit. -
Lakukan dekripsi teks sandi biner dengan kunci enkripsi data yang Anda dekode pada langkah pertama.
-
Lakukan dekompresi Panduan Referensi yang terdekripsi.
-
Muatan terenkripsi ada di bidang
databaseActivityEvents
. -
Bidang
databaseActivityEventList
berisi array catatan audit. Bidangtype
dalam array dapat beruparecord
atauheartbeat
.
-
Catatan peristiwa aktivitas log audit adalah objek JSON yang berisi informasi berikut.
Bidang JSON | Tipe data | Deskripsi |
---|---|---|
|
string |
Jenis catatan JSON. Nilainya adalah |
clusterId |
string | Pengidentifikasi sumber daya klaster basis data. Pengidentifikasi ini berkaitan dengan atribut klaster basis data DbClusterResourceId . |
instanceId |
string | Pengidentifikasi sumber daya instans basis data. Pengidentifikasi ini berkaitan dengan atribut instans basis data DbiResourceId . |
string |
Array catatan audit aktivitas atau pesan heartbeat. |