设置自托管式 Active Directory - Amazon Relational Database Service

设置自托管式 Active Directory

要设置自托管式 AD,请执行以下步骤。

步骤 1:在 AD 中创建组织单位

重要

我们建议为任何拥有已加入您自托管式 AD 域的 RDS for SQL Server 数据库实例的 AWS 账户创建专用 OU 以及作用域为该 OU 的服务凭证。通过专用 OU 和服务凭证,您可以避免权限冲突并遵循最低权限原则。

在 AD 中创建 OU
  1. 以域管理员身份连接到您的 AD 域。

  2. 打开 Active Directory 用户和计算机,然后选择要在其中创建 OU 的域。

  3. 右键单击该域并选择新建,然后选择组织单位

  4. 为 OU 输入名称。

  5. 选中保护容器免遭意外删除复选框。

  6. 单击确定。您的新 OU 将出现在您的域下。

步骤 2:在您的 AD 中创建 AD 域服务账户

域服务账户凭证将用于 AWS Secrets Manager 中的密钥。

在 AD 中创建 AD 域服务账户
  1. 打开 Active Directory 用户和计算机,然后选择要在其中创建用户的域和 OU。

  2. 右键单击用户对象并选择新建,然后选择用户

  3. 输入用户的名字、姓氏和登录名。单击下一步

  4. 输入用户的密码。请勿选择“用户下次登录时必须更改密码”。请勿选择“账户已禁用”。单击下一步

  5. 单击确定。您的新用户将出现在您的域下。

步骤 3:将控制权委派给 AD 域服务账户

将控制权委派给域中的 AD 域服务账户
  1. 打开 Active Directory 用户和计算机 MMC 管理单元,然后选择要在其中创建用户的域。

  2. 右键单击您之前创建的 OU,然后选择委派控制权

  3. 委派控制权向导页面上,单击下一步

  4. 用户或组部分,单击添加

  5. 选择用户、计算机或组部分,输入您创建的 AD 域服务账户,然后单击检查名称。如果您的 AD 域服务账户检查成功,请单击确定

  6. 用户或组部分,确认您的 AD 域服务账户已添加,然后单击下一步

  7. 要委派的任务部分,选择创建要委派的自定义任务,然后选择下一步

  8. Active Directory 对象类型部分:

    1. 选择仅文件夹中的以下对象

    2. 选择计算机对象

    3. 选择在此文件夹中创建选定对象

    4. 选择删除此文件夹中的选定对象,然后单击下一步

  9. 权限部分:

    1. 常规保持为选中状态。

    2. 选择已验证写入 DNS 主机名

    3. 选择已验证写入服务主体名称,然后单击下一步

    4. 要启用 Kerberos 身份验证,请选中特定于属性,然后从列表中选择写入 servicePrincipalName

  10. 对于完成控制权委派向导,请检查并确认您的设置,然后单击完成

  11. 要进行 Kerberos 身份验证,请打开 DNS 管理器并打开服务器属性。

    1. 在 Windows 对话框中,输入 dnsmgmt.msc

    2. 安全选项卡下添加 AD 域服务账户。

    3. 选择读取权限并应用您的更改。

步骤 4:创建 AWS KMS 密钥

KMS 密钥用于加密您的 AWS 密钥。

要创建 AWS KMS 密钥
注意

对于加密密钥,请勿使用 AWS 原定设置 KMS 密钥。确保在包含要加入自托管式 AD 的 RDS for SQL Server 数据库实例的 AWS 账户中创建 AWS KMS 密钥。

  1. 在 AWS KMS 控制台中,选择创建密钥

  2. 对于密钥类型,选择对称

  3. 对于密钥用法,选择加密和解密

  4. 对于 Advanced options (高级选项)

    1. 对于密钥材料源,选择 KMS

    2. 对于区域性,选择单区域密钥,然后单击下一步

  5. 对于别名,提供 KMS 密钥的名称。

  6. (可选)对于描述,提供 KMS 密钥的描述。

  7. (可选)对于标签,提供 KMS 密钥的标签,然后单击下一步

  8. 对于密钥管理员,提供 IAM 用户的名称并将其选中。

  9. 对于密钥删除,确保选中允许密钥管理员删除此密钥复选框,然后单击下一步

  10. 对于密钥用户,请提供上一步中的 IAM 用户并将其选中。单击下一步

  11. 审核配置。

  12. 对于密钥策略,请在策略声明中包括以下内容:

    { "Sid": "Allow use of the KMS key on behalf of RDS", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com" ] }, "Action": "kms:Decrypt", "Resource": "*" }
  13. 单击 Finish (完成)

步骤 5:创建 AWS 密钥

创建密钥
注意

确保在包含要加入自托管式 AD 的 RDS for SQL Server 数据库实例的 AWS 账户中创建密钥。

  1. 在 AWS Secrets Manager 下,选择存储新密钥

  2. 对于密钥类型,请选择其他密钥类型

  3. 对于键/值对,请添加您的两个密钥:

    1. 对于第一个密钥,请输入 SELF_MANAGED_ACTIVE_DIRECTORY_USERNAME

    2. 对于第一个密钥的值,请仅输入 AD 用户的用户名(不带域前缀)。请勿包含域名,因为这会导致实例创建失败。

    3. 对于第二个密钥,请输入 SELF_MANAGED_ACTIVE_DIRECTORY_PASSWORD

    4. 对于第二个密钥的值,请输入您在域中为 AD 用户创建的密码。

  4. 对于加密密钥,输入您在上一步中创建的 KMS 密钥,然后单击下一步

  5. 密钥名称中,输入一个描述性名称,以便您稍后查找自己的密钥。

  6. (可选)对于描述,输入密钥名称的描述。

  7. 对于资源权限,请单击编辑

  8. 将以下策略添加到权限策略中:

    注意

    我们建议您在策略中使用 aws:sourceAccountaws:sourceArn 条件,以避免出现混淆代理人问题。将您的 AWS 账户用于 aws:sourceAccount,并将 RDS for SQL Server 数据库实例 ARN 用于 aws:sourceArn。有关更多信息,请参阅 防范跨服务混淆代理问题

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*", "Condition": { "StringEquals": { "aws:sourceAccount": "123456789012" }, "ArnLike": { "aws:sourceArn": "arn:aws:rds:us-west-2:123456789012:db:*" } } } ] }
  9. 单击保存,然后单击下一步

  10. 对于配置轮换设置,保留原定设置值并选择下一步

  11. 查看密钥的设置,然后单击存储

  12. 选择您创建的密钥,然后复制密钥 ARN 的值。下一步将使用它来设置自托管式 Active Directory。