cyberark.conjur-host-identity
Rôle Ansible Conjur
Ce rôle Ansible permet d'accorder une identité de machine Conjur à un hôte. Une fois qu'un hôte a une identité créée par ce rôle, les secrets peuvent être récupérés en toute sécurité en utilisant l'outil Summon.
Lectures Recommandées
- Pour en savoir plus sur Conjur, essaye-le.
- Pour en savoir plus sur l'intégration de Conjur avec Ansible, consulte la Documentation d'Intégration.
- Pour en savoir plus sur Summon, l'outil qui te permet d'exporter des valeurs secrètes récupérées de Conjur vers tes applications, visite la Page Web de Summon.
- Pour découvrir d'autres moyens d'intégrer Conjur, consulte la documentation de Conjur.
Exigences
- Conjur v1+ ou Conjur Enterprise (anciennement DAP) v10+
- Conjur Enterprise v4
- Ansible v2.8
Si tu utilises Ansible v2.9+, envisage d'utiliser notre Collection Ansible.
Utilisation de ansible-conjur-host-identity avec Conjur Open Source
Utilises-tu ce projet avec Conjur Open Source ? Alors nous recommandons fortement de choisir la version de ce projet à partir de la dernière version des suites Conjur OSS. Les mainteneurs de Conjur effectuent des tests supplémentaires sur les versions de la suite pour garantir la compatibilité. Lorsque c'est possible, mets à jour ta version de Conjur pour correspondre à la dernière version de la suite ; quand tu utilises des intégrations, choisis la dernière version de la suite qui correspond à ta version de Conjur. Pour toute question, n'hésite pas à nous contacter sur Discourse.
Instructions d'utilisation
Installe le rôle Conjur avec la commande suivante dans le répertoire de ton playbook :
$ ansible-galaxy install cyberark.conjur-host-identity
Le rôle Conjur fournit une méthode pour "Conjuriser" ou établir l'identité Conjur d'un nœud distant avec Ansible. Le nœud peut alors se voir accorder un accès minimal pour récupérer les secrets dont il a besoin de manière sécurisée.
Variables de Rôle
conjur_appliance_url
*
: L'URL de l'instance Conjur / Conjur Enterprise à laquelle tu te connects. Lors de la connexion à un cluster maître HA Conjur Enterprise, ce serait l'URL de l'équilibreur de charge maître.conjur_account
*
: Le nom du compte pour l'instance Conjur à laquelle tu te connects.conjur_host_factory_token
*
: Le jeton Host Factory pour l'enrôlement de couche. Ceci doit être spécifié dans l'environnement sur l'hôte de contrôle Ansible.conjur_host_name
*
: Nom de l'identité de l'hôte que le host factory doit créer.conjur_ssl_certificate
: La chaîne de certificats CA x509 encodée en PEM pour l'instance Conjur Enterprise à laquelle tu te connects. Cette valeur peut être obtenue en exécutant la commande :$ openssl s_client -showcerts -servername [CONJUR_DNS_NAME] -connect [CONJUR_DNS_NAME]:443 < /dev/null 2> /dev/null
conjur_validate_certs
: Valeur booléenne pour indiquer si le client doit valider les certificats du serveur Conjur.summon.version
: Version de Summon à installer. La valeur par défaut est0.8.3
.summon_conjur.version
: Version du fournisseur Summon-Conjur à installer. La valeur par défaut est0.5.3
.
Les variables marquées *
sont des champs obligatoires. Les autres variables sont requises pour fonctionner avec un point d'extrémité Conjur HTTPS, mais ne sont pas nécessaires si tu utilises un point d'extrémité HTTP Conjur.
Exemple de Playbook
Configurer un nœud distant avec une identité Conjur et Summon :
- hosts: servers
roles:
- role: cyberark.conjur-host-identity
conjur_appliance_url: 'https://conjur.myorg.com/api',
conjur_account: 'myorg',
conjur_host_factory_token: "{{lookup('env', 'HFTOKEN')}}",
conjur_host_name: "{{inventory_hostname}}"
Cet exemple :
- Enregistre l'hôte auprès de Conjur, en l'ajoutant dans la couche spécifique au jeton de la fabrique d'hôtes fourni.
- Installe Summon avec le fournisseur Summon-Conjur pour la récupération de secrets depuis Conjur.
Summon & Gestionnaires de Services
Avec Summon installé, utiliser Conjur avec un gestionnaire de services (comme SystemD) devient facile. Voici un exemple simple d'un fichier SystemD se connectant à Conjur :
[Unit]
Description=DemoApp
After=network-online.target
[Service]
User=DemoUser
#Environment=CONJUR_MAJOR_VERSION=4
ExecStart=/usr/local/bin/summon --yaml 'DB_PASSWORD: !var staging/demoapp/database/password' /usr/local/bin/myapp
L'exemple ci-dessus utilise Summon pour récupérer le mot de passe stocké dans staging/myapp/database/password
, le définit comme variable d'environnement DB_PASSWORD
, et le fournit au processus de l'application de démonstration. Grâce à Summon, le secret n'est pas stocké sur disque. Si le service est redémarré, Summon récupère à nouveau le mot de passe au démarrage de l'application.
Dépendances
Aucune
Recommandations
- Important: Ajoute
no_log: true
à chaque tâche qui utilise des données sensibles, sinon ces données peuvent être imprimées dans les journaux. - Définit les permissions des fichiers Ansible au minimum. Ansible utilise les permissions de l'utilisateur qui l'exécute.
Contribuer
Nous accueillons des contributions de toutes sortes à ce dépôt. Pour des instructions sur comment commencer et des descriptions de nos workflows de développement, consulte notre guide de contribution.
Licence
Droit d'auteur (c) 2020 CyberArk Software Ltd. Tous droits réservés.
Ce dépôt est sous licence Apache License 2.0 - voir le LICENSE
pour plus de détails.
ansible-galaxy install cyberark.conjur-host-identity