

# RDS for Db2 の監査ポリシーのストアドプロシージャ
<a name="db2-sp-managing-audit-policies"></a>

このトピックで説明した組み込みのストアドプロシージャでは、監査ログ記録を使用する Amazon RDS for Db2 データベースの監査ポリシーを管理します。詳細については、「[Db2 監査ログ記録](Db2.Options.Audit.md)」を参照してください。これらのプロシージャを実行する場合、マスターユーザーはまず `rdsadmin` データベースに接続する必要があります。

構文、パラメータ、使用上の注意、例については、以下の組み込みストアドプロシージャを参照してください。

**Topics**
+ [rdsadmin.configure\$1db\$1audit](#db2-sp-configure-db-audit)
+ [rdsadmin.disable\$1db\$1audit](#db2-sp-disable-db-audit)

## rdsadmin.configure\$1db\$1audit
<a name="db2-sp-configure-db-audit"></a>

*db\$1name* で指定された RDS for Db2 データベースの監査ポリシーを設定します。設定するポリシーが存在しない場合は、このストアドプロシージャを呼び出すとポリシーが作成されます。このポリシーが存在する場合、このストアドプロシージャを呼び出すと、指定したパラメータ値でポリシーが変更されます。

### 構文
<a name="db2-sp-configure-db-audit-syntax"></a>

```
db2 "call rdsadmin.configure_db_audit(
    'db_name', 
    'category', 
    'category_setting', 
    '?')"
```

### パラメータ
<a name="db2-sp-configure-db-audit-parameters"></a>

以下のパラメータは必須です。

*db\$1name*  
db\$1name で指定された監査ポリシーを設定する RDS for Db2 データベースの DB 名。データ型は `varchar` です。

*category*  
この監査ポリシーを設定するカテゴリの名前。データ型は `varchar` です。このパラメータには、次の値が有効です。  
+ `ALL` – `ALL` では、Amazon RDS に `CONTEXT`、`EXECUTE`、または `ERROR` カテゴリは含まれません。
+ `AUDIT` 
+ `CHECKING` 
+ `CONTEXT` 
+ `ERROR` 
+ `EXECUTE` - このカテゴリは、データありまたはデータなしで設定できます。データありでは、ホスト変数とパラメータマーカーに指定された入力データ値もログに記録されます。デフォルトでは、データなしになっています。詳細については、*category\$1setting* パラメータの説明と「[例](#db2-sp-configure-db-audit-examples)」を参照してください。
+ `OBJMAINT` 
+ `SECMAINT` 
+ `SYSADMIN` 
+ `VALIDATE` 
これらのコンポーネントの詳細については、[IBM Db2 のドキュメント](https://www.ibm.com/docs/en/db2/11.1?topic=statements-create-audit-policy)を参照してください。

*category\$1setting*  
指定された監査カテゴリの設定。データ型は `varchar` です。  
次の表は、各カテゴリの有効なカテゴリ設定値を示しています。      
<a name="db2-option-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/db2-sp-managing-audit-policies.html)

### 使用に関する注意事項
<a name="db2-sp-configure-db-audit-usage-notes"></a>

`rdsadmin.configure_db_audit` を呼び出す前に、監査ポリシーの設定対象となるデータベースを持つ RDS for Db2 DB インスタンスが、`DB2_AUDIT` オプションのあるオプショングループに関連付けられていることを確認してください。詳細については、「[Db2 監査ログのセットアップ](Db2.Options.Audit.md#db2-audit-setting-up)」を参照してください。

監査ポリシーを設定したら、「[監査設定を確認する](Db2.Options.Audit.md#db2-audit-check-config-status)」の手順に従ってデータベースの監査設定のステータスを確認できます。

`category` パラメータに `ALL` を指定しても `CONTEXT`、`EXECUTE`、`ERROR` カテゴリは含まれません。これらのカテゴリを監査ポリシーに追加するには、追加するカテゴリごとに個別に `rdsadmin.configure_db_audit` を呼び出します。詳細については、「[例](#db2-sp-configure-db-audit-examples)」を参照してください。

### 例
<a name="db2-sp-configure-db-audit-examples"></a>

以下の例では、`TESTDB` という名前のデータベースの監査ポリシーを作成または変更します。例 1～5 では、`ERROR` カテゴリが以前に設定されていない場合、このカテゴリは `NORMAL` (デフォルト) に設定されます。その設定を `AUDIT` に変更するには、「[Example 6: Specifying the ERROR category](#example-6)」に従います。

**例 1: `ALL` カテゴリを指定する**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'ALL', 'BOTH', ?)"
```

この例では、呼び出しで監査ポリシーの `AUDIT`、`CHECKING`、`OBJMAINT`、`SECMAINT`、`SYSADMIN`、`VALIDATE` カテゴリを設定します。`BOTH` を指定すると、成功したイベントと失敗したイベントの両方に対してこの各カテゴリについての監査が行われます。

**例 2: データを使用して `EXECUTE` カテゴリを指定する**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'SUCCESS,WITH', ?)"
```

この例では、呼び出しで監査ポリシーの `EXECUTE` カテゴリを設定します。`SUCCESS,WITH` を指定すると、このカテゴリのログには成功したイベントのみが含まれ、ホスト変数とパラメータマーカーに対して指定された入力データ値が含まれます。

**例 3: データなしで `EXECUTE` カテゴリを指定する**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'FAILURE,WITHOUT', ?)"
```

この例では、呼び出しで監査ポリシーの `EXECUTE` カテゴリを設定します。`FAILURE,WITHOUT` を指定すると、このカテゴリのログには失敗したイベントのみが含まれ、ホスト変数とパラメータマーカーに対して指定された入力データ値は含まれません。

**例 4: ステータスイベントなしで `EXECUTE` カテゴリを指定する**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'EXECUTE', 'NONE', ?)"
```

この例では、呼び出しで監査ポリシーの `EXECUTE` カテゴリを設定します。`NONE` を指定すると、このカテゴリのイベントは監査されません。

**例 5: `OBJMAINT` カテゴリを指定する**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'OBJMAINT', 'NONE', ?)"
```

この例では、呼び出しで監査ポリシーの `OBJMAINT` カテゴリを設定します。`NONE` を指定すると、このカテゴリのイベントは監査されません。

**例 6: `ERROR` カテゴリを指定する**

```
db2 "call rdsadmin.configure_db_audit('TESTDB', 'ERROR', 'AUDIT', ?)"
```

この例では、呼び出しで監査ポリシーの `ERROR` カテゴリを設定します。`AUDIT` を指定すると、監査ログ記録自体で発生するエラーを含むすべてのエラーがログにキャプチャされます。デフォルトのエラータイプは `NORMAL` です。`NORMAL` では、監査によって生成されたエラーは無視され、実行中のオペレーションに関連付けられたエラーの `SQLCODE` のみがキャプチャされます。

## rdsadmin.disable\$1db\$1audit
<a name="db2-sp-disable-db-audit"></a>

*db\$1name* で指定された RDS for Db2 データベースの監査ログ記録を停止し、そのデータベースに対して設定された監査ポリシーを削除します。

**注記**  
このストアドプロシージャは、[rdsadmin.configure\$1db\$1audit](#db2-sp-configure-db-audit) の呼び出しによって設定された監査ポリシーのみを削除します。

### 構文
<a name="db2-sp-disable-db-audit-syntax"></a>

```
db2 "call rdsadmin.disable_db_audit('db_name', ?)"
```

### パラメータ
<a name="db2-sp-disable-db-audit-parameters"></a>

以下のパラメータは必須です。

*db\$1name*  
監査ログ記録を無効にする RDS for Db2 データベースの DB 名。データ型は `varchar` です。

### 使用に関する注意事項
<a name="db2-sp-disable-db-audit-usage-notes"></a>

`rdsadmin.disable_db_audit` を呼び出しても、RDS for Db2 DB インスタンスの監査ログ記録は無効になりません。DB インスタンスレベルで監査ログ記録を無効にするには、DB インスタンスからオプショングループを削除します。詳細については、「[Db2 監査ログ記録の無効化](Db2.Options.Audit.md#db2-audit-disabling)」を参照してください。

### 例
<a name="db2-sp-disable-db-audit-examples"></a>

次の例では、`TESTDB` という名前のデータベースの監査ログ記録を無効にします。

```
db2 "call rdsadmin.disable_db_audit('TESTDB', ?)"
```