使用資料庫活動串流監控 RDSAmazon - Amazon Relational Database Service

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

使用資料庫活動串流監控 RDSAmazon

透過使用資料庫活動串流,您就可以監控資料庫活動的近乎即時的串流。

資料庫活動串流概觀

身 RDS 資料庫管理員,您需要保護資料庫並符合合規和法規要求。其中一項策略是整合資料庫活動串流與監控工具。如此一來,您就可以監控並設定 資料庫中稽核活動的警示。

外部和內部都有安全威脅。若要防範內部威脅,您可以設定資料庫活動串流功能來控制管理員對資料串流的存取。Amazon RDS DBAs 無法訪問流的收集,傳輸,存儲和處理。

資料庫活動串流運作方式

亞馬遜以近乎即時的方式將活動RDS推送到 Amazon Kinesis 資料串流。系統會自動建立 Kinesis 串流。在 Kinesis 中,您可以設定 AWS 服務 (例如 Amazon 資料 Firehose), AWS Lambda 以及使用串流和存放資料。

重要

使用 的資料庫活動串流功能RDS是免費的,但 Amazon Kinesis 會對資料串流收取費用。如需詳細資訊,請參閱 Amazon Kinesis Data Streams 定價

您可為合規管理設定應用程式以使用資料庫活動串流。這些應用程式可以使用串流來產生警示,並稽核您的 資料庫

Amazon RDS 支援異地同步備份部署中的資料庫活動串流。於此狀況下,資料庫活動串流會同時稽核主執行個體和備用執行個體。

Oracle 數據庫和 Microsoft SQL 服務器數據庫中的審計

稽核是針對已設定的資料庫執行的監控和記錄動作。Amazon 默認情況下RDS不會捕獲數據庫活動。您可以自行在資料庫中建立和管理稽核政策。

Oracle 資料庫中的統一稽核

在 Oracle 資料庫中,統一稽核政策是稽核設定的具名群組,您可以使用此群組來稽核使用者行為。政策可以簡單地稽核單個使用者的活動。您也可以建立使用條件的複雜稽核政策。

Oracle 資料庫會寫入稽核記錄,包括從 SYS 稽核記錄至統一稽核權杖,皆會記錄。例如,如果INSERT陳述式期間發生錯誤,標準稽核會指出錯誤編號以及執行的SQL錯誤編號。稽核權杖位於 AUDSYS 結構描述中的唯讀資料表中。若要存取這些記錄,可以查詢 UNIFIED_AUDIT_TRAIL 資料字典檢視。

一般而言,您可如下所示,設定資料庫活動串流:

  1. 透過使用 CREATE AUDIT POLICY 命令,建立 Oracle 資料庫稽核政策。

    Oracle 資料庫會產生稽核記錄。

  2. 透過使用 AUDIT POLICY 命令,啟用稽核政策。

  3. 設定資料庫活動串流。

    只有符合 Oracle 資料庫稽核政策的活動才會被擷取,並傳送至 Amazon Kinesis Data Streams。在啟用資料庫活動串流時,Oracle 資料庫管理員無法變更稽核政策或移除稽核記錄。

若要深入了解統一稽核策略,請參閱《Oracle 資料庫安全性指南》AUDIT中的關於使用統一稽核策略的稽核活動

Microsoft SQL 服務器中的審計

資料庫活動串流使用SQLAudit功能來稽核SQL伺服器資料庫。

RDS對於SQL服務器實例包含以下內容:

  • 伺服器稽核 — SQL 伺服器稽核會收集伺服器或資料庫層級動作的單一執行個體,以及要監視的動作群組。伺服器層級稽核RDS_DAS_AUDITRDS_DAS_AUDIT_CHANGES由RDS管理。

  • 伺服器稽核規格 — 伺服器稽核規格會記錄伺服器層級事件。您可以修改 RDS_DAS_SERVER_AUDIT_SPEC 規格。此規格已連結至伺服器稽核 RDS_DAS_AUDITRDS_DAS_CHANGES_AUDIT_SPEC規格由管理RDS。

  • 資料庫稽核規格 — 資料庫稽核規格會記錄資料庫層級事件。您可以建立資料庫稽核規格 RDS_DAS_DB_<name>,並將其連結至 RDS_DAS_AUDIT 伺服器稽核。

您可以使用主控台或來設定資料庫活動串流CLI。一般而言,您可如下所示,設定資料庫活動串流:

  1. (選用) 使用 CREATE DATABASE AUDIT SPECIFICATION 命令建立資料庫稽核規格,並將其連結至 RDS_DAS_AUDIT 伺服器稽核。

  2. (選用) 使用 ALTER SERVER AUDIT SPECIFICATION 命令修改伺服器稽核規格,並定義政策。

  3. 啟用資料庫和伺服器稽核政策。例如:

    ALTER DATABASE AUDIT SPECIFICATION [<Your database specification>] WITH (STATE=ON)

    ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC] WITH (STATE=ON)

  4. 設定資料庫活動串流。

    只有符合該伺服器與資料庫稽核政策的活動才會被擷取,並傳送至 Amazon Kinesis Data Streams。在啟用資料庫活動串流且政策鎖定時,資料庫管理員無法變更稽核政策或移除稽核記錄。

    重要

    若已啟用特定資料庫的資料庫稽核規格,且政策處於鎖定狀態,則無法捨棄該資料庫。

