Red Hat Training

A Red Hat training course is available for RHEL 8

57.6. Utilização de um livro de jogo possível para permitir que usuários, grupos, anfitriões ou grupos anfitriões da IdM recuperem uma tabela de chaves de um serviço

Uma tabela de chaves é um arquivo contendo pares de chaves principais Kerberos e chaves criptografadas. Os arquivos keytab são comumente usados para permitir a autenticação automática de scripts usando Kerberos, sem exigir interação humana ou acesso a uma senha armazenada em um arquivo de texto simples. O script é então capaz de usar as credenciais adquiridas para acessar arquivos armazenados em um sistema remoto.

Como administrador do IdM, você pode permitir que outros usuários recuperem ou mesmo criem uma tabela de chaves para um serviço executado no IdM.

Esta seção descreve como você pode permitir que usuários específicos de IdM, grupos de usuários, hosts e grupos de hosts recuperem uma tabela de chaves para o serviço HTTP rodando em um cliente IdM. Especificamente, ela descreve como permitir que o usuário do IdM user01 recupere a keytab do serviço HTTP rodando em client.idm.example.com.

Pré-requisitos

  • Você sabe a senha do administrador da IdM.
  • Você instalou o pacote ansible-freeipa no controlador Ansible.
  • Você cadastrou o serviço HTTP para a IdM.
  • Os usuários e grupos de usuários do IdM que você deseja permitir recuperar a tabela de chaves existem no IdM.
  • Os anfitriões e grupos anfitriões do IdM que você deseja permitir recuperar o keytab existem no IdM.

Procedimento

  1. Criar um arquivo de inventário, por exemplo inventory.file:

    $ toque inventory.file
  2. Abra o inventory.file e defina o servidor IdM que você deseja configurar na seção [ipaserver]. Por exemplo, para instruir o Ansible a configurar server.idm.example.com, entre:

    [ipaserver]
    server.idm.example.com
  3. Faça uma cópia do arquivo do livro de jogo /usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present.yml. Por exemplo:

    $ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present-copy.yml
  4. Abra o arquivo copiado, /usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present-copy.yml, para edição:
  5. Adaptar o arquivo:

    • Defina a variável ipaadmin_password para sua senha de administrador IdM.
    • Defina a variável name da tarefa ipaservice para o diretor do serviço HTTP. No exemplo atual, ela é HTTP/client.idm.example.com
    • Especifique os nomes dos usuários da IdM na seção allow_retrieve_keytab_group:. No exemplo atual, é user01.
    • Especifique os nomes dos grupos de usuários do IdM na seção allow_retrieve_keytab_group:.
    • Especifique os nomes dos anfitriões da IdM na seção allow_retrieve_keytab_group:.
    • Especifique os nomes dos grupos anfitriões da IdM na seção allow_retrieve_keytab_group:.
    • Especifique o nome da tarefa usando a variável name na seção tasks.

      Depois de ser adaptado para o exemplo atual, o arquivo copiado tem este aspecto:

    ---
    - name: Service member allow_retrieve_keytab present
      hosts: ipaserver
      become: true
    
      tasks:
      - name: Service HTTP/client.idm.example.com members allow_retrieve_keytab present for user01
        ipaservice:
          ipaadmin_password: Secret123
          name: HTTP/client.idm.example.com
          allow_retrieve_keytab_user:
          - user01
          action: member
  6. Salvar o arquivo.
  7. Execute a Pasta de reprodução possível especificando o arquivo da Pasta de reprodução e o arquivo do inventário:

    $ ansible-playbook -v -i path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present-copy.yml

Etapas de verificação

  1. SSH para um servidor IdM como um usuário IdM com o privilégio de recuperar uma tabela de chaves para o serviço HTTP:

    $ ssh user01@server.idm.example.com
    Password:
  2. Use o comando ipa-getkeytab com a opção -r para recuperar o keytab:

    $ ipa-getkeytab -r -s server.idm.example.com -p HTTP/client.idm.example.com -k /etc/httpd/conf/krb5.keytab

    A opção -s especifica um servidor do Centro de Distribuição de Chaves (KDC) a partir do qual você deseja recuperar a tabela de chaves.

    A opção -p especifica o principal cujo chaveiro você deseja recuperar.

    A opção -k especifica o arquivo keytab ao qual você deseja anexar a chave recuperada. O arquivo será criado se ele não existir.

Se o comando não resultar em um erro, você recuperou com sucesso uma tabela de chaves de HTTP/client.idm.example.com como user01.