在chef-server上,我有一组provisioners用户,他们应该具有引导和配置节点的权限,因此称为无验证器.
在引导机器时,刀试图在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
Run Code Online (Sandbox Code Playgroud)
如何为客户端授予创建权限?
您需要通过knife-acl插件或直接编辑ACL knife edit .../_acl.json.UI隐藏了一些权限,以避免过于复杂.
请参阅:https://github.com/chef/knife-acl
小智 5
刀尖宝石是正确的答案.特定于OP的问题,授予创建客户端作为"供应商"组成员的能力.
knife acl add group provisioners containers clients create
Run Code Online (Sandbox Code Playgroud)
我发现我需要为全新安装的chef-server上的"用户"组执行此操作.似乎开箱即用的权限确实没有考虑到验证器.