Configurer Connecteur pour AD - AWS Private Certificate Authority

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurer Connecteur pour AD

Les étapes décrites dans cette section sont des conditions préalables à l'utilisation de Connector for AD. Cela suppose que vous avez déjà créé un AWS compte. Une fois les étapes décrites sur cette page, vous pouvez commencer à créer un connecteur pour AD.

Étape 1 : créer une autorité de certification privée à l'aide de AWS Private CA

Configurez un Autorité de certification privée AWS pour l'émission de certificats pour les objets de votre répertoire. Pour de plus amples informations, veuillez consulter Autorités de certification en AWS Private CA.

Ils Autorité de certification privée AWS doivent être dans l'Activeétat requis pour créer un connecteur pour AD. Le nom de sujet de l'autorité de certification privée doit inclure un nom commun. La création d'un connecteur échouera si vous essayez de créer un connecteur à l'aide d'une autorité de certification privée sans nom commun.

Étape 2 : configurer un Active Directory

Important

Vous ne pouvez utiliser Connector for Active Directory qu'avec le domaine racine d'un Active Directory.

Outre une autorité de certification privée, vous avez besoin d'un Active Directory dans un cloud privé virtuel (VPC). Connector for AD prend en charge les types de répertoires suivants proposés par AWS Directory Service :

  • AWS Microsoft Active Directory géré : AWS Directory Service vous pouvez exécuter Microsoft Active Directory (AD) en tant que service géré. AWS Directory Service for Microsoft Active Directory également appelé AWS Managed Microsoft AD, est alimenté par Windows Server 2019. Avec AWS Managed Microsoft AD, vous pouvez exécuter des charges de travail sensibles aux annuaires dans le, AWS Cloud notamment Microsoft Sharepoint et des applications .Net personnalisées et basées sur un serveur. SQL

  • Connecteur Active Directory : AD Connector est une passerelle d'annuaire qui peut rediriger les demandes d'annuaire vers votre Microsoft Active Directory local, sans mettre en cache aucune information dans le cloud. AD Connector prend en charge la connexion à un domaine hébergé sur Amazon EC2

Note

L'inscription de contrôleurs de domaine n'est pas prise en charge lors de l'utilisation du Connector for AD avec AWS Managed Microsoft AD.

(Connecteur Active Directory uniquement) Étape 3 : déléguer les autorisations au compte de service

Lorsque vous utilisez le Directory Service AD Connector, vous devez déléguer des autorisations supplémentaires au compte de service. Définissez la liste de contrôle d'accès (ACL) sur le compte de service pour permettre de :

  • Ajouter et supprimer un nom principal de service (SPN) à lui-même

  • Créez et mettez à jour les autorités de certification dans les conteneurs suivants :

    #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
  • Créez et mettez à jour un objet d'autorité de NTAuthCertificates certification (CA). Remarque : si l'objet NTAuthCertificates CA existe, vous devez lui déléguer des autorisations. Si l'objet n'existe pas, vous devez déléguer la possibilité de créer des objets enfants dans le conteneur Public Key Services.

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

Si vous en AWS Managed Microsoft AD utilisez, les autorisations supplémentaires seront déléguées automatiquement lorsque vous autoriserez le service Connector for AD avec votre annuaire. Vous pouvez ignorer cette étape préalable.

Vous pouvez utiliser ce PowerShell script pour déléguer les autorisations supplémentaires. Cela créera l'objet de l'autorité de NTAuthCertifiates certification. Remplacez « myconnectoraccount » par le nom du compte de service.

$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"

Étape 4 : Création d'une IAM politique

Pour créer un connecteur pour AD, vous avez besoin d'une IAM politique qui vous permet de créer des ressources de connecteur, de partager votre autorité de certification privée avec le service Connector for AD et d'autoriser le service Connector for AD avec votre annuaire.

Voici un exemple de politique gérée par l'utilisateur :

{ "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/*" } ] }

Connector for AD nécessite des AWS RAM autorisations supplémentaires, à la fois pour une utilisation en console et en ligne de commande.

{ "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": "*" } ] }

Étape 5 : partager votre autorité de certification privée avec Connector for AD

Vous devrez partager votre autorité de certification privée avec le service Connectors en utilisant le partage principal du AWS Resource Access Manager service.

Lorsque vous créez un connecteur dans la AWS console, le partage de ressources est automatiquement créé pour vous.

Lorsque vous créez un partage de ressources à l'aide de AWS CLI, vous utiliserez la AWS RAM create-resource-share commande.

La commande suivante crée un partage de ressources :

$ 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

Le principal de service qui appelle CreateConnector dispose des autorisations d'émission de certificats sur lePCA. Pour empêcher les responsables de service qui utilisent Connector for AD d'avoir un accès général à vos Autorité de certification privée AWS ressources, limitez leurs autorisations en utilisantCalledVia.

Étape 6 : Création d'un enregistrement dans le répertoire

Vous autorisez le service Connector for AD avec votre annuaire afin que le connecteur puisse communiquer avec votre annuaire. Pour autoriser le service Connector for AD, vous devez créer un enregistrement d'annuaire. Pour plus d'informations sur la création d'un enregistrement dans un annuaire, voir Gérer les inscriptions à l'annuaire

Étape 7 : Configuration des groupes de sécurité

La communication entre vous VPC et le connecteur Connector for AD est directe AWS PrivateLink, ce qui nécessite un ou plusieurs groupes de sécurité dotés de règles entrantes qui ouvrent le port 443 TCP sur votreVPC. Ce groupe de sécurité vous sera demandé lorsque vous créerez un connecteur. Vous pouvez spécifier la source comme personnalisée et sélectionner VPC le CIDR vôtre. Vous pouvez choisir de restreindre davantage cette restriction (adresse IP et ID de groupe de sécuritéCIDR, par exemple).