如需有關SQL伺服器稽核的詳細資訊,請參閱 Microsoft SQL 伺服器文件中的SQL伺服器稽核元件

Oracle 資料庫與SQL伺服器的非原生稽核欄位

在您啟動資料庫活動串流時,每個資料庫事件都會產生對應的活動串流事件。例如,資料庫使用者可能會執行 SELECTINSERT 陳述式。資料庫會稽核這些事件,並將其傳送至 Amazon Kinesis Data Streams。

這些事件在流中表示為JSON對象。一個JSON對象包含一個DatabaseActivityMonitoringRecord,其中包含一個databaseActivityEventList數組。陣列中的預先定義欄位包含 classclientApplication 以及 command

根據預設,活動串流不包含引擎原生稽核欄位。您可以RDS為 Oracle 和SQL服務器配置 Amazon,以便在engineNativeAuditFieldsJSON對象中包含這些額外的字段。

在 Oracle 資料庫中,統一稽核軌跡中的大多數事件都會對應至RDS資料活動串流中的欄位。例如,統一稽核中的 UNIFIED_AUDIT_TRAIL.SQL_TEXT 欄位會映射至資料庫活動串流中的 commandText 欄位。但是,如 OS_USERNAME 等 Oracle 資料庫稽核欄位,則不會映射到資料庫活動串流中的預先定義欄位。

在 SQL Server 中,SQLAudit地圖記錄到RDS數據庫活動流中的字段的大多數事件的字段。例如,稽核 sys.fn_get_audit_filecode 欄位會對應至資料庫活動串流的 commandText 欄位。不過,SQL伺服器資料庫稽核欄位 (例如permission_bitmask,不會對應至資料庫活動串流中預先定義的欄位)。

如需 databaseActivityEvent「清單」的更多資訊,請參閱databaseActivityEventJSON列出數據庫活動流的數組

資料庫參數群組覆寫

通常,您可以透過附加參數群組來RDS為 Oracle 開啟統一稽核。但是,資料庫活動串流需要其他配置。為了改善您的客戶體驗,Amazon RDS 會執行以下操作:

  • 如果您啟動活動資料流,RDSOracle 會忽略參數群組中的稽核參數。

  • 如果您停用活動串流,RDSOracle 會停止忽略稽核參數。

SQLServer 的資料庫活動串流與您在SQL稽核選項中設定的任何參數無關。

資料庫活動串流的非同步模式

Amazon 中的活動流始終RDS是異步的。在資料庫工作階段產生活動串流事件時,工作階段會立即傳回正常的活動。在後台,Amazon RDS 使活動流事件成為一個持久的記錄。

如果在後台任務中發生錯誤,Amazon RDS 會生成一個事件。此事件會指出活動串流事件記錄可能遺失的任何時段的開頭和結尾。非同步模式對資料庫效能的幫助較大,對活動串流精準度的幫助較小。

資料庫活動串流的要求與限制

在 中 RDS,資料庫活動串流具有下列需求和限制:

  • 資料庫活動串流需要使用 Amazon Kinesis。

  • AWS Key Management Service 資料庫活動串流需要 (AWS KMS),因為它們一律會加密。

  • 對 Amazon Kinesis 資料串流套用額外加密與已使用金 AWS KMS 鑰加密的資料庫活動串流不相容。

  • 您可自行建立和管理稽核政策。與 Amazon Aurora 不同,RDSOracle 默認情況下不會捕獲數據庫活動。

  • 您可自行建立和管理稽核政策或規格。與 Amazon Aurora 不同,Amazon 默認情況下RDS不會捕獲數據庫活動。

  • 於異地同步備份部署中,僅於主要資料庫執行個體上啟動資料庫活動串流。活動串流會自動稽核主資料庫執行個體和備用資料庫執行個體。容錯移轉期間不需要執行其他步驟。

  • 重新命名資料庫執行個體並不會建立新的 Kinesis 串流。

  • CDBs甲骨文不RDS支持.

  • 不支援僅供讀取複本。

區域和版本可用性

每個資料庫引擎的特定版本以及 AWS 區域的功能可用性和支援各自不同。如需有關資料庫活動串流版本和區域可用性的詳細資訊,請參閱 Amazon 中資料庫活動串流支援的區域和資料庫引擎 RDS

支援資料庫活動串流的資料庫執行個體類別

對RDS於 Oracle,您可以將資料庫活動串流與下列資料庫執行個體類別搭配使用:

  • db.m4.*large

  • db.m5.*large

  • db.m5d.*large

  • db.m6i.*large

  • db.r4.*large

  • db.r5.*large

  • db.r5.*large.tpc*.mem*x

  • db.r5b.*large

  • db.r5b.*large.tpc*.mem*x

  • db.r5d.*large

  • db.r5.large*

  • db.x2idn.*large

  • db.x2iedn.*large

  • db.x2iezn.*large

  • db.z1d.*large

對RDS於 SQL Server,您可以將資料庫活動串流與下列資料庫執行個體類別搭配使用:

  • db.m4.*large

  • db.m5.*large

  • db.m5d.*large

  • db.m6i.*large

  • db.r4.*large

  • db.r5.*large

  • db.r5b.*large

  • db.r5d.*large

  • db.r5.large*

  • db.x1e.*large

  • db.z1d.*large

如需執行個體類別類型的詳細資訊,請參閱 數據庫實例類