gpt4 book ai didi

python - 使用自定义 Python 脚本在 Ansible Tower 中自定义凭据

转载 作者:行者123 更新时间:2023-12-04 17:44:41 31 4
gpt4 key购买 nike

我正在尝试在 Ansible Tower 中实现自定义脚本以动态导入库存。自定义脚本基本上是使用 Python 编写的,并且与充当域 Controller (DC) 的 Windows 2012 Server 交互。当从 Ansible Tower 执行脚本时,它会从 DC 中提取所有工作站并添加到 Ansible list 中。这样做时,我必须在 Python 脚本中以纯文本形式传递 DC 的登录凭据,这是不希望的。因此,正在寻找是否有一种方法可以在 Ansible Tower 中存储凭据并将它们作为变量传递到 Python 脚本中。

在研究这个话题的时候,基本找到了Custom Credential in a Custom Inventory Script ,本质上在 Ansible Tower 中定义如下:

在 Ansible 塔中的自定义凭据下,输入配置:

{
"fields": [{
"id": "username",
"label": "<Username>",
"type": "string",
}, {
"id": "password",
"label": "<Password>",
"type": "string",
"secret": true
}],
}

然后,注入(inject)器配置:
{
"env": {
"SAT_USERNAME": "{{username}}",
"SAT_PASSWORD": "{{password}}"
}
}

在 Ansible Tower 中保存上述内容后,据我所知, SAT_USERNAMESAT_PASSWORD应该在 Ansible Tower 中可用。上述指南还表明,这些自定义凭据可以通过如下定义在 Python 脚本中访问:
import os
username = os.environ.get("SAT_USERNAME")
password = os.environ.get("SAT_PASSWORD")

然而,当从 Ansible Tower 执行 Python 脚本时,它不会获取 SAT_USERNAMESAT_PASSWORD因此无法成功登录到 Windows DC。

我不确定自定义凭据是否应该可用于 Python 或仅可用于 Ansible 播放。

任何帮助将不胜感激。

最佳答案

最后,获取自定义凭据以使用自定义脚本。如何实现这一目标的简短指南。

  • 一旦定义了 INPUT CONFIGURATION 和 INJECTOR CONFIGURATION
    如上所述,保存它。
  • 从“设置”中,转到“凭据”。选择,+添加。给一个新名字
    凭据。单击 CREDENTIAL TYPE 中的查找。你应该
    查看在上一步中保存的凭据。
  • 现在,有趣的一点。给定的用户名和密码
    因为 INPUT CONFIGURATION 中的标签被激活并且现在可用
    接受字段值。指定适当的值并保存。
    这完成了凭证部分并且是重要的部分
    我错过的信息。
  • 在 list ,来源下,可以选择自定义脚本并
    可以查询凭据。在这里,在步骤 3 中保存的凭据
    将可用。

  • 同步自定义脚本后,Python 脚本应该能够毫无问题地获取环境变量。

    关于python - 使用自定义 Python 脚本在 Ansible Tower 中自定义凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52698502/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com