

# Amazon RDS for Microsoft SQL Server の監査ポリシーの設定
<a name="DBActivityStreams.configuring-auditing-SQLServer"></a>

SQL Server データベースインスタンスにはサーバー監査 `RDS_DAS_AUDIT` があり、Amazon RDS によって管理されます。サーバー監査仕様 `RDS_DAS_SERVER_AUDIT_SPEC` にサーバーイベントを記録するポリシーを定義できます。`RDS_DAS_DB_<name>` などのデータベース監査仕様を作成し、データベースイベントを記録するポリシーを定義できます。サーバーレベルとデータベースレベルの監査アクショングループのリストについては、*Microsoft SQL Server ドキュメント*の「[SQL Server 監査アクショングループとアクション](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions)」を参照してください。

デフォルトのサーバーポリシーは、失敗したログインと、データベースアクティビティストリームのデータベースまたはサーバー監査仕様の変更のみを監視します。

監査および監査仕様の制限には以下が含まれます。
+ データベースアクティビティストリームが*ロック*状態の場合、サーバーまたはデータベースの監査仕様を変更することはできません。
+ サーバー監査 `RDS_DAS_AUDIT` の仕様は変更できません。
+ SQL Server 監査 `RDS_DAS_CHANGES` または関連するサーバー監査仕様 `RDS_DAS_CHANGES_AUDIT_SPEC` は変更できません。
+ データベース監査仕様を作成するときには、`RDS_DAS_DB_databaseActions` などの形式 `RDS_DAS_DB_<name>` を使用する必要があります。

**重要**  
小規模なインスタンスクラスでは、すべてを監査せず、必要なデータだけを監査することをお勧めします。これにより、これらのインスタンスクラスに対するデータベースアクティビティストリームのパフォーマンスへの影響を軽減できます。

次のサンプルコードは、サーバー監査仕様 `RDS_DAS_SERVER_AUDIT_SPEC` を変更し、ログアウトと成功したログインアクションを監査します。

```
ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC]
      WITH (STATE=OFF);
ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC]
      ADD (LOGOUT_GROUP),
      ADD (SUCCESSFUL_LOGIN_GROUP)
      WITH (STATE = ON );
```

次のサンプルコードは、データベース監査仕様 `RDS_DAS_DB_database_spec` を作成し、それをサーバー監査 `RDS_DAS_AUDIT` に添付します。

```
USE testDB;
CREATE DATABASE AUDIT SPECIFICATION [RDS_DAS_DB_database_spec]
     FOR SERVER AUDIT [RDS_DAS_AUDIT]
     ADD ( INSERT, UPDATE, DELETE  
          ON testTable BY testUser )  
     WITH (STATE = ON);
```

監査仕様を設定したら、仕様 `RDS_DAS_SERVER_AUDIT_SPEC` および `RDS_DAS_DB_<name>` が `ON` の状態に設定されていることを確認します。これで、監査データをデータベースアクティビティストリームに送信できます。