Configuration de l'authentification Windows pour les instances de base de données SQL Server - Amazon Relational Database Service

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.

Configuration de l'authentification Windows pour les instances de base de données SQL Server

Vous utilisez AWS Directory Service for Microsoft Active Directory, également appelé AWS Managed Microsoft AD, pour configurer l'authentification Windows pour une instance de base de données SQL Server. Pour configurer l'authentification Windows, procédez comme suit.

Étape 1 : créer un répertoire à l'aide du AWS Directory Service for Microsoft Active Directory

AWS Directory Service crée un Microsoft Active Directory entièrement géré dans le AWS cloud. Lorsque vous créez un AWS Managed Microsoft AD annuaire, il AWS Directory Service crée deux contrôleurs de domaine et des serveurs DNS (Domain Name Service) en votre nom. Les serveurs de répertoire sont créés dans deux sous-réseaux sur deux zones de disponibilité différentes avec un VPC. Cette redondance permet de s'assurer que votre répertoire reste accessible y compris en cas de défaillance.

Lorsque vous créez un AWS Managed Microsoft AD répertoire, il AWS Directory Service exécute les tâches suivantes en votre nom :

  • Configuration de Microsoft Active Directory dans le VPC.

  • Création d'un compte d'administrateur d'annuaire avec le nom d'utilisateur Admin et le mot de passe spécifié. Ce compte est utilisé pour gérer votre annuaire.

  • Création d'un groupe de sécurité pour les contrôleurs de l'annuaire.

Lorsque vous lancez un AWS Directory Service for Microsoft Active Directory, AWS crée une unité organisationnelle (UO) qui contient tous les objets de votre répertoire. Cette unité d'organisation, qui porte le nom NetBIOS que vous avez saisi lorsque vous avez créé votre annuaire, est située dans la racine du domaine. La racine du domaine est détenue et gérée par AWS.

Le compte admin qui a été créé avec votre annuaire AWS Managed Microsoft AD dispose des autorisations pour les activités administratives les plus courantes pour votre unité d'organisation :

  • Créer, mettre à jour ou supprimer des utilisateurs, des groupes et des ordinateurs

  • Ajouter des ressources à votre domaine, comme des serveurs de fichiers ou d'impression, puis attribuer des autorisations pour ces ressources aux utilisateurs et groupes dans votre unité d'organisation.

  • Créez OUs des conteneurs supplémentaires.

  • Déléguer des autorités.

  • Créer et associer des stratégies de groupes.

  • Restaurer des objets supprimés de la corbeille Active Directory.

  • Exécutez les PowerShell modules Windows AD et DNS sur le service Web Active Directory.

Le compte admin dispose également de droits pour exécuter les activités suivantes au niveau du domaine :

  • Gérer les configurations DNS (ajouter, supprimer ou mettre à jour des enregistrements, des zones et des redirecteurs)

  • Afficher les journaux d'événements DNS.

  • Afficher les journaux d'événements de sécurité.

