

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 適用於資料庫活動串流的 databaseActivityEventList JSON 陣列
<a name="DBActivityStreams.AuditLog.databaseActivityEventList"></a>

稽核日誌承載是加密的 `databaseActivityEventList` JSON 陣列。以下資料表列出稽核記錄中已解密 `DatabaseActivityEventList` 陣列中，每個活動事件的欄位 (按英文字母順序列出)。這些欄位會根據您使用 Aurora PostgreSQL 或 Aurora MySQL 而有所不同。請參閱適用於資料庫引擎的表格。

**重要**  
事件結構可能會改變。Aurora 可能會在未來將新的欄位新增至活動事件。在剖析 JSON 資料的應用程式中，請確定程式碼可以忽略，或針對未知欄位名稱採取適當的動作。

## Aurora PostgreSQL 的 databaseActivityEventList 欄位
<a name="DBActivityStreams.AuditLog.databaseActivityEventList.apg"></a>

以下是 Aurora PostgreSQL 的 `databaseActivityEventList` 欄位。


| 欄位 | 資料類型 | 描述 | 
| --- | --- | --- | 
| class | string |  活動事件的類別。Aurora PostgreSQL 的有效值如下： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.AuditLog.databaseActivityEventList.html)  | 
| clientApplication | string | 用戶端報告用來連接的應用程式。用戶端不需提供此資訊，因此此值可以是 Null。 | 
| command | string | SQL 命令名稱，其中不含任何命令詳細資訊。 | 
| commandText | string |  使用者傳遞的實際 SQL 陳述式。針對 Aurora PostgreSQL，該值與原始 SQL 陳述式相同。此欄位可用於連接或中斷連接記錄以外的所有記錄類型，在前述兩種例外類型中值為 Null。  活動資料串流稽核記錄中會顯示每個陳述式的完整 SQL 文字，包括任何敏感資料。但是，如果 Aurora 可以從內容 (例如下列 SQL 陳述式) 判斷資料庫使用者密碼，則會編寫密文。 <pre>ALTER ROLE role-name WITH password</pre>   | 
| databaseName | string | 使用者連接的資料庫。 | 
| dbProtocol | string | 資料庫通訊協定，例如 Postgres 3.0。 | 
| dbUserName | string | 用戶端驗證所用的資料庫使用者。 | 
| errorMessage(僅限 1.1 版資料庫活動記錄) | string |  如果有任何錯誤，該欄位會填入由資料庫伺服器產生的錯誤訊息。對於未導致錯誤的正常陳述式，此 `errorMessage` 值為 null。 錯誤是定義為任何會產生用戶端可見 PostgreSQL 錯誤日誌事件的活動，其嚴重性層級為 `ERROR` 或更高。如需詳細資訊，請參閱 [PostgreSQL 訊息嚴重性等級](https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-SEVERITY-LEVELS)。例如，語法錯誤和查詢取消會產生錯誤訊息。 內部 PostgreSQL 伺服器錯誤，例如背景檢查點指標處理程序錯誤，並不會產生錯誤訊息。不過，無論日誌嚴重性層級的設定為何，仍會發出這類事件的記錄。這可以防止攻擊者關閉記錄日誌以嘗試避免偵測。 另請參閱 `exitCode` 欄位。  | 
| exitCode | int | 工作階段結束記錄所用的值。清除結束時，此會包含結束代碼。在某些失敗狀況下可能無法隨時取得結束代碼。範例為 PostgreSQL 執行 exit() 或運算子執行 kill -9 之類的命令。如果發生任何錯誤，此 `exitCode` 欄位會顯示 SQL 錯誤代碼 `SQLSTATE`，如 [PostgreSQL 錯誤代碼](https://www.postgresql.org/docs/current/errcodes-appendix.html)中所列。另請參閱 `errorMessage` 欄位。 | 
| logTime | string | 在稽核程式碼路徑中記錄的時間戳記。這代表 SQL 陳述式執行結束時間。另請參閱 startTime 欄位。 | 
| netProtocol | string | 網路通訊協定。 | 
| objectName | string | SQL 陳述式在其中操作的資料庫物件名稱。僅在 SQL 陳述式在資料庫物件上操作時才會使用此欄位。如果 SQL 陳述式沒有在物件上操作，則此值為 Null。 | 
| objectType | string | 資料表、索引、檢視等之類的資料庫物件類型。僅在 SQL 陳述式在資料庫物件上操作時才會使用此欄位。如果 SQL 陳述式沒有在物件上操作，則此值為 Null。有效值包括以下項目：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.AuditLog.databaseActivityEventList.html) | 
| paramList | string | 傳遞至 SQL 陳述式的參數陣列 (以逗號分隔)。如果 SQL 陳述式沒有任何參數，此值會是空的陣列。 | 
| pid | int | 後端程序的程序 ID，此程序的配置是用來提供用戶端連線。 | 
| remoteHost | string | 用戶端 IP 地址或主機名稱。針對 Aurora PostgreSQL，使用哪一個取決於資料庫的 log\$1hostname 參數設定。此 remoteHost 值也包含 [local]，且 localhost 表示來自 rdsadmin 使用者的活動。 | 
| remotePort | string | 用戶端連接埠號碼。 | 
| rowCount | int | SQL 陳述式影響或擷取的資料列數。僅會對資料處理語言 (DML) 陳述式的 SQL 陳述式使用此欄位。如果 SQL 陳述式不是 DML 陳述式，則此值為 Null。 | 
| serverHost | string | 資料庫伺服器主機 IP 地址。此 serverHost 值也包含 [local]，且 localhost 表示來自 rdsadmin 使用者的活動。 | 
| serverType | string | 資料庫伺服器類型，例如 PostgreSQL。 | 
| serverVersion | string | 資料庫伺服器版本，例如 Aurora PostgreSQL 的 2.3.1。 | 
| serviceName | string | 服務名稱，例如 Amazon Aurora PostgreSQL-Compatible edition。 | 
| sessionId | int | 虛擬唯一的工作階段識別符。 | 
| sessionId | int | 虛擬唯一的工作階段識別符。 | 
| startTime(僅限 1.1 版資料庫活動記錄) | string |  SQL 陳述式開始執行的時間。 若要計算 SQL 陳述式大約的執行時間，請使用 `logTime - startTime`。另請參閱 `logTime` 欄位。  | 
| statementId | int | 用戶端 SQL 陳述式的識別符。記數器是使用工作階段層級，且會隨著用戶端輸入的每個 SQL 陳述式遞增。 | 
| substatementId | int | SQL 子陳述式的識別符。此值會計算由 statementId 欄位識別的每個 SQL 陳述式包含的子陳述式。 | 
| type | string | 事件類型。有效值為 record 或 heartbeat。 | 

