

# SQL Server Audit
<a name="Appendix.SQLServer.Options.Audit"></a>

Amazon RDS では、組み込みの SQL Server 監査メカニズムを使用して、Microsoft SQL Server データベースを監査することができます。監査と監査の仕様は、オンプレミスのデータベースサーバー用にそれらを作成するのと同じ方法で作成することができます。

RDS は、完了した監査ログを S3 バケットにアップロードします。この際、作成されたロールを IAM 使用します。保存を有効にしている場合、RDS は設定された期間、監査ログを DB インスタンスに保存します。

詳細については、Microsoft SQL Server ドキュメントの「[SQL Server Audit (database engine)](https://docs.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-database-engine)」を参照してください。

## データベースアクティビティストリームを使用した SQL Server Audit
<a name="Appendix.SQLServer.DAS.Audit"></a>

RDS のデータベースアクティビティストリームを使用すると、SQL Server Audit イベントを Imperva、McAfee、IBM のデータベースアクティビティ監視ツールと統合できます。RDS SQL Server のデータベースアクティビティストリームによる監査の詳細については、「[Microsoft SQL Server での監査](DBActivityStreams.md#DBActivityStreams.Overview.SQLServer-auditing)」を参照してください。

**Topics**
+ [データベースアクティビティストリームを使用した SQL Server Audit](#Appendix.SQLServer.DAS.Audit)
+ [SQL Server Audit のサポート](#Appendix.SQLServer.Options.Audit.Support)
+ [SQL Server Audit を DB インスタンスオプションに追加する](Appendix.SQLServer.Options.Audit.Adding.md)
+ [SQL Server Audit を使用する](Appendix.SQLServer.Options.Audit.CreateAuditsAndSpecifications.md)
+ [監査ログの表示](Appendix.SQLServer.Options.Audit.AuditRecords.md)
+ [マルチ AZ インスタンスで SQL Server Audit を使用する](#Appendix.SQLServer.Options.Audit.Multi-AZ)
+ [S3 バケットを設定する](Appendix.SQLServer.Options.Audit.S3bucket.md)
+ [SQL Server Audit の IAM ロールを手動で作成する](Appendix.SQLServer.Options.Audit.IAM.md)

## SQL Server Audit のサポート
<a name="Appendix.SQLServer.Options.Audit.Support"></a>

Amazon RDS では、SQL Server 2016 以降、SQL Server のすべてのエディションでサーバーレベルの監査がサポートされており、Enterprise エディションでもデータベースレベルの監査がサポートされています。SQL サーバー 2016 (13.x) SP1 以降では、すべてのエディションでサーバーレベルとデータベースレベルの両方の監査がサポートされています。詳細については、SQL Server ドキュメントの「[SQL Server Audit (database engine)](https://docs.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-database-engine)」を参照してください。

RDS では、SQL Server Audit に関する次のオプション設定の構成をサポートしています。


| オプション設定 | 有効な値 | 説明 | 
| --- | --- | --- | 
| IAM\_ROLE\_ARN | 形式 arn:aws:iam::account-id:role/role-name の有効な Amazon リソースネーム (ARN)。 | 監査ログを保存する S3 バケットへのアクセスを許可する IAM ロールの ARN。詳細については、AWS 全般のリファレンス の「[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam)」を参照してください。 | 
| S3\_BUCKET\_ARN | arn:aws:s3:::{{amzn-s3-demo-bucket}} 形式または arn:aws:s3:::{{amzn-s3-demo-bucket}}/key-prefix 形式の有効な ARN。 | 監査ログを保存する S3 バケットの ARN。 | 
| ENABLE\_COMPRESSION | true または false | 監査ログの圧縮を行います。デフォルトでは、圧縮は有効です (true に設定されている)。 | 
| RETENTION\_TIME | 0 ～840  | SQL Server 監査レコードが RDS インスタンスに保持される保持期間 (時間単位)。保持設定は、デフォルトでは無効になります。 | 

## マルチ AZ インスタンスで SQL Server Audit を使用する
<a name="Appendix.SQLServer.Options.Audit.Multi-AZ"></a>

マルチ AZ インスタンスで、監査ログファイルを Amazon S3 に送信するためのプロセスは、単一 AZ インスタンスのプロセスと似ています。ただし、重要な相違点がいくつかあります。
+ データベース監査仕様オブジェクトはすべてのノードにレプリケートされます。
+ サーバー監査およびサーバー監査仕様は、セカンダリノードにはレプリケートされません。その代わりに、手動で作成または変更する必要があります。

サーバー監査またはサーバー監査仕様を両方のノードからキャプチャするには

1. サーバー監査またはサーバー監査仕様をプライマリノードに作成します。

1. セカンダリノードにフェイルオーバーし、セカンダリノードに同じ名前と GUID を持つサーバー監査仕様またはサーバー監査仕様を作成します。GUID を指定するには、`AUDIT_GUID` パラメータを使用します。