Pour créer un répertoire avec AWS Managed Microsoft AD
  1. Dans le panneau de navigation de la console AWS Directory Service, choisissez Annuaires, puis Configurer un annuaire.

  2. Choisissez AWS Managed Microsoft AD. Il s'agit de la seule option prise en charge actuellement pour être utilisée avec Amazon RDS.

  3. Choisissez Suivant.

  4. Sur la page Enter directory information (Saisir les détails du répertoire), renseignez les informations suivantes :

    Edition

    Choisissez l'édition qui correspond à vos besoins.

    Nom de DNS de l'annuaire

    Nom complet de l'annuaire, par exemple corp.example.com. Les noms de plus de 47 caractères ne sont pas pris en charge par SQL Server.

    Nom NetBIOS de l'annuaire

    Nom court facultatif pour l'annuaire, par exemple CORP.

    Description de l'annuaire

    Description facultative de l'annuaire.

    Mot de passe administrateur

    Mot de passe de l'administrateur de l'annuaire. Le processus de création d'un annuaire crée un compte d'administrateur avec le nom d'utilisateur Admin et ce mot de passe.

    Le mot de passe de l'administrateur de l'annuaire ne peut pas inclure le terme admin. Le mot de passe est sensible à la casse et doit comporter entre 8 et 64 caractères. Il doit également contenir au moins un caractère de trois des quatre catégories suivantes :

    • Lettres minuscules (a-z)

    • Lettres majuscules (A-Z)

    • Chiffres (0-9)

    • Caractères non alphanumériques (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)

    Confirmer le mot de passe

    Saisissez à nouveau le mot de passe de l'administrateur.

  5. Choisissez Suivant.

  6. Sur la page Choose VPC and subnets (Choisir un VPC et des sous-réseaux), indiquez les informations suivantes :

    VPC

    Sélectionnez le VPC pour l'annuaire.

    Note

    Vous pouvez localiser le répertoire et l'instance de base de données différemment VPCs, mais si c'est le cas, assurez-vous d'activer le trafic inter-VPC. Pour de plus amples informations, veuillez consulter Étape 4 : Activer le trafic entre VPC entre le répertoire et l'instance de base de données.

    Sous-réseaux

    Choisissez les sous-réseaux pour les serveurs d'annuaires. Les deux sous-réseaux doivent être dans des zones de disponibilité différentes.

  7. Choisissez Suivant.

  8. Vérifiez les informations de l'annuaire. Si vous devez apporter des modifications, choisissez Previous (Précédent). Lorsque les informations sont correctes, choisissez Create directory (Créer l'annuaire).

    Vérification et création de la page

La création de l'annuaire prend plusieurs minutes. Lorsqu'il est créé, la valeur du champ Statut devient Actif.

Pour consulter les informations relatives à votre annuaire, choisissez l'ID de l'annuaire dans la liste. Notez la valeur de ID de l'annuaire. Vous en aurez besoin pour créer ou modifier votre instance de base de données SQL Server.

Page de détails de l'annuaire

Étape 2 : Créer le rôle IAM qui sera utilisé par Amazon RDS

Si vous utilisez la console pour créer votre instance de base de données SQL Server, vous pouvez ignorer cette étape. Si vous utilisez la CLI ou l'API RDS pour créer votre instance de base de données SQL Server, vous devez créer un rôle IAM qui utilise la stratégie IAM gérée AmazonRDSDirectoryServiceAccess. Ce rôle permet à Amazon RDS de passer des appels AWS Directory Service pour vous.

Si vous utilisez une politique personnalisée pour rejoindre un domaine, au lieu d'utiliser la AmazonRDSDirectoryServiceAccess politique AWS-managed, assurez-vous d'autoriser l'ds:GetAuthorizedApplicationDetailsaction. Cette exigence est effective à partir de juillet 2019, en raison d'une modification de l' AWS Directory Service API.

La stratégie IAM suivante, AmazonRDSDirectoryServiceAccess, permet d'accéder à AWS Directory Service.

Exemple Politique IAM pour fournir l'accès à AWS Directory Service
JSON
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ds:DescribeDirectories", "ds:AuthorizeApplication", "ds:UnauthorizeApplication", "ds:GetAuthorizedApplicationDetails" ], "Effect": "Allow", "Resource": "*" } ] }

Nous vous recommandons d'utiliser les clés de contexte de condition globale aws:SourceArn et aws:SourceAccount dans des relations d'approbation basées sur les ressources pour limiter les autorisations du service à une ressource spécifique. C'est le moyen le plus efficace de se protéger contre le problème du député confus.

Vous pouvez utiliser les deux clés de contexte de condition globale et faire en sorte que la valeur aws:SourceArn contienne l'ID de compte. Dans ce cas, la valeur aws:SourceAccount et le compte dans la valeur aws:SourceArn doivent utiliser le même ID de compte lorsqu'ils sont utilisés dans la même instruction.

  • Utilisez aws:SourceArn si vous souhaitez un accès interservices pour une seule ressource.

  • Utilisez aws:SourceAccount si vous souhaitez autoriser une ressource de ce compte à être associée à l'utilisation interservices.