## Aurora MySQL 的 databaseActivityEventList 欄位
<a name="DBActivityStreams.AuditLog.databaseActivityEventList.ams"></a>

以下是 Aurora MySQL 的 `databaseActivityEventList` 欄位。


| 欄位 | 資料類型 | 描述 | 
| --- | --- | --- | 
| class | string |  活動事件的類別。 Aurora MySQL 的有效值如下： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.AuditLog.databaseActivityEventList.html)  | 
| clientApplication | string | 用戶端報告用來連接的應用程式。用戶端不需提供此資訊，因此此值可以是 Null。 | 
| command | string |  SQL 陳述式的一般類別。此欄位的值取決於 `class` 的值。 當 `class` 為 `MAIN` 時的值包括以下內容： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.AuditLog.databaseActivityEventList.html) 當 `class` 為 `AUX` 時的值包括以下內容： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.AuditLog.databaseActivityEventList.html)  | 
| commandText | string |  對於 `class` 值為 `MAIN` 的事件，此欄位代表使用者傳入的實際 SQL 陳述式。此欄位可用於連接或中斷連接記錄以外的所有記錄類型，在前述兩種例外類型中值為 Null。  對於 `class` 值為 `AUX` 的事件，此欄位包含有關事件涉及之物件的補充資訊。 針對 Aurora MySQL，引號之類的字元前面加上反斜線，代表逸出字元。  稽核記錄中會顯示每個陳述式的完整 SQL 文字，包括任何敏感資料。但是，如果 Aurora 可以從內容 (例如下列 SQL 陳述式) 判斷資料庫使用者密碼，則會編寫密文。 <pre>mysql> SET PASSWORD = 'my-password';</pre> 指定此處所顯示提示以外的密碼，作為安全最佳實務。   | 
| databaseName | string | 使用者連接的資料庫。 | 
| dbProtocol | string | 資料庫通訊協定。目前，Aurora MySQL 的這個值永遠是 MySQL。 | 
| dbUserName | string | 用戶端驗證所用的資料庫使用者。 | 
| endTime(僅限 1.2 版資料庫活動記錄) | string |  SQL 陳述式結束執行的時間。以國際標準時間 (UTC) 格式表示。 若要計算 SQL 陳述式的執行時間，請使用 `endTime - startTime`。另請參閱 `startTime` 欄位。  | 
| errorMessage(僅限 1.1 版資料庫活動記錄) | string |  如果有任何錯誤，該欄位會填入由資料庫伺服器產生的錯誤訊息。對於未導致錯誤的正常陳述式，此 `errorMessage` 值為 null。 錯誤是定義為任何會產生用戶端可見 MySQL 錯誤日誌事件的活動，其嚴重性層級為 `ERROR` 或更高。如需更多資訊，請參閱 *MySQL 參考手冊*中的[錯誤記錄](https://dev.mysql.com/doc/refman/5.7/en/error-log.html)。例如，語法錯誤和查詢取消會產生錯誤訊息。 內部 MySQL 伺服器錯誤，例如背景檢查點指標處理程序錯誤，並不會產生錯誤訊息。不過，無論日誌嚴重性層級的設定為何，仍會發出這類事件的記錄。這可以防止攻擊者關閉記錄日誌以嘗試避免偵測。 另請參閱 `exitCode` 欄位。  | 
| exitCode | int | 工作階段結束記錄所用的值。清除結束時，此會包含結束代碼。在某些失敗狀況下可能無法隨時取得結束代碼。在這種情況下，此值可能是零，也可能是空白。 | 
| logTime | string | 在稽核程式碼路徑中記錄的時間戳記。以國際標準時間 (UTC) 格式表示。如需計算陳述式持續時間的最準確方式，請參閱 startTime 和 endTime 欄位。 | 
| netProtocol | string | 網路通訊協定。目前，Aurora MySQL 的這個值永遠是 TCP。 | 
| objectName | string | SQL 陳述式在其中操作的資料庫物件名稱。僅在 SQL 陳述式在資料庫物件上操作時才會使用此欄位。如果 SQL 陳述式沒有在物件上操作，則此值為空白。若要建構物件的完整名稱，請結合 databaseName 和 objectName。如果查詢涉及多個物件，則此欄位可以是以逗號分隔的名稱清單。 | 
| objectType | string |  資料表、索引、檢視等之類的資料庫物件類型。僅在 SQL 陳述式在資料庫物件上操作時才會使用此欄位。如果 SQL 陳述式沒有在物件上操作，則此值為 Null。 Aurora MySQL 的有效值包括以下項目： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.AuditLog.databaseActivityEventList.html)  | 
| paramList | string | 此欄位不會用於 Aurora MySQL 且一律為空。 | 
| pid | int | 後端程序的程序 ID，此程序的配置是用來提供用戶端連線。重新啟動資料庫伺服器時，pid 變更和 statementId 欄位的計數器會重新啟動。 | 
| remoteHost | string | 發出 SQL 陳述式之用戶端的 IP 地址或主機名稱。針對 Aurora MySQL，使用哪一個取決於資料庫的 skip\$1name\$1resolve 參數設定。localhost 的值表示來自 rdsadmin 特殊使用者的活動。 | 
| remotePort | string | 用戶端連接埠號碼。 | 
| rowCount | int | SQL 陳述式傳回的資料列數目。例如，如果一個 SELECT 陳述式傳回 10 個資料列，則 rowCount 為 10。對於 INSERT 或 UPDATE 陳述式，rowCount 為 0。 | 
| serverHost | string | 資料庫伺服器執行個體識別符。 | 
| serverType | string | 資料庫伺服器類型，例如 MySQL。 | 
| serverVersion | string | 資料庫伺服器版本。目前，Aurora MySQL 的這個值永遠是 MySQL 5.7.12。 | 
| serviceName | string | 服務的名稱。目前，Aurora MySQL 的這個值永遠是 Amazon Aurora MySQL。 | 
| sessionId | int | 虛擬唯一的工作階段識別符。 | 
| startTime(僅限 1.1 版資料庫活動記錄) | string |  SQL 陳述式開始執行的時間。以國際標準時間 (UTC) 格式表示。 若要計算 SQL 陳述式的執行時間，請使用 `endTime - startTime`。另請參閱 `endTime` 欄位。  | 
| statementId | int | 用戶端 SQL 陳述式的識別符。計數器會隨著用戶端輸入的每個 SQL 陳述式而增加。當資料庫執行個體重新啟動時，計數器會重設。 | 
| substatementId | int | SQL 子陳述式的識別符。對於具有類別 MAIN 的事件此值是 1，對於具有類別 AUX 的事件則為 2。使用此 statementId 欄位可識別由相同陳述式產生的所有事件。 | 
| transactionId(僅限 1.2 版資料庫活動記錄) | int | 交易的識別符。 | 
| type | string | 事件類型。有效值為 record 或 heartbeat。 | 