本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 AD AWS Private CA Connector 设置 AD 连接器
您可以整合自己的自我管理 Active Directory (AD) 和 AWS Private Certificate Authority (CA) 和 AD Connector 可为您的 AD 域已加入的用户、群组和计算机颁发和管理证书。 AWS Private CA Connector for AD 允许您为自行管理的企业使用完全托管的 AWS Private CA 嵌入式替代方案, CAs 而无需部署、修补或更新本地代理或代理服务器。
您可以通过 Directory Service 控制台、AD AWS Private CA 连接器控制台或调用 CreateTemplate
API 来设置与目录的集 AWS Private CA 成。通过 AWS Private CA 连接器设置私有 CA 集成 Active Directory 控制台,参见 “AWS Private CA 连接器” Active Directory。 有关如何从 AWS Directory Service 控制台设置此集成的步骤,请参阅下文。
先决条件
使用 AD Connector 时,您需要向服务账户委托额外权限。在您的服务账户上设置访问控制列表(ACL),以便自己能够执行以下操作。
-
向其自身添加和删除服务主体名称(SPN)。
-
在以下容器中创建和更新证书颁发机构:
#containers CN=AIA,CN=Public Key Services,CN=Services,CN=Configuration, CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration, CN=Public Key Services,CN=Services,CN=Configuration
-
创建和更新 NTAuth证书颁发机构对象,如下例所示。如果 NTAuth证书证书颁发机构对象存在,则必须为其委派权限。如果对象不存在,则必须委托在公钥服务容器上创建子对象的权限。
#objects CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration
注意
如果你使用的是 AWS 托管 Microsoft AD,那么当你在目录中授权 Conn AWS Private CA ector for AD 服务时,系统会自动委派额外的权限。
你可以使用以下 PowerShell 用于委派其他权限并创建 NTAuth Certifiates 证书颁发机构对象的脚本。myconnectoraccount
替换为服务帐号名称。
$AccountName = '
myconnectoraccount
' # DO NOT modify anything below this comment. # Getting Active Directory information. Import-Module -Name 'ActiveDirectory' $RootDSE = Get-ADRootDSE # Getting AD Connector service account Information $AccountProperties = Get-ADUser -Identity $AccountName $AccountSid = New-Object -TypeName 'System.Security.Principal.SecurityIdentifier' $AccountProperties.SID.Value [System.GUID]$ServicePrincipalNameGuid = (Get-ADObject -SearchBase $RootDse.SchemaNamingContext -Filter { lDAPDisplayName -eq 'servicePrincipalName' } -Properties 'schemaIDGUID').schemaIDGUID $AccountAclPath = $AccountProperties.DistinguishedName # Getting ACL settings for AD Connector service account. $AccountAcl = Get-ACL -Path "AD:\$AccountAclPath" # Setting ACL allowing the AD Connector service account the ability to add and remove a Service Principal Name (SPN) to itself $AccountAccessRule = New-Object -TypeName 'System.DirectoryServices.ActiveDirectoryAccessRule' $AccountSid, 'WriteProperty', 'Allow', $ServicePrincipalNameGuid, 'None' $AccountAcl.AddAccessRule($AccountAccessRule) Set-ACL -AclObject $AccountAcl -Path "AD:\$AccountAclPath" # Add ACLs allowing AD Connector service account the ability to create certification authorities [System.GUID]$CertificationAuthorityGuid = (Get-ADObject -SearchBase $RootDse.SchemaNamingContext -Filter { lDAPDisplayName -eq 'certificationAuthority' } -Properties 'schemaIDGUID').schemaIDGUID $CAAccessRule = New-Object -TypeName 'System.DirectoryServices.ActiveDirectoryAccessRule' $AccountSid, 'ReadProperty,WriteProperty,CreateChild,DeleteChild', 'Allow', $CertificationAuthorityGuid, 'None' $PKSDN = "CN=Public Key Services,CN=Services,CN=Configuration,$($RootDSE.rootDomainNamingContext)" $PKSACL = Get-ACL -Path "AD:\$PKSDN" $PKSACL.AddAccessRule($CAAccessRule) Set-ACL -AclObject $PKSACL -Path "AD:\$PKSDN" $AIADN = "CN=AIA,CN=Public Key Services,CN=Services,CN=Configuration,$($RootDSE.rootDomainNamingContext)" $AIAACL = Get-ACL -Path "AD:\$AIADN" $AIAACL.AddAccessRule($CAAccessRule) Set-ACL -AclObject $AIAACL -Path "AD:\$AIADN" $CertificationAuthoritiesDN = "CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,$($RootDSE.rootDomainNamingContext)" $CertificationAuthoritiesACL = Get-ACL -Path "AD:\$CertificationAuthoritiesDN" $CertificationAuthoritiesACL.AddAccessRule($CAAccessRule) Set-ACL -AclObject $CertificationAuthoritiesACL -Path "AD:\$CertificationAuthoritiesDN" $NTAuthCertificatesDN = "CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,$($RootDSE.rootDomainNamingContext)" If (-Not (Test-Path -Path "AD:\$NTAuthCertificatesDN")) { New-ADObject -Name 'NTAuthCertificates' -Type 'certificationAuthority' -OtherAttributes @{certificateRevocationList=[byte[]]'00';authorityRevocationList=[byte[]]'00';cACertificate=[byte[]]'00'} -Path "CN=Public Key Services,CN=Services,CN=Configuration,$($RootDSE.rootDomainNamingContext)" } $NTAuthCertificatesACL = Get-ACL -Path "AD:\$NTAuthCertificatesDN" $NullGuid = [System.GUID]'00000000-0000-0000-0000-000000000000' $NTAuthAccessRule = New-Object -TypeName 'System.DirectoryServices.ActiveDirectoryAccessRule' $AccountSid, 'ReadProperty,WriteProperty', 'Allow', $NullGuid, 'None' $NTAuthCertificatesACL.AddAccessRule($NTAuthAccessRule) Set-ACL -AclObject $NTAuthCertificatesACL -Path "AD:\$NTAuthCertificatesDN"
设置 AWS Private CA Connector for AD
登录 AWS Management Console 并打开 AWS Directory Service 控制台,网址为https://console.aws.amazon.com/directoryservicev2/
。 在目录页面上,选择您的目录 ID。
在 “应用程序管理” 选项卡和 “AWS 应用程序和服务” 部分下,选择 AD AWS Private CA 连接器。“为其创建私有 CA 证书” 页面 Active Directory出现。按照控制台上的步骤为创建您的私有 CA Active Directory 用于向您的私有 CA 注册的连接器。有关更多信息,请参阅 Creating a connector。
创建连接器后,以下步骤将引导您了解如何查看 AD AWS Private CA 连接器的详细信息,包括连接器的状态和关联的私有 CA 的状态。
查看 AWS Private CA Connector for AD
登录 AWS Management Console 并打开 AWS Directory Service 控制台,网址为https://console.aws.amazon.com/directoryservicev2/
。 在目录页面上,选择您的目录 ID。
在 “应用程序管理” 选项卡和 “AWS 应用程序和服务” 部分下,您可以查看您的私有 CA 连接器和关联的私有 CA。默认情况下,您会看到以下字段:
AWS Private CA 连接器 ID- AWS Private CA 连接器的唯一标识符。选择它会进入该 AWS Private CA 连接器的详细信息页面。
AWS Private CA 主题-有关 CA 的可分辨名称的信息。点击该字段会进入该 AWS Private CA的详细信息页面。
状态 —基于对 AWS Private CA 连接器的状态检查和 AWS Private CA. 如果两项检查均通过,则会显示活动。如果其中一项检查失败,则会显示 1/2 检查失败。如果两项检查均失败,则会显示失败。有关失败状态的更多信息,请将鼠标悬停在超链接上以了解哪项检查失败。按照控制台中的说明进行修复。
创建日期- AWS Private CA 连接器的创建日期。
有关更多信息,请参阅 View connector details。
确认 AWS Private CA 已签发证书
您可以完成以下步骤来确认 AWS Private CA 正在向您的自管理系统颁发证书 Active Directory.
重启您的本地域控制器。
-
使用查看您的证书 Microsoft Management Console。 有关更多信息,请参阅 Microsoft 文档
。