Portainer: LDAP 用户无法访问端点数据

创建于 2019-04-02  ·  3评论  ·  资料来源: portainer/portainer

错误描述

LDAP 导入的用户(来自 Aactive Directory),无法看到堆栈、服务、容器、卷或网络。 唯一有效的部分是图像。 用户可以使用管理访问选项直接访问端点。 直接或通过导入的 LDAP 组授予用户访问权限都不起作用。

预期行为
导入的 LDAP 用户应该能够访问属于管理员授予他们访问权限的端点的所有资源。

重现问题的步骤:

重现行为的步骤:

  1. 使用官方部署信息部署 portainer(使用 composer 的 Swarm 模式)
  2. 配置 LDAP 身份验证(简单绑定、TLS 或 StartTLS)
  3. 转到默认的“主要”端点并使用管理访问权限授予用户访问权限
  4. 与用户一起登录 portainer(在主页部分,他能够看到有关主要端点的所有信息,数量:堆栈、服务、容器、卷和图像)
  5. 单击主页上的主要端点。
  6. 用户可以看到 swarm 中的图像数量,但任何其他资源(堆栈、容器、卷、服务或网络)的数量为 0。 容器日志中未显示错误。

技术细节:

  • Portainer 版本:1.20.2
  • Docker 版本(由 Portainer 管理):18.09.03
  • 平台(windows/linux):linux
  • 用于启动 Portainer ( docker run -p 9000:9000 portainer/portainer ) 的命令: docker stack deploy --compose-file=portainer-agent-stack.yml portainer (部署说明中的默认 composer 文件)
  • 浏览器:Chrome 73.0.3683.86
    Captura1
    Captura2
    Captura3
    Captura4
    Captura5

最有用的评论

这不是错误,它实际上是 Portainer 应用程序的正常行为。

所有在 Portainer 外部创建的资源都将仅限于管理员用户,这也是在 Portainer 内部创建资源时的默认策略。

使用 LDAP/OAuth 身份验证时,新创建的用户将在创建时被分配常规用户角色,因此将无法访问任何仅限于管理员的现有资源。

正如 Neil 所说,您需要为这些用户中的每一个分配管理员角色。

我们有一个进化请求,允许用户更改应用程序中可用的默认所有权:

https://github.com/portiner/portiner/issues/685

您还可以从我们的下一个扩展中期待一种更强大的方法,该扩展将引入基于角色的高级访问控制管理。

所有3条评论

你好呀,

如果您以管理员身份登录,并查看每个页面(堆栈、服务、容器、卷、网络、配置、机密),请查看“所有权”列。 如果上面写着“管理员”,那么标准用户将无法看到该资源。

您可以将您的 LDAP 用户提升为管理员(在 Portainer 中单击他们的用户帐户并将其标记为管理员),或将访问控制更改为“公共”,以便所有用户都可以查看资源。

这不是错误,它实际上是 Portainer 应用程序的正常行为。

所有在 Portainer 外部创建的资源都将仅限于管理员用户,这也是在 Portainer 内部创建资源时的默认策略。

使用 LDAP/OAuth 身份验证时,新创建的用户将在创建时被分配常规用户角色,因此将无法访问任何仅限于管理员的现有资源。

正如 Neil 所说,您需要为这些用户中的每一个分配管理员角色。

我们有一个进化请求,允许用户更改应用程序中可用的默认所有权:

https://github.com/portiner/portiner/issues/685

您还可以从我们的下一个扩展中期待一种更强大的方法,该扩展将引入基于角色的高级访问控制管理。

谢谢各位! 起初我有点困惑,但这解释了一切。

此页面是否有帮助?
0 / 5 - 0 等级