

# 在域中管理数据库实例
<a name="oracle-kerberos-managing"></a>

您可以使用控制台、CLI 或 RDS API 来管理您的数据库实例及其与 Microsoft Active Directory 的关系。例如，您可以关联 Microsoft Active Directory 以启用 Kerberos 身份验证。您也可以取消 Microsoft Active Directory 的关联以禁用 Kerberos 身份验证。您也可以将由一个 Microsoft Active Directory 在外部进行身份验证的数据库实例移动到另一个 Active Directory。

例如，使用 CLI，您可以执行下列操作：
+ 要重新尝试为失败的成员启用 Kerberos 身份验证，请使用 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) CLI 命令并为 `--domain` 选项指定当前成员的目录 ID。
+ 要禁用数据库实例上的 Kerberos 身份验证，请使用 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) CLI 命令并为 `none` 选项指定 `--domain`。
+ 要将数据库实例从一个域移至另一个域，请使用 [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>

在创建或修改数据库实例后，数据库实例将成为域的成员。您可以在控制台中查看数据库实例的域成员身份状态，也可以通过运行 [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) CLI 命令来查看。数据库实例的状态可以是以下状态之一：
+ `kerberos-enabled` – 数据库实例已启用 Kerberos 身份验证。
+ `enabling-kerberos` – AWS是在此数据库实例上启用 Kerberos 身份验证的过程。
+ `pending-enable-kerberos` – 启用 Kerberos 身份验证正在此数据库实例上等待处理。
+ `pending-maintenance-enable-kerberos` – AWS将尝试在下一个计划的维护时段在数据库实例上启用 Kerberos 身份验证。
+ `pending-disable-kerberos` – 禁用 Kerberos 身份验证正在此数据库实例上等待处理。
+ `pending-maintenance-disable-kerberos` – AWS将尝试在下一个计划的维护时段在数据库实例上禁用 Kerberos 身份验证。
+ `enable-kerberos-failed` – 出现一个配置问题，导致AWS无法在数据库实例上启用 Kerberos 身份验证。在重新发出命令以修改数据库实例之前纠正配置问题。
+ `disabling-kerberos` – AWS是在此数据库实例上启用 Kerberos 身份验证的过程。

启用 Kerberos 身份验证的请求可能因网络连接问题或不正确的 IAM 角色而失败。如果在创建或修改数据库实例时尝试启用 Kerberos 身份验证失败，请确保您使用的是正确的 IAM 角色。然后修改数据库实例以加入域。

**注意**  
只有对 Amazon RDS for Oracle 进行 Kerberos 身份验证才会将流量发送到域的 DNS 服务器。所有其他 DNS 请求被视为对运行 Oracle 的数据库实例进行出站网络访问。有关 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 数据库实例之间共享的。该密钥每 45 天自动轮换一次。您可以使用以下 Amazon RDS 过程强制轮换该密钥：

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

**注意**  
在只读副本配置中，只能在源数据库实例上使用该过程，而不能在只读副本上使用该过程。

`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。

**注意**  
任务以异步方式执行。