Dans la relation d'approbation, assurez-vous d'utiliser la clé de contexte de condition globale aws:SourceArn avec l'Amazon Resource Name (ARN) complet des ressources qui accèdent au rôle. Pour l'authentification Windows, veillez à inclure les instances de base de données, comme illustré dans l'exemple suivant.

Exemple relation d'approbation avec la clé de contexte de condition globale pour l'authentification Windows
JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceArn": [ "arn:aws:rds:Region:my_account_ID:db:db_instance_identifier" ] } } } ] }

Créez un rôle IAM à l'aide de cette politique IAM et de cette relation d'approbation. Pour plus d'informations sur la création de rôles IAM, veuillez consulter Création de stratégies gérées par le client dans le IAM Guide de l'utilisateur.

Étape 3 : Créer et configurer des utilisateurs et des groupes

Vous pouvez créer des utilisateurs et des groupes avec l'outil Utilisateurs et ordinateurs Active Directory. Cet outil fait partie des outils Services AD DS (Active Directory Domain Services) et Services AD LDS (Active Directory Lightweight Directory Services). Les utilisateurs représentent des individus ou des entités individuelles qui ont accès à votre annuaire. Les groupes sont très utiles pour octroyer ou refuser des privilèges à des groupes d'utilisateurs, plutôt que d'appliquer ces privilèges à chaque utilisateur.

Pour créer des utilisateurs et des groupes dans un AWS Directory Service annuaire, vous devez être connecté à une EC2 instance Windows membre de l' AWS Directory Service annuaire. Vous devez également être connecté en tant qu'utilisateur disposant de privilèges pour créer des utilisateurs et des groupes. Pour plus d'informations, consultez la section Ajouter des utilisateurs et des groupes (Simple AD et AWS Managed Microsoft AD) dans le Guide d'AWS Directory Service administration.

Étape 4 : Activer le trafic entre VPC entre le répertoire et l'instance de base de données

Si vous avez l'intention de rechercher l'annuaire et l'instance de base de données dans le même VPC, ignorez cette étape et passez à Étape 5 : Créer ou modifier une instance de base de données SQL Server.

Si vous prévoyez de localiser le répertoire et l'instance de base de données différemment VPCs, configurez le trafic inter-VPC à l'aide du peering VPC ou de Transit Gateway.AWS

La procédure suivante active le trafic entre les utilisateurs de VPCs l'appairage VPC. Suivez les instructions de Qu'est-ce que l'appairage de VPC ? dans le Guide de l'appairage Amazon Virtual Private Cloud.

Pour activer le trafic entre VPC à l'aide de l'appairage de VPC
  1. Configurez les règles de routage de VPC appropriées afin de veiller à ce que le trafic réseau puisse être acheminé dans les deux sens.

  2. Assurez-vous que le groupe de sécurité de l'instance de base de données puisse recevoir le trafic entrant depuis le groupe de sécurité de cet annuaire.

  3. Assurez-vous qu'il n'existe aucune règle de liste de contrôle d'accès (ACL) pour bloquer le trafic.

Si le répertoire appartient à un autre AWS compte, vous devez le partager.

Pour partager le répertoire entre AWS comptes
  1. Commencez à partager le répertoire avec le AWS compte dans lequel l'instance de base de données sera créée en suivant les instructions du Tutoriel : Partage de votre AWS Managed Microsoft AD répertoire pour une jonction de EC2 domaine fluide dans le Guide d'AWS Directory Service administration.

  2. Connectez-vous à la AWS Directory Service console à l'aide du compte de l'instance de base de données et assurez-vous que le domaine possède le SHARED statut requis avant de continuer.

  3. Lorsque vous êtes connecté à la AWS Directory Service console à l'aide du compte de l'instance de base de données, notez la valeur de l'ID du répertoire. Vous utilisez cet ID pour joindre l'instance de base de données au domaine.

Étape 5 : Créer ou modifier une instance de base de données SQL Server

Créez ou modifiez une instance de base de données SQL Server en vue de son utilisation avec votre annuaire. Vous pouvez utiliser la console, la CLI ou l'API RDS pour associer une instance de base de données à un annuaire. Vous pouvez effectuer cette opération de différentes manières :

