conjur-host-identity

Ansible Роль Conjur

Эта Ansible роль предоставляет возможность предоставить машине Conjur идентичность на хосте. После того как на хосте создана идентичность с помощью этой роли, секреты могут быть безопасно извлечены с использованием инструмента Summon.

Рекомендуемая литература

Требования

  • Conjur v1+ или Conjur Enterprise (ранее DAP) v10+
  • Conjur Enterprise v4
  • Ansible v2.8

Если вы используете Ansible v2.9+, пожалуйста, рассмотрите возможность использования нашей Ansible Коллекции.

Использование ansible-conjur-host-identity с Conjur Open Source

Если вы используете этот проект с Conjur Open Source, мы настоятельно рекомендуем выбирать версию этого проекта из последнего релиза Conjur OSS suite. Разработчики Conjur проводят дополнительные тесты на версиях релиза, чтобы обеспечить совместимость. По возможности обновите вашу версию Conjur, чтобы соответствовать последнему релизу suite; при использовании интеграций выбирайте последний релиз, который соответствует вашей версии Conjur. Если у вас есть вопросы, пожалуйста, свяжитесь с нами на Discourse.

Инструкции по использованию

Установите роль Conjur, используя следующую команду в каталоге вашего плейбука:

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

Роль Conjur предоставляет метод для "Conjurize" или установления идентичности Conjur удаленной ноды с помощью Ansible. Нода может затем получить доступ с минимальными привилегиями для безопасного извлечения нужных секретов.

Переменные роли

  • conjur_appliance_url *: URL вашей инстанции Conjur / Conjur Enterprise, к которой вы подключаетесь. При подключении к кластеру HA мастер-узла Conjur Enterprise это будет URL балансировщика нагрузки.
  • conjur_account *: название аккаунта для инстанции Conjur, к которой вы подключаетесь.
  • conjur_host_factory_token *: токен Host Factory для регистрации слоя. Это значение должно быть указано в окружении на управляющем хосте Ansible.
  • conjur_host_name *: имя идентичности хоста для создания хостовой фабрикой.
  • conjur_ssl_certificate: PEM-кодированная цепочка x509 CA сертификатов для инстанции Conjur Enterprise, к которой вы подключаетесь. Это значение можно получить, выполнив команду:
    $ openssl s_client -showcerts -servername [CONJUR_DNS_NAME] -connect [CONJUR_DNS_NAME]:443 < /dev/null 2> /dev/null
    
  • conjur_validate_certs: логическое значение, указывающее, следует ли клиенту проверять сертификаты сервера Conjur.
  • summon.version: версия Summon для установки. По умолчанию 0.8.3.
  • summon_conjur.version: версия провайдера Summon-Conjur для установки. По умолчанию 0.5.3.

Переменные, отмеченные *, являются обязательными. Остальные переменные обязательны для работы с HTTPS-эндпоинтом Conjur, но не обязательны, если вы работаете с HTTP-эндпоинтом Conjur.

Пример плейбука

Настройте удаленную ноду с идентичностью Conjur и 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}}"

Этот пример:

  • Регистрирует хост в Conjur, добавляя его в слой, специфичный для предоставленного токена хостовой фабрики.
  • Устанавливает Summon с провайдером Summon-Conjur для извлечения секретов из Conjur.

Summon & Системные менеджеры

С установленным Summon, использование Conjur с системным менеджером (например, SystemD) становится простым. Вот простой пример файла SystemD, подключающегося к 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

Пример выше использует Summon для извлечения пароля, хранящегося в staging/myapp/database/password, устанавливает его в переменную окружения DB_PASSWORD и передает его процессу демон-приложения. Используя Summon, секрет хранится вне диска. Если сервис перезагружается, Summon снова извлекает пароль при запуске приложения.

Зависимости

Нет

Рекомендации

  • Важно: добавьте no_log: true к каждому плейу, использующему чувствительные данные, иначе эти данные могут быть выведены в логи.
  • Установите минимальные разрешения для файлов Ansible. Ansible использует разрешения пользователя, который его запускает.

Вклад

Мы приветствуем вклады всех типов в этот репозиторий. Для инструкций по началу работы и описания наших рабочих процессов разработки, пожалуйста, ознакомьтесь с нашим руководством по вкладами.

Лицензия

Copyright (c) 2020 CyberArk Software Ltd. Все права защищены.

Этот репозиторий лицензирован под Apache License 2.0 - смотрите LICENSE для получения дополнительных сведений.

О проекте

Grants Conjur machine identity to hosts

Установить
ansible-galaxy install cyberark/ansible-conjur-host-identity
Лицензия
apache-2.0
Загрузки
32313
Владелец
CyberArk, the undisputed leader in Privileged Account Security, secures secrets used by machines and users to protect traditional and cloud-native apps.