首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ansible inventory中安全使用凭证

在ansible inventory中安全使用凭证
EN

Stack Overflow用户
提问于 2021-04-17 11:32:10
回答 1查看 490关注 0票数 0

为了连接到windows主机,我需要传递清单文件中的凭据。这是我的清单文件:

代码语言:javascript
复制
[windows]
100.100.100.100

[windows:vars]
ansible_user=Adminuser
ansible_password="Mypassword"
ansible_port=5986
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore

Ansible文档说凭据应该用ansible-vault加密。我可以在清单文件中使用使用ansible-vault加密的变量文件吗?如果是这样,我如何将我的ansible-vault凭证传递到我的清单文件?我还将在我的行动手册中使用凭证,如下所示:

代码语言:javascript
复制
- hosts: windows
  gather_facts: no

  vars_files:
  - vars.yml

  tasks:
  - win_domain_membership:
      dns_domain_name: my.domain.com
      hostname: ansible-host
      domain_admin_user: {{ admin_user }}
      domain_admin_password: {{ passwd }}
      domain_ou_path: "OU=Windows,OU=Servers,DC=ansible,DC=com"
      state: domain
    register: domain_state

然后,我将使用ansible-vault为这个剧本加密我的变量文件。

代码语言:javascript
复制
---
admin_user:myusername@my.domain.com
passwd:mypassword

然后在命令行中将我的ansible-vault凭据传递给我的剧本:

代码语言:javascript
复制
$ ansible-playbook myplaybook.yml --ask-vault-pass

是否可以将我的清单中使用的变量文件和我的行动手册中使用的变量文件存储在同一个ansible-vault中?这样我就可以在命令行传递这两个文件的ansible-vault凭据了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-18 21:03:35

ansible-vault命令加密单个文件。Ansible在运行时对其进行解密,并以与文件未加密时相同的方式进行解释(因此您不能“将我的清单中使用的变量文件和我的剧本中使用的变量文件都存储在同一个ansible-vault中”,因为这是两个不同的文件)。

我只需从清单中删除该变量,如下所示:

代码语言:javascript
复制
[windows]
100.100.100.100

然后使用以下内容(ansible-vault create groups_vars/windows.yml)将group_vars/windows.yml创建为vaulted文件:

代码语言:javascript
复制
ansible_user: Adminuser
ansible_password: "Mypassword"
ansible_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore

当你有一个以windows组为目标的游戏时,Ansible将自动应用group_vars/windows.yml中的变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67134392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档