L'authentification Windows est uniquement prise en charge pour les instances de base de données SQL dans un VPC.

Pour que l'instance de base de données puisse utiliser l'annuaire de domaine que vous avez créé, les éléments suivants sont nécessaires :

  • Pour Annuaire, vous devez choisir l'identifiant du domaine (d-ID) généré lors de la création de l'annuaire.

  • Assurez-vous que le groupe de sécurité VPC dispose d'une règle sortante qui permet à l'instance de base de données de communiquer avec l'annuaire.

Annuaire d'authentification Windows à Microsoft SQL Server

Lorsque vous utilisez le AWS CLI, les paramètres suivants sont requis pour que l'instance de base de données puisse utiliser le répertoire que vous avez créé :

  • Pour le paramètre --domain, vous devez indiquer l'identifiant du domaine (d-ID) généré lors de la création de l'annuaire.

  • Pour le paramètre --domain-iam-role-name, utilisez le rôle que vous avez créé qui utilise la stratégie IAM gérée AmazonRDSDirectoryServiceAccess.

Par exemple, la commande de CLI suivante modifie une instance de base de données de façon à utiliser un annuaire.

Pour LinuxmacOS, ou Unix :

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --domain d-ID \ --domain-iam-role-name role-name

Dans Windows :

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --domain d-ID ^ --domain-iam-role-name role-name
Important

Si vous modifiez une instance de base de données de façon à activer l'authentification Kerberos, redémarrez l'instance de base de données après avoir effectué la modification.

Étape 6 : Créer des connexions SQL Server pour l'authentification Windows

Utilisez les informations d'identification de l'utilisateur principal Amazon RDS pour vous connecter à l'instance de base de données SQL Server de la même manière qu'à n'importe quelle instance de base de données. Comme l'instance de base de données est jointe au AWS Managed Microsoft AD domaine, vous pouvez configurer des connexions et des utilisateurs SQL Server. Vous effectuez cette opération à partir des utilisateurs et groupes Active Directory de votre domaine. Les autorisations pour la base de données sont gérées via des autorisations SQL Server standard accordées et révoquées en fonction des connexions Windows.

Pour qu'un utilisateur Active Directory puisse s'authentifier à SQL Server, une connexion Windows SQL Server doit exister pour l'utilisateur ou un groupe dont l'utilisateur est membre. Un contrôle précis des accès est géré par l'attribution ou la révocation d'autorisations pour ces connexions SQL Server. Un utilisateur qui n'a pas de connexion SQL Server ou qui n'appartient pas à un groupe avec une telle connexion ne peut pas accéder à l'instance de base de données SQL Server.

L'autorisation ALTER ANY LOGIN est requise pour créer une connexion SQL Server Active Directory. Si vous n'avez pas créé de connexion avec cette autorisation, connectez vous en tant qu'utilisateur principal de l'instance de base de données à l'aide de l'authentification SQL Server.

Exécutez une commande DDL (Data Definition Language) telle que l'exemple suivant afin de créer une connexion SQL Server pour un utilisateur ou un groupe Active Directory.

Note

Spécifiez les utilisateurs et les groupes à l'aide du nom de connexion antérieur à Windows 2000 au format domainName\login_name. Vous ne pouvez pas utiliser un nom d'utilisateur principal (UPN) au format login_name@DomainName.

Vous ne pouvez créer une connexion d'authentification Windows sur une instance RDS pour SQL Server qu'à l'aide d'instructions T-SQL. Vous ne pouvez pas utiliser le studio de gestion SQL Server pour créer une connexion d'authentification Windows.

USE [master] GO CREATE LOGIN [mydomain\myuser] FROM WINDOWS WITH DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english]; GO

Pour plus d'informations, consultez CREATE LOGIN (Transact-SQL) dans la documentation de Microsoft Developer Network.

Les utilisateurs (personnes et applications) de votre domaine peuvent désormais se connecter à l'instance RDS for SQL Server à partir d'un ordinateur client joint au domaine à l'aide de l'authentification Windows.