Présentation de l’utilitaire adutil pour Active Directory

S’applique à : SQL Server - Linux

L’outil adutil est un utilitaire de ligne de commande (CLI) qui permet de configurer et gérer des domaines Windows Active Directory pour SQL Server sur Linux et des conteneurs, sans devoir basculer entre les machines Windows et Linux pour gérer Active Directory.

La prise en charge de adutil est limitée aux seuls cas d’usage SQL Server.

Vous n’avez pas besoin d’utiliser adutil pour activer l’authentification Active Directory pour SQL Server sur Linux ou des conteneurs. Vous pouvez aussi utiliser des utilitaires comme ktpass, comme expliqué dans Tutoriel : Utiliser l’authentification Active Directory avec SQL Server sur Linux.

L’utilitaire adutil est conçu comme une série de commandes et de sous-commandes, qui comporte des indicateurs supplémentaires à spécifier en entrée. Chaque commande de plus haut niveau représente une catégorie de fonctions d’administration. Dans cette catégorie, chaque sous-commande est une opération. Cet article montre comment télécharger et commencer à utiliser adutil.

Configurer adutil pour LDAP sur SSL (Secure Sockets Layer)

Vous devez utiliser le protocole LDAPS (Lightweight Directory Access Protocol sur SSL) au lieu du protocole LDAP (Lightweight Directory Access Protocol). Si vous voulez en savoir plus sur LDAP, consultez LDAP (Lightweight Directory Access Protocol).

Vous pouvez définir l’option useLdaps sur true dans le fichier de configuration adutil.json, qui se trouve dans /var/opt/mssql/.adutil/adutil.json lors de l’exécution par l’utilisateur mssql. Cet exemple de code JSON montre comment configurer le paramètre :

{
    "useLdaps": "true"
}

Par défaut, le paramètre useLDAPS est défini sur false. Quand vous configurez ce paramètre et que vous utilisez mssql-conf pour créer le fichier keytab (table de clés), veillez à exécuter mssql-conf en tant qu’utilisateur mssql. Vous pouvez pour cela exécuter la commande suivante :

sudo su mssql

Pour configurer le fichier keytab à l’aide de mssql-conf, consultez Création du fichier keytab du service SQL Server à l’aide de mssql-conf.

Installer adutil

Si vous n’acceptez pas le contrat CLUF au moment de l’installation, vous devez utiliser l’indicateur --accept-eula la première fois que vous exécutez la commande adutil (pour toutes les distributions).

  1. Téléchargez le fichier config du référentiel Microsoft Red Hat.

    RHEL 9

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/9/prod.repo
    

    RHEL 8

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
    
  2. Si vous aviez installé une préversion antérieure de adutil, supprimez tous les packages adutil plus anciens en utilisant la commande ci-dessous.

    sudo yum remove adutil-preview
    
  3. Exécutez les commandes suivantes pour installer adutil. ACCEPT_EULA=Y accepte le contrat CLUF pour adutil. Le CLUF est placé dans le dossier /usr/share/adutil/.

    sudo ACCEPT_EULA=Y yum install -y adutil
    

Utiliser adutil pour gérer Windows Active Directory

Veillez à télécharger adutil sur un hôte qui est déjà joint à un domaine Active Directory. Vous devez aussi obtenir ou renouveler le ticket TGT Kerberos en utilisant la commande kinit et d’un compte de domaine privilégié. Le compte que vous utilisez doit avoir l’autorisation de créer des comptes et des noms de principal du service (SPN) sur le domaine.

Voici quelques exemples d’actions que vous pouvez effectuer adutil. Pour consulter une liste des commandes de niveau supérieur, tapez adutil --help. Cette commande affiche les commandes de premier niveau que vous pouvez utiliser pour gérer votre annuaire Active Directory et interagir avec lui.

$ adutil --help
adutil - A general AD utility
  Usage:
    adutil [account|delegation|group|keytab|machine|ou|spn|user|config]
  Subcommands:
    account      Functions for generic account operations
    delegation   Functions for configuring delegation permissions
    group        Functions for group management
    keytab       Functions for keytab management
    machine      Functions for managing machine accounts
    ou           Functions for managing organizational units
    spn          Functions for service principal name (SPN) management
    user         Functions for user account management
    config       Functions for modifying adutil configuration
  Flags:
       --version       Displays the program version string.
    -h --help          Displays help with available flag, subcommand, and positional value parameters.
    -d --debug         Display additional debugging information when making LDAP/Kerberos calls.
       --accept-eula   Accepts the current EULA for adutil. This has no effect if the EULA has already been accepted.

Pour rechercher de l’aide sur le niveau suivant de commandes, vous pouvez exécuter l’option d’aide suivante :

$ adutil spn --help
spn - Functions for service principal name (SPN) management
  Usage:
    spn [add|addauto|delete|search|show]
  Subcommands:
    add       Adds the provided SPNs to an account
    addauto   Automatically generate SPNs based on SPN component inputs and add them to an account
    delete    Deletes the provided SPNs from an account
    search    Search for an SPN by name or list all SPNs in the directory
    show      Get the list of SPNs assigned to an account
  Flags:
    --version       Displays the program version string.
    -h --help          Displays help with available flag, subcommand, and positional value parameters.
    -d --debug         Display additional debugging information when making LDAP/Kerberos calls.
       --accept-eula   Accepts the current EULA for adutil. This has no effect if the EULA has already been accepted.
$ adutil spn search --help
search - Search for an SPN by name or list all SPNs in the directory
  Usage:
     search [name]
  Positional Variables:
    name   OPTIONAL: Name of the SPN to search for in the directory. * can be used as a wildcard
  Flags:
    --version       Displays the program version string.
    -h --help          Displays help with available flag, subcommand, and positional value parameters.
    -n --name          OPTIONAL: Name of the SPN to search for in the directory. * can be used as a wildcard
    -f --filter        OPTIONAL: Filter for the search (User,Machine,Group)
    -o --ouname        OPTIONAL: Distinguished name of OU in which SPNs should be searched. If omitted, the entire directory will be searched.
    -d --debug         Display additional debugging information when making LDAP/Kerberos calls.
       --accept-eula   Accepts the current EULA for adutil. This has no effect if the EULA has already been accepted.

exemples

Chaque commande est documentée : vous pouvez donc commencer immédiatement. Voici quelques-unes des activités courantes auxquelles sert adutil lors de la configuration ou de l’administration de l’authentification Active Directory pour SQL Server sur Linux et des conteneurs :

  • Créer un compte dans Active Directory :

    adutil user create --name sqluser --distname CN=sqluser,CN=Users,DC=CONTOSO,DC=COM
    
  • Créer des noms de principal du service associés à un compte ou un service :

    adutil spn addauto -n sqluser -s MSSQLSvc -H mymachine.contoso.com -p 1433
    
  • Créer des keytabs en utilisant adutil :

    adutil keytab createauto -k /var/opt/mssql/secrets/mssql.keytab -p 1433 -H mymachine.contoso.com --password 'P@ssw0rd' -s MSSQLSvc
    

Vous pouvez vous référer à la page du manuel de référence de adutil en utilisant la commande man adutil.