将 AWS Managed Active Directory 用于 RDS for SQL Server - Amazon Relational Database Service

将 AWS Managed Active Directory 用于 RDS for SQL Server

当用户连接您的 RDS for SQL Server 数据库实例时,您可以使用 AWS Managed Microsoft AD 通过 Windows 身份验证对用户进行身份验证。数据库实例使用 AWS Directory Service for Microsoft Active Directory(也称为 AWS Managed Microsoft AD)来启用 Windows 身份验证。当用户对联接到信任域的 SQL Server 数据库实例进行身份验证时,身份验证请求将转发至您使用 AWS Directory Service 创建的域目录。

区域和版本可用性

Amazon RDS 支持仅使用 AWS Managed Microsoft AD 进行 Windows 身份验证。RDS 不支持使用 AD Connector。有关更多信息,请参阅下列内容:

有关版本和区域可用性的信息,请参阅 RDS for SQL Server 的 Kerberos 身份验证

设置 Windows 身份验证概述

Amazon RDS 使用混合模式进行 Windows 身份验证。此方式意味着,主用户(用于创建 SQL Server 数据库实例的名称和密码)使用 SQL 身份验证。由于主用户账户是特权凭证,您应限制对此账户的访问。

要使用本地或自托管式 Microsoft Active Directory 获取 Windows 身份验证,请创建林信任。信任可以是单向或双向的。有关使用 AWS Directory Service 设置林信任的更多信息,请参阅 AWS Directory Service 管理指南 中的何时创建信任关系

要为 SQL Server 数据库实例设置 Windows 身份验证,请执行下列步骤(为 SQL Server 数据库实例设置 Windows 身份验证 中更为详细地介绍):

  1. 从 AWS Managed Microsoft AD或 AWS Management Console API 使用 AWS Directory Service 创建 AWS Managed Microsoft AD 目录。

  2. 如果使用 AWS CLI 或 Amazon RDS API 创建 SQL Server 数据库实例,请创建 AWS Identity and Access Management(IAM)角色。此角色使用托管 IAM 策略 AmazonRDSDirectoryServiceAccess 并允许 Amazon RDS 调用您的目录。如果您使用控制台创建 SQL Server 数据库实例,则 AWS 将为您创建 IAM 角色。

    为了让角色允许访问,AWS Security Token Service (AWS STS) 终端节点必须在您的 AWS 账户的 AWS 区域中激活。AWS STS 终端节点默认在所有 AWS 区域中保持活跃,且您无需任何进一步动作即可使用它们。有关更多信息,请参阅《IAM 用户指南》中的在 AWS 区域中管理 AWS STS

  3. 使用 Microsoft Active Directory 工具在 AWS Managed Microsoft AD 目录中创建和配置用户与组。有关在 Microsoft Active Directory 中创建用户的更多信息,请参阅 AWS Directory Service管理指南中的管理 AWS Managed Microsoft AD 中的用户和组

  4. 如果您计划在不同 VPC 中查找目录和数据库实例,请启用跨 VPC 流量。

  5. 使用 Amazon RDS 从控制台、AWS CLI 或 Amazon RDS API 新建 SQL Server 数据库实例。在创建请求中,提供在创建目录时生成的域标识符(“d-*”标识符)和您创建的角色的名称。通过为数据库实例设置域和 IAM 角色参数,您还可将现有 SQL Server 数据库实例修改为使用 Windows 身份验证。

  6. 使用 Amazon RDS 主用户凭证连接到 SQL Server 数据库实例,就像连接到任何其他数据库实例一样。由于数据库实例已联接到 AWS Managed Microsoft AD 域,您可从域中的 Active Directory 用户和组中预配置 SQL Server 登录名和用户。(这称为 SQL Server“Windows”登录。) 通过对这些 Windows 登录名授予和撤销标准 SQL Server 权限来管理数据库权限。

还原 SQL Server 数据库实例,然后将其添加到域中

您可还原数据库快照或为 SQL Server 数据库实例执行时间点恢复 (PITR),然后将其添加到域中。数据库实例还原后,使用步骤 5:创建或修改 SQL Server 数据库实例中介绍的过程修改此实例以将数据库实例添加到域中。