gpt4 book ai didi

security - 如何阻止 Ansible 中的 extra_vars 覆盖变量?

转载 作者:行者123 更新时间:2023-12-05 06:23:19 24 4
gpt4 key购买 nike

我正在使用 Ansible Tower 公开游戏。用户为调用 REST API 的作业加注星标,并且她/他提供了一些 extra_vars。我必须根据其他一些变量验证提供的变量。例如:用户提供主机名,我在 list 变量中有:allowed_hostnames。问题是 extra_vars 胜过一切,所以用户总是可以覆盖允许值列表的变量,而测试没有意义。在 Tower 中有一个 Survey 功能,可用于限制允许用户更改的变量,但启用 Survey 将阻止 dict 变量,我需要它。

最佳答案

Q: "Problem is extra_vars trumps everything"

A:避免变量。例如任务

- debug:
msg: "{{ my_host|default('') }} is allowed to ..."
when: "my_host|default('') in lookup('file', 'allowed_hosts.yml')|from_yaml"

数据

$ cat allowed_hosts.yml
- host1
- host2
- host3
- host9

给予

$ ansible-playbook play.yml -e 'my_host=host2'

"msg": "host2 is allowed to ..."


下一个选项可能是 pipe、redis、modgodb ... lookup plugins 、自定义筛选器或自定义查找 plugin .

关于security - 如何阻止 Ansible 中的 extra_vars 覆盖变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58485393/

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