翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon RDS for SQL Server の DB インスタンスの監査
このセクションでは、監査の作成、監査ログの表示、結果のモニタリングなど、Amazon RDS 上の SQL Server の監査オプションについて説明します。
前提条件
-
監査ファイルを保存する Amazon SSimple Storage Service (Amazon S3) バケット
-
S3 バケットにアクセスするための AWS Identity and Access Management (IAM) ロール
-
ALTER ANY SERVER AUDIT
orCONTROL SERVER
権限でのデータベースログイン
サポートされるバージョン
-
Amazon RDS for SQL Server 2014 では、すべてのエディションがサーバーレベルの監査をサポートしています。Enterprise エディションはデータベースレベルの監査もサポートしています。
-
SQL サーバー 2016 (13.x) SP1 以降では、すべてのエディションでサーバーレベルとデータベースレベルの両方の監査がサポートされています。
-
Amazon RDS は現在、中東 (バーレーン) AWS リージョン を除くすべての Amazon RDS で SQL Server 監査をサポートしています。最新情報については、Amazon RDS ドキュメントの「SQL Server 監査のSupport」を参照してください。
C2 監査モードの使用
C2 監査モードは Amazon RDS for SQL Server DB パラメータグループのパラメータです。デフォルトでは無効となっています。パラメータ値を 1 に更新することで有効にできます。C2 監査モードを有効にすると、ユーザーログイン、ストアドプロシージャコール、オブジェクトの作成と削除などのイベントを監査します。このモードではすべてを監査するか、何も監査しないため、大量のデータが生成される可能性があります。
重要
マイクロソフトは、SQL Server のfuture バージョンで C2 監査モードを削除する予定です。この機能を使用しないことを推奨します。
監査の作成と表示
監査および監査仕様の作成を含む組み込みの SQL Server 監査メカニズムを使用して、Amazon RDS for SQL Server データベースを監査することができます。
-
監査ログは、バケットへのアクセスに必要な権限を持つ IAM ロールを使用して S3 バケットにアップロードされます。
-
オプショングループを作成するときに、IAM ロール、S3 バケット、圧縮、および保持期間を選択できます。最大保持期間は 35 日間です。
-
オプショングループを作成し、新規または既存の Amazon RDS for SQL Server DB インスタンスに添付します。 監査ログはに格納されます
D:\rdsdbdata\SQLAudit
。 -
ファイルがサイズ制限に達している場合に SQL Server が監査ログファイルへの書き込みを完了すると、Amazon RDS はファイルを S3 バケットにアップロードします。
-
リテンションを有効にすると、Amazon RDS
D:\rdsdbdata\SQLAudit\transmitted
はファイルをのリテンションフォルダに移動します。監査ログファイルがアップロードされるまで、監査レコードは DB インスタンスに維持されます。 -
クエリを実行して監査レコードを検索することもできます。
dbo.rds_fn_get_audit_file
マルチ AZ インスタンスの場合は、データベース監査仕様オブジェクトはすべてのノードにレプリケートされます。 サーバー監査およびサーバー監査仕様はすべてのノードにレプリケートされないため、これらは手動で作成する必要があります。
オプショングループの設定
以下の手順に従って、Amazon RDS for SQL Server DB インスタンスで SQL Server 監査を実行するようにオプショングループを設定します。詳細な手順については、Amazon RDS ドキュメントの「SQL サーバー監査」を参照してください。
-
オプショングループを作成します。
-
オプショングループに [SQLSERVER_AUDIT] オプションを追加します。
-
S3 の送信先として、監査ログ用に新しいバケットを作成するか、既存のバケットを選択します。
-
IAM ロールでは、新しいロールを作成するか、必要なポリシーを含む既存のロールを選択します。詳細については、IAM ドキュメントの「SQL Server Audit の IAM ロールを手動で作成する」を参照してください。
-
[追加情報] を展開し、[圧縮を有効にして監査ログを圧縮する (推奨)] を選択します。
-
DB インスタンスの監査ログを保存するには、[保持を有効にする] を選択し、保持期間 (最大 35 日間) を指定します。
-
新規または既存の Amazon RDS for SQL Server DB インスタンスに、DB オプショングループを適用します。
-
新しい DB インスタンスの場合は、インスタンスを起動するときにオプショングループを適用します。
-
既存の DB インスタンスの場合は、インスタンスを変更してから、オプショングループを添付します。
-
監査の作成
サーバー監査を作成するには、次のスクリプトを使用します。このスクリプトは、指定したファイルパスに監査ファイルを作成します。構文、引数、および例については、Microsoft SQL Server のマニュアルを参照してください
--Creating the server audit use master GO CREATE SERVER AUDIT [Audit-<<servername>>] TO FILE ( FILEPATH = N'D:\rdsdbdata\SQLAudit', MAXSIZE = 2 MB, RESERVE_DISK_SPACE = OFF) WITH ( QUEUE_DELAY = 1000, ON_FAILURE = CONTINUE) GO -- Enabling the server audit ALTER SERVER AUDIT [Audit-<<servername>>] WITH (STATE = ON) ; GO
監査仕様の作成
サーバー監査を作成したら、次のコードを使用してサーバー監査仕様を作成することで、サーバーレベルのイベントを記録できます。この仕様により、サーバー監査中に何をチェックするかが決まります。構文、引数、および例については、Microsoft SQL Server のマニュアルを参照してください
--Creating server audit specification USE [master] GO CREATE SERVER AUDIT SPECIFICATION [Audit-Spec-<<servername>>] FOR SERVER AUDIT [Audit-<<servername>>] ADD (FAILED_LOGIN_GROUP), ADD (SERVER_OBJECT_CHANGE_GROUP) GO --Enables the audit ALTER SERVER AUDIT [Audit-<<servername>>] WITH (STATE = ON); GO
次のコードを使用して、データベースレベルのイベントを記録するデータベース監査仕様を作成できます。この例では、INSERT
アクションを監査します。構文、引数、その他の例については、Microsoft SQL Server のドキュメントを参照してください
--Creating database audit specification USE [<<DBName>>] GO CREATE DATABASE AUDIT SPECIFICATION [DatabaseAuditSpecification-<<DBName>>] FOR SERVER AUDIT [Audit-<<ServerName>>] ADD (INSERT ON DATABASE::[<<DBName>>] BY [dbo]) WITH (STATE = ON) GO
監査ログの表示
監査ログを表示するには、次のクエリを使用してください。監査ログは、Amazon S3 にアップロードされるまで DB インスタンスに保管されます。SQLSERVER_AUDIT オプションのリテンションを有効にすると、Amazon RDS はファイルをリテンションフォルダに移動します。D:\rdsdbdata\SQLAudit\transmitted
フィルタをに変更すると、保持フォルダの監査レコードを表示するには、D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit
フィルタをに変更します。
--Viewing audit logs SELECT * FROM msdb.dbo.rds_fn_get_audit_file ('D:\rdsdbdata\SQLAudit\*.sqlaudit' , default , default ) --Viewing audit logs in retention folder SELECT * FROM msdb.dbo.rds_fn_get_audit_file ('D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit' , default , default )
SQL Server データベースを監査するためのその他のオプションについては、AWS以下と Microsoft のマニュアルで説明しています。
-
SQL Server 拡張イベント:AWSブログ記事「Amazon RDS for SQL Server での拡張イベントのセットアップ
」を参照してください。 -
SQL Server のトリガー:Amazon RDS ドキュメントの Amazon RDS イベントでトリガーするルールの作成を参照してください。
-
変更の追跡:Microsoft SQL Server のドキュメントの「データ変更の追跡
」を参照してください。 -
変更データキャプチャ:Amazon RDS ドキュメントの「変更データキャプチャの使用」を参照してください。
-
C2 監査モードパラメータ:Microsoft SQL Server ドキュメントの c2 監査モードサーバー設定オプションを参照してください
。
モニタリング
Amazon RDS のデータベースアクティビティストリームを使用すると、SQL Server 監査イベントを Imperva、および IBM のデータベースアクティビティ監視ツールと統合できます。McAfee詳細については、Amazon RDS ドキュメントの Microsoft SQL Server の監査を参照してください。