

# ドメインの DB インスタンスの管理
<a name="oracle-kerberos-managing"></a>

コンソール、CLI、RDS API を使用して、DB インスタンスと Microsoft Active Directory との関係を管理できます。例えば、Kerberos 認証を有効化するために、Microsoft Active Directory を関連付けることができます。また、Kerberos 認証を無効化するために、Microsoft Active Directory を関連付けを解除することができます。さらに、1 つの Microsoft Active Directory によって外部に認証される DB インスタンスをもう 1 つの Microsoft Active Directory に移動することもできます。

例えば、CLI を使用して次を実行できます。
+ メンバーシップが失敗認めに Kerberos 認証を再度有効化することを試みるには、[modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) CLI コマンドを使用し、`--domain` オプションの現在のメンバーシップのディレクトリ ID を指定します。
+ DB インスタンスの Kerberos 認証を無効にするには、[modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) CLI コマンドを使用して、`none` オプションに `--domain` を指定します。
+ 1 つのドメインから他のドメインに DB インスタンスを移動するには、[modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) CLI コマンドを使用して、`--domain` オプションに新しいドメインのドメイン識別子を指定します。

## ドメインメンバーシップ状態の表示
<a name="oracle-kerberos-managing.understanding"></a>

DB インスタンスを作成または変更した後で、その DB インスタンスは、ドメインのメンバーになります。DB インスタンスのドメインメンバーシップのステータスは、コンソールで表示したり、[describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) CLI コマンドを実行して表示したりすることができます。DB インスタンスのステータスは、以下のいずれかです。
+ `kerberos-enabled` - DB インスタンスは Kerberos 認証を有効化しました。
+ `enabling-kerberos` - AWS は、この DB インスタンスで Kerberos 認証を有効化中です。
+ `pending-enable-kerberos` - この DB インスタンスでは、Kerberos 認証の有効化が保留中になっています。
+ `pending-maintenance-enable-kerberos` - AWS は、次にスケジュールされたメンテナンスウィンドウで、DB インスタンスでの Kerberos 認証の有効化を試みます。
+ `pending-disable-kerberos` - この DB インスタンスでは、Kerberos 認証の無効化が保留中になっています。
+ `pending-maintenance-disable-kerberos` – AWS は、次にスケジュールされたメンテナンスウィンドウで、DB インスタンスでの Kerberos 認証の無効化を試みます。
+ `enable-kerberos-failed` – 設定の問題により、AWS は DB インスタンス上の Kerberos 認証を有効化できませんでした。DB インスタンスを変更するコマンドを再発行する前に、設定の問題を修正します。
+ `disabling-kerberos` - AWS は、この DB インスタンスで Kerberos 認証を無効化中です。

ネットワーク接続の問題や正しくない IAM ロールのために、Kerberos 認証を有効化するリクエストは失敗する可能性があります。DB インスタンスを作成または変更する際に Kerberos 認証を有効化する試みが失敗した場合は、正しい IAM ロールを使用していることを確認してください。次に、DB インスタンスを変更し、ドメインに接続します。

**注記**  
Amazon RDS for Oracle を使用する Kerberos 認証でのみ、ドメインの DNS サーバーにトラフィックが送信されます。他のすべての DNS リクエストは、Oracle を実行している DB インスタンスでアウトバウンドのネットワークアクセスとして取り扱われます。Amazon RDS for Oracle を使用するアウトバウンドのネットワークアクセスに関する詳細は、「[カスタム DNS サーバーのセットアップ](Appendix.Oracle.CommonDBATasks.System.md#Appendix.Oracle.CommonDBATasks.CustomDNS)」を参照してください。

## Kerberos キーの強制更新
<a name="oracle-kerberos-managing.rotation"></a>

シークレットキーは、AWS Managed Microsoft AD と Amazon RDS for Oracle DB インスタンス間で共有されます。このキーは、45 日ごとに自動で更新されます。このキーを強制的に更新するには、次の Amazon RDS 手順を実行してください。

```
SELECT rdsadmin.rdsadmin_kerberos_auth_tasks.rotate_kerberos_keytab AS TASK_ID FROM DUAL;
```

**注記**  
リードレプリカの設定では、ソース DB インスタンスのみでこの手順を実行可能で、リードレプリカでは実行できません。

`SELECT` ステートメントでは、データ型 `VARCHAR2` のタスクの ID が返ります。実行中のタスクのステータスは bdump ファイルで確認できます。bdump ファイルは `/rdsdbdata/log/trace` ディレクトリにあります。bdump ファイルの名前形式は、以下のとおりです。

```
dbtask-{{task-id}}.log
```

タスクの出力ファイルを表示すると、結果を確認できます。

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-{{task-id}}.log'));
```

{{`task-id`}} は、この手順で返されたタスク ID に置き換えます。

**注記**  
タスクは非同期的に実行されます。