cyberark.conjur-host-identity

Conjur Ansible 角色

这个 Ansible 角色提供了为主机授权 Conjur 机器身份的能力。 一旦主机通过这个角色创建了身份,就可以使用 Summon 工具安全地获取秘密。

推荐阅读

  • 想了解更多关于 Conjur 的信息,试试看
  • 想了解更多关于如何将 Conjur 与 Ansible 集成的信息,请访问 集成文档
  • 想了解更多关于 Summon 的信息,该工具可以将从 Conjur 检索的秘密值导入到应用程序,访问 Summon 网页
  • 想了解关于其他与 Conjur 集成方式的信息,请访问 Conjur 文档

要求

  • Conjur v1+ 或 Conjur Enterprise(以前称为 DAP)v10+
  • Conjur Enterprise v4
  • Ansible v2.8

如果您使用的是 Ansible v2.9+,请考虑使用我们的 Ansible 集合

使用 ansible-conjur-host-identity 与 Conjur 开源版本

您是否在使用 Conjur 开源版 的这个项目?那么我们 强烈 建议您从最新的 Conjur OSS 套件发布 选择要使用的这个项目的版本。Conjur 维护者对套件发布版本进行了额外的测试,以确保兼容性。尽可能将您的 Conjur 版本升级到匹配 最新的套件发布;在使用集成时,选择与您的 Conjur 版本匹配的最新套件发布。如有任何问题,请通过 Discourse 联系我们。

使用说明

在您的 playbook 目录中使用以下命令安装 Conjur 角色:

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

Conjur 角色提供了一种方法来“Conjurize” 或建立远程节点的 Conjur 身份。然后可以授予该节点最低权限,以安全地检索所需的秘密。

角色变量

  • conjur_appliance_url *:您要连接的 Conjur / Conjur Enterprise 实例的 URL。 在连接到 HA Conjur Enterprise 主集群时,这将是主负载均衡器的 URL。
  • conjur_account *:您要连接的 Conjur 实例的账户名称。
  • conjur_host_factory_token *主机工厂 注册令牌。 应在 Ansible 控制主机的环境中指定。
  • conjur_host_name *:主机工厂创建的主机身份名称。
  • conjur_ssl_certificate:您要连接的 Conjur Enterprise 实例的 PE 中编码的 x509 CA 证书链。您可以通过运行以下命令获取此值:
    $ 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 端点时不是必需的。

示例 Playbook

配置具有 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)变得很简单。 以下是连接到 Conjur 的 SystemD 文件的简单示例:

[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 会在应用程序启动时再次检索密码。

依赖

推荐

  • 重要: 在每个使用敏感数据的 play 中添加 no_log: true否则这些数据可能会打印到日志中。
  • 将 Ansible 文件设置为最小权限。Ansible 使用运行它的用户的权限。

贡献

我们欢迎各种形式的贡献到这个存储库。有关如何开始和我们开发工作流程的说明,请参见我们的 贡献指南

许可

版权所有 (c) 2020 CyberArk Software Ltd. 保留所有权利。

本存储库依据 Apache License 2.0 授权 - 详见 LICENSE 文件。

关于项目

Grants Conjur machine identity to hosts

安装
ansible-galaxy install cyberark.conjur-host-identity
许可证
apache-2.0
下载
32.5k
拥有者
CyberArk, the undisputed leader in Privileged Account Security, secures secrets used by machines and users to protect traditional and cloud-native apps.