PAM360插件 —— 用于Chef和Puppet
Chef
Puppet
示例代码
Chef
1.Chef简介
Chef 是一种基于 Ruby 的配置管理工具,它提供一种将基础结构定义为代码 ( IAC ) 的方法,其中通过编写代码而不是使用手动流程来简单管理基础结构。 Chef 使用客户端服务器体系结构进行操作。
为 Chef 开发的 PAM360lookup 插件有助于提高组织 DevOps 管道中密码管理的安全性和易用性。将 PAM360插件导入到 Chef 后,可以在 Chef 说明书运行时直接从 PAM360vault 获取凭据和帐户信息,从而无需使用硬编码凭据。 在安全检索后,凭据可用于连接到远程主机等操作。 PAM360 中存储的凭据定期在保管库中轮换,并在相应的远程设备中更新;这可确保在调用 Chef 插件时仅从保管库检索最新的密码或密钥。
2.为Chef设置 PAM360插件的步骤
以下是使用 PAM360 在 Chef 中设置和管理敏感凭据的步骤。
- 在 PAM360 中实现Chef集成。
- 调用 Chef 说明书中的 PAM360插件。
2.1PAM360 中的Chef集成
- 登录到 PAM360 并导航到管理 >> 集成 >> CI/CD 平台集成。
- 单击Chef选项。
- 在 CI/CD 平台集成窗口中,单击生成"以自动填充 AUTH 令牌。 稍后在调用 Chef 说明书中的插件时,将对此进行调用。 设置完成后,来自 Chef 的所有传入连接将由 PAM360 使用此 AUTH 令牌进行验证。
- 输入活动 PAM360 用户的用户名。 PAM360 将身份验证令牌映射到此用户帐户,该令牌将用于从 PAM360 的保管库检索所需的密码。 一旦 PAM360 将身份验证令牌映射给此用户,也可以使用此身份验证令牌访问拥有/共享给此用户的资源。
- 单击启用。
注意:确保您提供( PAM360 用户帐户)具有此工作流所需的最低权限,即查看/检索 Chef 必须连接到的资源的密码的权限。 由此用户拥有并共享给此用户的资源的密码是 Chef 在 PAM360 中有权访问的唯一凭据。
2.2在Chef中使用 PAM360插件
通过执行以下操作,将 PAM360 红宝石宝石导入Chef说明书:
2.2.1 使用凭据初始化 PAM360Class 对象
语法: gemData =PAM360Gem.new (主机名,身份验证,路径,端口号)
其中,
2.2.2 要应用于 Chef 说明书以调用 PAM360插件
gemData.getAccount 密码("资源名称"""帐户名称")
此方法将帐户密码作为字符串获取。
gemData.getAccountDetails ("资源名称"""帐户名称")
此方法返回 JSON 格式数组中的资源和帐户详细信息。
Puppet
1.Puppet介绍
Puppet 是一种基于红宝石的配置管理工具,类似于 Chef、 Puppet 还使用客户端服务器体系结构进行操作,其中主服务器和从服务器在 SSL 的帮助下通过安全加密通道进行通信。 Puppet主要用于部署、配置和管理服务器。 与 Chef 类似, PAM360lookup 插件在调用时可以从 PAM360 的保管库检索密码。
2.为Puppet设置 PAM360插件 的步骤
以下是使用 PAM360 在 Puppet 中设置和管理敏感凭据的步骤。
- 在 PAM360 中启用Puppet集成。
- 在Puppet中调用 PAM360插件。
2.1PAM360 中的Puppet集成
- 登录到 PAM360 并导航到管理 >> 集成 CI/CD 平台集成。
- 单击Puppet选项。
- 在 CI/CD 平台集成窗口中,单击生成"以自动填充 AUTH 令牌。 稍后在 Puppet 中调用插件时需要这样做。 设置完成后,来自 Puppet 的所有传入连接将由 PAM360 使用此 AUTH 令牌进行验证。
- 输入活动 PAM360 用户的用户名。 PAM360 将身份验证令牌映射到此用户帐户,该令牌将用于从 PAM360 的保管库检索所需的密码。 一旦 PAM360 将身份验证令牌映射给此用户,也可以使用此身份验证令牌访问拥有/共享给此用户的资源。
- 单击启用。
注意:确保您提供( PAM360user )的 PAM360 用户帐户具有此工作流的最低要求权限,即查看/检索 Puppet 必须连接到的资源的密码的权限。 由此用户拥有并共享给此用户的资源的密码是 Puppet 在 PAM360 中有权访问的唯一凭据。
2.2 在Puppet中使用 PAM360插件
通过执行以下操作将 PAM360 红宝石宝石导入Puppet:
2.2.1 使用凭据初始化 PAM360Class 对象
语法: gemData =PAM360Gem.new (主机名,身份验证,路径,端口号)
其中,
2.2.2 要应用于Puppet以调用 PAM360插件
getAccountPassword (资源名称, 帐户名称)
此方法将帐户密码作为字符串获取。
getAccountDetails (资源名称,帐户名称)
此方法返回 JSON 格式数组中的资源和帐户详细信息。
示例代码
1.使用 PAM360插件 获取资源和帐户详细信息的示例代码
以下是示例输入和输出代码以及相应的示例响应,用于使用 PAM360插件获取帐户详细信息。 Chef和Puppet的样本代码保持不变。
示例输入
宝石 "PAM360_Gem"
要求'PAM360_Gem'gemData =PAM360Gem.new ("本地主机","060CCDB8-71A0-4B8B-AC57-XXXXX"""//本地/用户/服务器认证")
#resourcename [Windows 帐户名称] 用户帐户 1
放("资源细节"\n"")
结果 =gemData.getAccountDetails ("Windows","用户帐户1"))
放(结果{0})
放(""帐户细节\n"")
放(结果[1])
样品输出
资源详细信息 \"RESOURCE_ID"":1","RESOURCE_NAME"""RESOURCE_DESCRIPTION"""RESOURCE_URL""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""窗口""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 帐户详细信息 {"帐户名称":"用户帐户 1"""PASSWORD":""Test@123"}
2.使用 PAM360插件 获取密码的示例代码
以下是示例输入和输出代码以及使用 PAM360插件获取密码的相应示例响应。 Chef和Puppet的样本代码保持不变。
示例输入
宝石 "PAM360_Gem"
需要 "PAM360_Gem"
gemData =PAM360Gem.new ("本地主机","060CCDB8-71A0-4B8B-AC57-XXXXX"""/本地/用户/服务器认证")
#resourcename [Windows 帐户名称] 用户帐户 1
放("帐户密码\n"")
放( gemData.getAccountPassword )("Windows","用户帐户1"))
样品输出
帐户密码 Test@123
有关Chef和Puppet的信息,请参阅以下链接:
Chef:https://www.chef.io
Puppet:https://puppet.com/