在 chef-server 上创建客户端的权限

Permissions to create clients on chef-server

在 chef-server 上,我有一个组 provisioners,用户应该有权访问 bootstrap 并提供所谓的节点 validator-less

在 bootstrapping 一台机器时,knife 尝试在 Chef 服务器上创建新的客户端和节点。问题出在该组的 ACL 上。在全局权限部分,我可以找到容器并仅授予节点 create 权限,但不授予客户端权限。这就是 knife bootstrap 失败的原因:

Creating new client for node-01
ERROR: You authenticated successfully to https://chef-server:443/organizations/test as mlanin but you are not authorized for this action
Response:  missing create permission

如何为客户端授予创建权限?

您需要通过 knife-acl 插件或 knife edit .../_acl.json 直接编辑 ACL。 UI 隐藏了一些权限内容以避免过于复杂。

参考:https://github.com/chef/knife-acl

knife-acl gem 是正确答案。具体到 OP 的问题,授予创建客户作为 "provisioners" 组成员的能力。

knife acl add group provisioners containers clients create

我发现我需要在全新安装的 chef-server 上为 "users" 组执行此操作。开箱即用的权限似乎并没有真正考虑到无验证器。