Knife bootstrap 错误 - 身份验证成功但未获得执行此操作的授权

Knife bootstrap error - Successful authentication but not authorized for this action

ERROR: You authenticated successfully to https:<chef_server_url> as <user> but you are not authorized for this action Response: missing create permission

我正在 运行 为 Windows AWS 实例

设置一个非常基本的 bootstrap 命令

knife bootstrap windows winrm ....

目前 运行正在现场安装 Chef 服务器,此时未托管。我也使用 knife 尝试创建一个新组时遇到同样的错误。我通过 SSH 进入 Chef 服务器并验证我的用户在我 运行

时列出

sudo chef-server-ctl list-server-admins

看来我已获得服务器管理员权限。我在尝试通过网络查看和创建内容时也看到了同样的错误 UI。我几乎整天都在兜圈子试图解决这个问题,但没有运气

server-admins 组意味着您有权创建和修改 orgs/users,对于单个组织内的操作(​​例如在 bootstrap 期间创建新客户端),您需要在该组织内使用 ACL组织。通常,您可以通过成为该组织中 admins 组的成员来获得此权限,但您也可以手动为自己分配特定权限。

好吧,这毕竟很简单。从 Chef 服务器上的终端:

sudo chef-server-ctl org-user-add <org> <user> --admin

文档 - https://docs.chef.io/server_users.html

我能够将自己添加到管理员组并从那里处理其他与权限相关的任务

我的 config.rb 配置错误时遇到了这个问题:

chef_server_url“https://chefserver.domain.com/organizations/org/organizations/

我更正了这个,它 运行 正确启动了。