Web 控制台的用户管理和访问控制(OpenResty Edge)
OpenResty Edge 的用户管理让你在 Web 控制台里实现基于角色的访问控制:内建 “super admin” 和 “normal admin” 两个用户组(只有 “super admin” 能创建新组),可为自定义用户组配置页面级权限,并为每个用户按应用授予四档权限——变更、发布、更新、DNS 管理。本教程走一遍创建用户、分配用户组、授权应用,并以该用户登录来验证效果的完整流程。
创建新的 normal user 账号
先进入控制台。这是我们用于演示的控制台部署,每位用户会有自己本地的部署。
先进入 “Users & Groups” 标签下方的用户页面。
这里是这个控制台里所有用户的列表。现在创建一个新的用户账号。
将之取名为 “jeff-tester”。
我们需要设置一个初始密码。密码的设置会有一些要求。
我们将密码设为 “Abc@123456”。
再次输入并确认密码。
分配用户组与基于角色的权限
现在我们需要将这个用户进行分组。用户组可用于配置具体页面的权限。“super admin” 和 “normal admin” 是两个内建的用户组,都有权限访问和更新所有页面。但只有 “super admin” 可以创建一个新的用户组。
本教程中,我们选择 “normal user”。这是我们提前定义好的用户组。我们将在其他视频演示如何创建用户组。
除了默认的普通登入方式,您也可以配置其他 LDAP 身份验证服务器。
最后,我们可以选择要求用户在下一次登入时修改密码,这样密码就不会再是初始设置。
我们现在先不做要求。点击保存。
现在可以看到一个叫 “jeff-tester” 的用户已经建好了。因为我们目前是 “super admin” 的登入状态,如果这个用户忘记了自己的密码,我们可以重设密码。
用户名在创建后就不能修改,但其用户组或登入类型可以调整。
为用户组和应用配置访问控制
进入 “User Groups“ 页面。
这是已经提前定义好的用户组。我们可以点击 “normal user” 用户组查看细节。
这里是各页面访问权限的详细列表。它具有高度可定制性。所有页面或功能都可以单独进行配置。
可以看到, “DNS” 模块和 “Gateway Clusters” 对普通用户群组,都是不可见的。之后我们可以跳转到刚创建的账号进行确认。如需对“谁能管理具体 DNS 应用”做更细粒度的控制,参见 OpenResty Edge 中的 DNS 应用访问控制。
我们可以在另一个标签页 “ User Management” 下,管理用户组内成员的增减。
“normal user” 默认对应用都没有访问权限。访问控制需要在应用内进行配置。
让我们进入示例应用 “test-edge.com” 中。
进入 “Access Control” 页面。
单击这个按钮就可以允许指定用户访问。
您可以搜索和选择用户,并给予这个应用的访问权限。
这里我们选择测试用户。
该用户始终可以查看此应用的详细信息。“super admin” 还可以授予变更、发布、更新和 DNS 管理的权限。
我们保持默认配置,仅允许变更。保存。
以 normal user 登录验证配置效果
现在切换到 “normal user” 来查看效果。登出现有账户。
使用刚创建的用户名和密码登录。
登入后,我们可以看到这里只有两个标签页。“Gateway cluster” 和 “Global config” 对于这个 “normal user” 都不可见。
用户只能看见一个应用,因为我们之前只给了这个权限。
进入应用。
可以看到,由于我们对用户权限的设置,左侧没有发布页。
常见问题
如何在 OpenResty Edge 中把某个用户限制到单个应用?
先把用户放进一个默认不带任何应用访问权限的用户组,然后打开目标应用,进入其 “Access Control” 页面,单独为这个用户授权。normal user 在你授权之前无法访问任何应用,因此他只会看到你显式授权的那些应用。
OpenResty Edge 中 “super admin” 和 “normal admin” 有什么区别?
“super admin” 和 “normal admin” 都是内建用户组,都能查看和更新所有页面。区别在于:只有 “super admin” 能创建新的用户组。像本教程里的 “normal user” 这样的自定义用户组,其页面级权限需要单独配置。
OpenResty Edge 能对接 LDAP 服务器做身份验证吗?
可以。在创建或修改用户时,可以把登录方式从默认的普通登入切换为 LDAP 身份验证服务器,这样凭据就会交给你现有的目录服务校验,而不是用本地密码。
OpenResty Edge 中可以给用户按应用授予哪些权限?
除了查看应用详情之外,“super admin” 还可以授予用户对该应用的变更、发布、更新和 DNS 管理权限。默认配置只允许变更,因此发布需要单独显式授予权限。
关于 OpenResty Edge
OpenResty Edge 是一款专为微服务和分布式流量架构设计的全能型网关软件,由我们自主研发。它集流量管理、私有 CDN 构建、API 网关、安全防护等功能于一体,帮助您轻松构建、管理和保护现代应用程序。OpenResty Edge 拥有业界领先的性能和可扩展性,能够满足高并发、高负载场景下的苛刻需求。它支持调度 K8s 等容器应用流量,并可管理海量域名,轻松满足大型网站和复杂应用的需求。
如果您喜欢这个教程,请订阅这个博客网站和我们的 YouTube 频道 或 B 站频道。谢谢!
关于作者
章亦春是开源 OpenResty® 项目创始人兼 OpenResty Inc. 公司 CEO 和创始人。
章亦春(Github ID: agentzh),生于中国江苏,现定居美国湾区。他是中国早期开源技术和文化的倡导者和领军人物,曾供职于多家国际知名的高科技企业,如 Cloudflare、雅虎、阿里巴巴, 是 “边缘计算“、”动态追踪 “和 “机器编程 “的先驱,拥有超过 22 年的编程及 16 年的开源经验。作为拥有超过 4000 万全球域名用户的开源项目的领导者。他基于其 OpenResty® 开源项目打造的高科技企业 OpenResty Inc. 位于美国硅谷中心。其主打的两个产品 OpenResty XRay(利用动态追踪技术的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最适合微服务和分布式流量的全能型网关软件),广受全球众多上市及大型企业青睐。在 OpenResty 以外,章亦春为多个开源项目贡献了累计超过百万行代码,其中包括,Linux 内核、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl 等,并编写过 60 多个开源软件库。
关注我们
如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:
翻译
我们提供了英文版原文和中译版(本文) 。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!





















































