12.4. 为远程执行委派权限
您可以控制哪些用户可以运行您基础架构中哪些作业,包括他们可以为目标的主机。远程执行功能提供了两个内置角色:
- Remote Execution Manager :此角色允许访问所有远程执行特性和功能。
- 远程执行用户 :此角色仅允许运行作业;它不提供修改作业模板的权限。
您可以克隆远程执行用户角色,并自定义其过滤器以提高粒度。如果您使用
view_job_templates
权限调整过滤器,用户只能根据匹配的作业模板查看和触发作业。您可以使用 view_hosts
和 view_smart_proxies
权限来限制哪些主机或胶囊对角色可见。
execute_template_invocation
权限是一个特殊权限,在执行作业开始前立即检查。此权限定义了您可以在特定主机上运行的作业模板。在指定权限时,这提高了粒度。有关使用角色和权限的更多信息,请参阅 服务器管理指南中的创建和管理角色。
以下示例显示了
execute_template_invocation
权限的过滤器:
name = Reboot and host.name = staging.example.com name = Reboot and host.name ~ *.staging.example.com name = "Restart service" and host_group.name = webservers
name = Reboot and host.name = staging.example.com
name = Reboot and host.name ~ *.staging.example.com
name = "Restart service" and host_group.name = webservers
上例中的第一行允许用户在一个选定的主机上执行 Reboot 模板。第二行定义了名称以 .staging.example.com 结尾的主机池。第三行将模板与主机组绑定。
注意
分配给用户的权限可能会随时间变化。如果用户已调度了一些作业来在以后运行,并且权限已更改,这可能会导致执行失败,因为在作业执行前立即检查权限。