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 est 0.8.3.
  • summon_conjur.version: Version du fournisseur Summon-Conjur à installer. La valeur par défaut est 0.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.

À propos du projet

Grants Conjur machine identity to hosts

Installer
ansible-galaxy install cyberark.conjur-host-identity
Licence
apache-2.0
Téléchargements
32.5k
Propriétaire
CyberArk, the undisputed leader in Privileged Account Security, secures secrets used by machines and users to protect traditional and cloud-native apps.