Introducción a adutil: utilidad de Active Directory

Se aplica a:SQL Server: Linux

La herramienta adutil es una utilidad de la interfaz de línea de comandos (CLI) que sirve para configurar y administrar dominios de Active Directory de Windows para SQL Server en Linux y contenedores, sin tener que cambiar entre equipos Windows y Linux para administrar Active Directory.

Por lo tanto, la compatibilidad con adutil está limitada solo a casos de uso de SQL Server.

No es necesario usar adutil para habilitar la autenticación de Active Directory para SQL Server en Linux ni en contenedores. También puede usar utilidades como ktpass, como se explica en Tutorial: Uso de la autenticación de Active Directory con SQL Server en Linux.

La herramienta adutil está diseñada como una serie de comandos y subcomandos, con marcas adicionales que se especifican como una entrada adicional. Cada comando de nivel superior representa una categoría de funciones administrativas. Dentro de esa categoría, cada subcomando es una operación. En este artículo le mostramos cómo puede descargar y empezar a usar adutil.

Configuración de adutil para LDAP a través de la Capa de sockets seguros (SSL)

Debe usar un Protocolo ligero de acceso a directorio a través de SSL (LDAPS) en vez de un Protocolo ligero de acceso a directorio (LDAP). Si quiere obtener más información sobre LDAP, vea Protocolo ligero de acceso a directorio (LDAP).

Puede establecer la opción useLdaps en true en el archivo de configuración adutil.json, que se encuentra en /var/opt/mssql/.adutil/adutil.json cuando se ejecuta en el usuario mssql. En este ejemplo de código JSON se muestra cómo configurar la opción:

{
    "useLdaps": "true"
}

De forma predeterminada, la opción useLDAPS está establecida en false. Al configurar esta opción y usar mssql-conf para crear el archivo keytab (tabla de claves), debe ejecutar mssql-conf como el usuario mssql, lo que puede hacer ejecutando el comando siguiente:

sudo su mssql

Para configurar el archivo keytab mediante mssql-conf, consulte Creación del archivo keytab del servicio SQL Server con mssql-conf.

Instalación de adutil

Si no acepta el los términos de licencia durante la instalación, cuando ejecute el comando adutil por primera vez, tendrá que ejecutarlo con la marca --accept-eula (para todas las distribuciones).

  1. Descargue el archivo de configuración del repositorio de Red Hat de Microsoft.

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
    
  2. Si tiene instalada una versión anterior de adutil, quite los paquetes de adutil anteriores mediante el comando siguiente.

    sudo yum remove adutil-preview
    
  3. Ejecute los comandos siguientes para instalar adutil. ACCEPT_EULA=Y acepta el CLUF de adutil. El CLUF se coloca en la ruta de acceso /usr/share/adutil/.

    sudo ACCEPT_EULA=Y yum install -y adutil
    

Uso de adutil para administrar Windows Active Directory

Asegúrese de descargar adutil en un host que ya esté unido a un dominio de Active Directory. También debe obtener o renovar el TGT de Kerberos (vale de concesión de vales) usando el comando kinit y una cuenta de dominio con privilegios. La cuenta que use debe tener permiso para crear cuentas y nombres de entidad de seguridad de servicio (SPN) en el dominio.

Estos son algunos ejemplos de acciones que puede realizar mediante adutil. Para ver una lista de todos los comandos de nivel superior, escriba adutil --help. Este comando le muestra los comandos de nivel superior que puede usar para administrar Active Directory e interactuar con este servicio.

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

Para buscar ayuda con el siguiente nivel de comandos, puede ejecutar la siguiente opción de ayuda:

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

Ejemplos

Cada comando está documentado para que pueda empezar a trabajar de inmediato. Estas son algunas de las actividades típicas para las que se utiliza adutil al configurar o administrar la autenticación de Active Directory para SQL Server en Linux y contenedores:

  • Creación de una cuenta en Active Directory:

    adutil user create --name sqluser --distname CN=sqluser,CN=Users,DC=CONTOSO,DC=COM
    
  • Creación de SPN asociados a una cuenta o servicio:

    adutil spn addauto -n sqluser -s MSSQLSvc -H mymachine.contoso.com -p 1433
    
  • Creación de archivos keytab mediante adutil:

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

Puede consultar la página del manual de referencia de adutil usando el comando man adutil.