设置 Connector for AD - AWS Private Certificate Authority

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置 Connector for AD

本节中的步骤是使用适用于 AD 的连接器的先决条件。它假设你已经创建了一个 AWS 账户。完成本页上的步骤后,就可以开始为 AD 创建连接器了。

步骤 1:使用创建私有 CA AWS Private CA

设置私有证书颁发机构 (CA),用于向目录对象颁发证书。有关更多信息,请参阅 中的证书颁发机构 AWS Private CA

私有 CA 必须处于Active状态才能为 AD 创建连接器。私有 CA 的使用者名称必须包含公用名。如果您尝试使用不带公用名的私有 CA 创建连接器,则连接器创建将失败。

步骤 2:设置活动目录

除了私有 CA 之外,您还需要虚拟私有云 (VPC) 中的活动目录。Connector for AD 支持由 AWS Directory Service提供的以下目录类型:

  • AWS 托管微软 Active Direct ory:有了它, AWS Directory Service 你可以将微软活动目录 (AD) 作为托管服务运行。 AWS Directory Service for Microsoft Active Directory 也称为 AWS Managed Microsoft AD,由 Windows Server 2019 提供支持。使用 AWS Managed Microsoft AD,你可以在中运行目录感知型工作负载,包括微软 Sharepoint 以及基于.Net 和 SQL Server 的自定义应用程序。 AWS 云

  • Active Directory Connector:AD Connector 是一种目录网关,可以将目录请求重定向到本地 Microsoft Active Directory,而无需在云中缓存任何信息。AD Connector 支持连接到亚马逊上托管的域名 EC2

注意

使用适用于 AD 的连接器时,不支持注册域控制器。 AWS Managed Microsoft AD

(仅限 Active Directory 连接器)第 3 步:将权限委托给服务帐户

注意

如果您正在使用,则当您在目录 AWS Managed Microsoft AD 中授权 Connector for AD 服务时,系统会自动委派其他权限。您可以跳过此先决条件步骤。

使用 Directory Service AD Connector 时,您需要向服务账户委派其他权限。在服务账户上设置访问控制列表(ACL)以允许以下功能:

  • 向其自身添加和删除服务主体名称(SPN)

  • 在以下容器中创建和更新证书颁发机构:

    #containers CN=Public Key Services,CN=Services,CN=Configuration CN=AIA,CN=Public Key Services,CN=Services,CN=Configuration CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration
  • 创建和更新 NTAuth证书颁发机构 (CA) 对象。注意:如果存在 Cer NTAuth tificates CA 对象,则必须为其委派权限。如果对象不存在,则必须委派在公钥服务容器上创建子对象的权限。

    #objects CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration

官方 Connector fo r Active Directory 存储库中提供的 PowerShell 脚本可用于委派目录服务 AD Connector 服务帐户所需的额外权限。

此脚本创建 NTAuth证书证书颁发机构对象。

有关最新版本的脚本和用法详情,请参阅GitHub 存储库中的自述文件。

步骤 4:创建 IAM 策略

要为 AD 创建连接器,您需要一个 IAM policy,该策略允许您创建连接器资源,与 Connector for AD 服务共享您的私有 CA,并使用您的目录中授权 Connector for AD 服务。

以下是用户托管策略的示例:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "pca-connector-ad:*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "acm-pca:DescribeCertificateAuthority", "acm-pca:GetCertificate", "acm-pca:GetCertificateAuthorityCertificate", "acm-pca:ListCertificateAuthorities", "acm-pca:ListTags", "acm-pca:PutPolicy" ], "Resource": "*" }, { "Effect": "Allow", "Action": "acm-pca:IssueCertificate", "Resource": "*", "Condition": { "StringLike": { "acm-pca:TemplateArn": "arn:aws:acm-pca:::template/BlankEndEntityCertificate_APIPassthrough/V*" }, "ForAnyValue:StringEquals": { "aws:CalledVia": "pca-connector-ad.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ds:AuthorizeApplication", "ds:DescribeDirectories", "ds:ListTagsForResource", "ds:UnauthorizeApplication", "ds:UpdateAuthorizedApplication" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateVpcEndpoint", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcEndpoints", "ec2:DescribeVpcs", "ec2:DeleteVpcEndpoints" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeTags", "ec2:DeleteTags", "ec2:CreateTags" ], "Resource": "arn:*:ec2:*:*:vpc-endpoint/*" } ] }

