cyberark.conjur-host-identity

Conjur Ansible Rolle

Diese Ansible-Rolle ermöglicht es, einer Maschine im Conjur eine Identität zuzuweisen. Sobald eine Maschine durch diese Rolle eine Identität erhalten hat, können Geheimnisse sicher mit dem Summon Tool abgerufen werden.

Empfohlene Lektüre

  • Um mehr über Conjur zu erfahren, probieren Sie es aus.
  • Um herauszufinden, wie Conjur mit Ansible integriert werden kann, besuchen Sie die Integrationsdokumentation.
  • Um mehr über Summon zu erfahren, das Tool, das Ihnen ermöglicht, geheime Werte aus Conjur in Ihre Anwendungen zu exportieren, besuchen Sie die Summon-Webseite.
  • Um mehr über andere Integrationsmöglichkeiten mit Conjur zu erfahren, besuchen Sie die Conjur-Dokumentation.

Anforderungen

  • Conjur v1+ oder Conjur Enterprise (ehemals DAP) v10+
  • Conjur Enterprise v4
  • Ansible v2.8

Wenn Sie Ansible v2.9+ verwenden, ziehen Sie bitte in Betracht, unsere Ansible-Sammlung stattdessen zu verwenden.

Verwendung von ansible-conjur-host-identity mit Conjur Open Source

Verwenden Sie dieses Projekt mit Conjur Open Source? Dann empfehlen wir dringend, die Version dieses Projekts aus der neuesten Conjur OSS Suite-Version auszuwählen. Die Conjur-Maintainer führen zusätzliche Tests an den Versionsveröffentlichungen durch, um die Kompatibilität sicherzustellen. Wenn möglich, aktualisieren Sie Ihre Conjur-Version, um der neueste Versionsveröffentlichung zu entsprechen; wählen Sie bei der Verwendung von Integrationen die neueste Versionsveröffentlichung aus, die zu Ihrer Conjur-Version passt. Bei Fragen kontaktieren Sie uns bitte über Discourse.

Verwendungshinweise

Installieren Sie die Conjur-Rolle mit folgendem Befehl in Ihrem Playbook-Verzeichnis:

$ ansible-galaxy install cyberark.conjur-host-identity

Die Conjur-Rolle bietet eine Methode, um die Conjur-Identität eines entfernten Knotens mit Ansible zu „Conjurisieren“ oder herzustellen. Der Knoten kann dann minimalen Zugriff erhalten, um die notwendigen Geheimnisse auf sichere Weise abzurufen.

Rollenspezifische Variablen

  • conjur_appliance_url *: Die URL der Conjur / Conjur Enterprise Instanz, mit der Sie sich verbinden. Bei der Verbindung zu einem HA Conjur Enterprise Master-Cluster wäre dies die URL des Master-Load-Balancers.
  • conjur_account *: Der Kontoname der Conjur-Instanz, mit der Sie sich verbinden.
  • conjur_host_factory_token *: Host Factory Token für die Anmeldung im Layer. Dies sollte in der Umgebung auf dem Ansible-steuernden Host angegeben werden.
  • conjur_host_name *: Name der Host-Identität, die die Host-Fabrik erstellen soll.
  • conjur_ssl_certificate: Der PEM-kodierte x509 CA-Zertifikat-Chain für die Conjur Enterprise Instanz, mit der Sie sich verbinden. Dieser Wert kann durch Ausführen des Befehls erhalten werden:
    $ openssl s_client -showcerts -servername [CONJUR_DNS_NAME] -connect [CONJUR_DNS_NAME]:443 < /dev/null 2> /dev/null
    
  • conjur_validate_certs: Boolean-Wert, um anzugeben, ob der Client die Conjur-Serverzertifikate validieren soll.
  • summon.version: Version von Summon, die installiert werden soll. Standard ist 0.8.3.
  • summon_conjur.version: Version des Summon-Conjur-Anbieters, die installiert werden soll. Standard ist 0.5.3.

Die mit * markierten Variablen sind Pflichtfelder. Die anderen Variablen sind erforderlich, um mit einem HTTPS Conjur-Endpunkt zu arbeiten, sind jedoch nicht erforderlich, wenn Sie mit einem HTTP Conjur-Endpunkt arbeiten.

Beispiel-Playbook

Konfigurieren Sie einen entfernten Knoten mit einer Conjur-Identität und 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}}"

Dieses Beispiel:

  • Registriert den Host bei Conjur und fügt ihn dem Layer hinzu, der zum bereitgestellten Host-Fabrik-Token gehört.
  • Installiert Summon mit dem Summon-Conjur-Anbieter für den geheimen Abruf von Conjur.

Summon & Service-Manager

Mit installiertem Summon wird die Verwendung von Conjur mit einem Service-Manager (wie SystemD) einfach. Hier ist ein einfaches Beispiel für eine SystemD-Datei, die sich mit Conjur verbindet:

[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

Das obige Beispiel verwendet Summon, um das Passwort abzurufen, das in staging/myapp/database/password gespeichert ist, es als Umgebungsvariable DB_PASSWORD festzulegen und es dem Demo-Anwendungsprozess bereitzustellen. Durch die Verwendung von Summon wird das Geheimnis nicht auf der Festplatte gespeichert. Wenn der Dienst neu gestartet wird, ruft Summon das Passwort erneut ab, wenn die Anwendung gestartet wird.

Abhängigkeiten

Keine

Empfehlungen

  • Wichtig: Fügen Sie no_log: true zu jedem Play hinzu, das mit sensiblen Daten arbeitet, ansonsten können diese Daten in die Protokolle geschrieben werden.
  • Stellen Sie sicher, dass die Ansible-Dateien mit minimalen Berechtigungen versehen sind. Ansible verwendet die Berechtigungen des Benutzers, der es ausführt.

Mitwirken

Wir heißen alle Arten von Beiträgen zu diesem Repository willkommen. Für Anweisungen, wie Sie loslegen können und Beschreibungen unserer Entwicklungsarbeitsabläufe, lesen Sie bitte unseren Mitwirkungsleitfaden.

Lizenz

Copyright (c) 2020 CyberArk Software Ltd. Alle Rechte vorbehalten.

Dieses Repository ist unter der Apache License 2.0 lizenziert - siehe LICENSE für weitere Details.

Über das Projekt

Grants Conjur machine identity to hosts

Installieren
ansible-galaxy install cyberark.conjur-host-identity
GitHub Repository
Lizenz
apache-2.0
Downloads
32.5k
Besitzer
CyberArk, the undisputed leader in Privileged Account Security, secures secrets used by machines and users to protect traditional and cloud-native apps.