Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 如何通过Ansible中的额外变量阻止重写变量?_Security_Ansible_Ansible Tower_Ansible Awx - Fatal编程技术网

Security 如何通过Ansible中的额外变量阻止重写变量?

Security 如何通过Ansible中的额外变量阻止重写变量?,security,ansible,ansible-tower,ansible-awx,Security,Ansible,Ansible Tower,Ansible Awx,我正在使用Ansible Tower来展示游戏。用户启动了调用RESTAPI的工作,并提供了一些额外的变量。我必须对照其他变量验证提供的变量。例如:user提供主机名,清单变量中有:allowed\u hostnames。 问题是额外变量胜过一切,所以用户总是可以覆盖允许值列表中的变量,而测试并没有意义。 在Tower中有一个调查功能,可以用来限制用户允许更改的变量,但启用调查将阻止dict变量,我需要它 问:“问题是额外的球员胜过一切” 答:避免变量。例如任务 - debug: msg

我正在使用Ansible Tower来展示游戏。用户启动了调用RESTAPI的工作,并提供了一些额外的变量。我必须对照其他变量验证提供的变量。例如:user提供主机名,清单变量中有:allowed\u hostnames。 问题是额外变量胜过一切,所以用户总是可以覆盖允许值列表中的变量,而测试并没有意义。 在Tower中有一个调查功能,可以用来限制用户允许更改的变量,但启用调查将阻止dict变量,我需要它

问:“问题是额外的球员胜过一切”

答:避免变量。例如任务

- 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
给予



下一个选项可能是管道、redis、modgodb。。。查找、自定义筛选或自定义查找。

基于@Vladimir answer,我这样做:

- name: Check variables
  fail:
  when: "{{ {'restricted_variables':restricted_variables} != lookup('file', 'restricted_variables.yml')|from_yaml }}"
其中
受限变量.yml

restricted_variables:
  variable1: somevalue
  variable2:
    var1: 1
    var2: 2
restricted_variables:
  variable1: somevalue
  variable2:
    var1: 1
    var2: 2