AD 连接器需要额外的 AWS RAM 权限,才能使用控制台和命令行。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ram:CreateResourceShare", "Resource": "*", "Condition": { "StringEqualsIfExists": { "ram:Principal": "pca-connector-ad.amazonaws.com", "ram:RequestedResourceType": "acm-pca:CertificateAuthority" } } }, { "Effect": "Allow", "Action": [ "ram:GetResourcePolicies", "ram:GetResourceShareAssociations", "ram:GetResourceShares", "ram:ListPrincipals", "ram:ListResources", "ram:ListResourceSharePermissions", "ram:ListResourceTypes" ], "Resource": "*" } ] }

第 5 步:与 Connector for AD 共享您的私有 CA

您需要使用 AWS Resource Access Manager 服务主体共享与连接器服务共享您的私有 CA。

在 AWS 控制台中创建连接器时,系统会自动为您创建资源共享。

使用创建资源共享时 AWS CLI,将使用 AWS RAM create-resource-share命令。

以下命令创建资源共享:

$ aws ram create-resource-share \ --region us-east-1 \ --name MyPcaConnectorAdResourceShare \ --permission-arns arn:aws:ram::aws:permission/AWSRAMBlankEndEntityCertificateAPIPassthroughIssuanceCertificateAuthority \ --resource-arns arn:aws:acm-pca:region:account:certificate-authority/CA_ID \ --principals pca-connector-ad.amazonaws.com \ --sources account

调用的服务主体在 PCA 上 CreateConnector 拥有证书颁发权限。要防止使用 Connector for AD 的服务主体拥有对您的 AWS 私有 CA 资源的常规访问权限,请使用 CalledVia 限制其权限。

步骤 6:创建目录注册

您授权 Connector for AD 服务使用您的目录,以便连接器可以与您的目录通信。要授权 Connector for AD 服务,您需要创建目录注册。有关创建目录注册的更多信息,请参阅 管理目录注册

步骤 7:配置安全组

您的 VPC 与 AD 连接器之间的通信是通过的 AWS PrivateLink,这需要一个或多个安全组,其入站规则可在您的 VPC 上打开 443 TCP 端口。当您创建连接器时,系统会要求您输入此安全组。您可以将源指定为自定义,然后选择 VPC 的 CIDR 块。您可以选择进一步限制此项(即 IP、CIDR 和安全组 ID)。

步骤 8:为目录对象配置网络访问权限

目录对象需要公共 Internet 访问权限才能验证来自以下域的在线证书状态协议 (OCSP) 和证书吊销列表 (CRLs):

*.windowsupdate.com *.amazontrust.com

所需的最低访问规则:

  • OCSP 和 CRL 通信所必需的:

    TCP 80: (HTTP) to 0.0.0.0/0
  • 对于 AD 的连接器是必需的:

    TCP 443: (HTTPS) to 0.0.0.0/0
  • 活动目录必填项:

    TCP 88: (Kerberos) to Domain Controller IP range TCP/UDP 389/636: (LDAP/LDAPS) to Domain Controller IP range, depending on Domain Controller configuration TCP/UDP 53: (DNS) to 0.0.0.0/0

如果设备无法访问公共互联网,则证书颁发将间歇性失败,并显示错误代码 WS_E_OPERATION_TIMED_OUT.

注意

如果您正在为 Amazon EC2 实例配置安全组,则该安全组不必与步骤 7 中的安全组相同。