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
Criar um arquivo de inventário, por exemplo
inventory.file:toque inventory.file
$ toque inventory.fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow Abra o
inventory.filee 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
[ipaserver] server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
$ 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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Abra o arquivo copiado,
/usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present-copy.yml, para edição: Adaptar o arquivo:
-
Defina a variável
ipaadmin_passwordpara sua senha de administrador IdM. -
Defina a variável
nameda tarefaipaservicepara 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
namena seçãotasks.Depois de ser adaptado para o exemplo atual, o arquivo copiado tem este aspecto:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Defina a variável
- Salvar o arquivo.
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
$ ansible-playbook -v -i path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/service/service-member-allow_retrieve_keytab-present-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Etapas de verificação
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
$ ssh user01@server.idm.example.com Password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Use o comando
ipa-getkeytabcom a opção-rpara recuperar o keytab:ipa-getkeytab -r -s server.idm.example.com -p HTTP/client.idm.example.com -k /etc/httpd/conf/krb5.keytab
$ ipa-getkeytab -r -s server.idm.example.com -p HTTP/client.idm.example.com -k /etc/httpd/conf/krb5.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow A opção
-sespecifica um servidor do Centro de Distribuição de Chaves (KDC) a partir do qual você deseja recuperar a tabela de chaves.A opção
-pespecifica o principal cujo chaveiro você deseja recuperar.A opção
-kespecifica 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.