Introdução ao adutil – utilitário do Active Directory

Aplica-se a: SQL Server – Linux

A ferramenta adutil é um utilitário da CLI (interface de linha de comando) para configurar e gerenciar domínios do Windows Active Directory para contêineres e SQL Server em Linux, sem alternar entre computadores Windows e Linux para gerenciar o Active Directory.

O suporte para adutil será limitado apenas aos casos de uso do SQL Server.

Você não precisa usar o adutil para habilitar a autenticação do Active Directory para SQL Server em Linux ou contêineres. Você pode usar utilitários como ktpass, conforme explicado em Tutorial: usar a autenticação do Active Directory com o SQL Server em Linux.

A ferramenta adutil foi projetada como uma série de comandos e subcomandos, com sinalizadores adicionais que podem ser especificados como entrada adicional. Cada comando de nível superior representa uma categoria de funções administrativas. Dentro dessa categoria, cada subcomando é uma operação. Esse artigo mostra como baixar e começar a usar o adutil.

Configurar adutil para LDAP via protocolo SSL

Você deve usar o LDAPS (protocolo LDAP via protocolo SSL) em vez do protocolo LDAP. Se você quiser saber mais sobre o LDAP, confira Protocolo LDAP.

Você pode definir a opção useLdaps como true no arquivo de configuração adutil.json, que está localizado em: /var/opt/mssql/.adutil/adutil.json quando executado sob o usuário mssql. Este exemplo de código JSON mostra como definir a configuração:

{
    "useLdaps": "true"
}

Por padrão, a configuração useLDAPS é definida como false. Ao definir essa configuração e usar mssql-conf para criar o keytab, verifique se o comando mssql-conf está em execução como o usuário mssql, que você poderá realizar executando o seguinte comando:

sudo su mssql

Para configurar o keytab usando mssql-conf, confira Criar o arquivo keytab do serviço SQL Server usando mssql-conf.

Instalar o adutil

Se você não aceitar os termos de licença durante a instalação, ao executar o comando adutil pela primeira vez, deverá executá-lo com o sinalizador --accept-eula (para todas as distribuições).

  1. Baixe o arquivo de configuração do repositório do Red Hat da Microsoft.

    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. Se você tiver uma versão prévia anterior do adutil instalada, remova os pacotes do adutil mais antigos usando os comandos abaixo.

    sudo yum remove adutil-preview
    
  3. Execute os comandos a seguir para instalar o adutil. ACCEPT_EULA=Y aceita os termos de licença do adutil. O EULA é colocado no caminho /usr/share/adutil/.

    sudo ACCEPT_EULA=Y yum install -y adutil
    

Usar o adutil para gerenciar o Windows Active Directory

Certifique-se de baixar o adutil para um host que já está ingressado em um domínio do Active Directory. Você também precisa obter ou renovar o TGT (tíquete de concessão de tíquete) do Kerberos usando o comando kinit e uma conta de domínio privilegiado. A conta usada deve ter permissão para criar contas e SPNs (nomes da entidade de serviço) no domínio.

Aqui estão alguns exemplos de ações que você pode executar usando o adutil. Para ver uma lista dos comandos de nível superior, digite adutil --help. Esse comando mostra os comandos de nível superior que você pode usar para gerenciar e interagir com o Active Directory.

$ 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 ajuda com o próximo nível de comandos, você pode executar a seguinte opção de ajuda:

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

Exemplos

Cada comando foi documentado para que você possa começar imediatamente. Aqui estão algumas das atividades típicas para as quais adutil é usado ao configurar ou administrar a autenticação do Active Directory para SQL Server em Linux e contêineres:

  • Criar uma conta do Active Directory:

    adutil user create --name sqluser --distname CN=sqluser,CN=Users,DC=CONTOSO,DC=COM
    
  • Criar SPNs associados a uma conta ou serviço:

    adutil spn addauto -n sqluser -s MSSQLSvc -H mymachine.contoso.com -p 1433
    
  • Criar keytabs usando o adutil:

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

Você pode conferir a página do manual de referência do adutil usando o comando man adutil.