本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定適用於 AD 的 連接器
本節中的步驟是使用 Connector for AD 的先決條件。它假設您已經建立 AWS 帳戶。完成此頁面上的步驟後,您就可以開始為 AD 建立連接器。
步驟 1:使用 建立私有 CA AWS Private CA
設定 AWS 私有 CA 以將憑證發行至目錄物件。如需詳細資訊,請參閱中的憑證授權機構 AWS Private CA。
必須 AWS 私有 CA 處於 Active
狀態,才能建立適用於 AD 的 Connector。私有 CA 的主題名稱必須包含一般名稱。如果您嘗試使用沒有一般名稱的私有 CA 建立連接器,連接器建立將會失敗。
步驟 2:設定 Active Directory
重要
您只能將 Connector for Active Directory 與 Active Directory 的根網域搭配使用。
除了私有 CA 之外,您需要虛擬私有雲端 (VPC) 中的 Active Directory。Connector for AD 支援下列由 提供的目錄類型 AWS Directory Service:
-
AWS 受管 Microsoft Active Directory:使用 AWS Directory Service ,您可以執行 Microsoft Active Directory (AD) 作為受管服務。 AWS Directory Service for Microsoft Active Directory 也稱為 AWS Managed Microsoft AD,由 Windows Server 2019 提供。透過 AWS Managed Microsoft AD,您可以在 中執行目錄感知工作負載 AWS 雲端,包括 Microsoft Sharepoint 和自訂 .Net 和 SQL Server 型應用程式。
-
Active Directory Connector:AD Connector 是一種目錄閘道,可將目錄請求重新導向至您的內部部署 Microsoft Active Directory,而不會快取雲端中的任何資訊。AD Connector 支援連線至託管在 Amazon EC2 上的網域
注意
搭配使用 Connector for AD 時,不支援註冊網域控制器 AWS Managed Microsoft AD。
(僅限 Active Directory Connector) 步驟 3:將許可委派給服務帳戶
使用 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
-
建立和更新 NTAuthCertificates Certification Authority (CA) 物件。注意:如果 NTAuthCertificates CA 物件存在,則必須委派其許可。如果物件不存在,則必須委派在公有金鑰服務容器上建立子物件的能力。
#objects CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration
注意
如果您使用的是 AWS Managed Microsoft AD ,則當您使用目錄授權 Connector for AD 服務時,系統會自動委派其他許可。您可以略過此先決條件步驟。
您可以使用此 PowerShell 指令碼委派其他許可。它將建立 NTAuthCertifiates 憑證授權機構物件。將「myconnectoraccount」取代為服務帳戶名稱。
$AccountName =
'myconnectoraccount'
$AccountName = 'myconnectoraccount' # DO NOT modify anything below this comment. # Getting Active Directory information. Import-Module -Name 'ActiveDirectory' $currentDomain= Get-ADDomain $RootDSE = Get-ADRootDSE # Check if the current domain is the root domain if ($currentDomain.DistinguishedName -eq $RootDSE.rootDomainNamingContext) { Write-Output "This is a root domain that supports PCA connector configuration." } else { Write-Warning "This is a child domain. You must set up the PCA connector with the root domain:" $RootDSE.rootDomainNamingContext } # 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"
步驟 4:建立 IAM 政策
若要建立 AD 連接器,您需要 IAM 政策,可讓您建立連接器資源、與 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 的 Connector 需要額外的 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
您需要使用服務主體共用,將私有 CA 與連接器 AWS Resource Access Manager 服務共用。
當您在 AWS 主控台中建立連接器時,會自動為您建立資源共用。
使用 建立資源共用時 AWS CLI,您將使用 AWS RAM create-resource-share命令。
下列命令會建立資源共用:
$
aws ram create-resource-share \ --region
us-east-1
\ --nameMyPcaConnectorAdResourceShare
\ --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 \ --sourcesaccount
call CreateConnector 的服務主體在 PCA 上具有憑證發行許可。若要防止使用 Connector for AD 的服務主體對 AWS 私有 CA 資源具有一般存取權,請使用 限制其許可CalledVia
。
步驟 6:建立目錄註冊
您可以使用您的目錄授權 Connector for AD 服務,以便連接器可以與您的目錄通訊。若要授權 Connector for AD 服務,您可以建立目錄註冊。如需建立目錄註冊的詳細資訊,請參閱 管理目錄註冊
步驟 7:設定安全群組
Word VPC與 Connector for AD 連接器之間的通訊是透過 AWS PrivateLink(需要具有 VPC 上連接埠 443 TCP) 的傳入規則的安全群組。建立連接器時,系統會要求您輸入此安全群組。您可以指定來源為自訂,然後選取 VPC 的 CIDR 區塊。您可以選擇進一步限制 (即 IP、CIDR 和安全群組 ID)。