在 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 隐藏了一些权限内容以避免过于复杂。
knife-acl gem 是正确答案。具体到 OP 的问题,授予创建客户作为 "provisioners" 组成员的能力。
knife acl add group provisioners containers clients create
我发现我需要在全新安装的 chef-server 上为 "users" 组执行此操作。开箱即用的权限似乎并没有真正考虑到无验证器。
在 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 隐藏了一些权限内容以避免过于复杂。
knife-acl gem 是正确答案。具体到 OP 的问题,授予创建客户作为 "provisioners" 组成员的能力。
knife acl add group provisioners containers clients create
我发现我需要在全新安装的 chef-server 上为 "users" 组执行此操作。开箱即用的权限似乎并没有真正考虑到无验证器。