在本教程中,我们将演示如何在 OpenResty Edge 的 Web 控制台中,配置 Web 控制台本身的登录用户和访问控制。我们将介绍账户的创建、修改,以及普通用户和超级管理员之间不同的权限控制。OpenResty Edge 的用户管理机制,可以基于角色区分自定义读写网关配置的访问控制。

创建新的 normal user 账号

先进入控制台。这是我们用于演示的控制台部署,每位用户会有自己本地的部署。

Screenshot

先进入 “Users & Groups” 标签下方的用户页面。

Screenshot

这里是这个控制台里所有用户的列表。现在创建一个新的用户账号。

Screenshot

将之取名为 “jeff-tester”。

Screenshot

我们需要设置一个初始密码。密码的设置会有一些要求。

Screenshot

我们将密码设为 “Abc@123456”。

Screenshot

再次输入并确认密码。

Screenshot

基础配置与基于角色区分的访问控制

现在我们需要将这个用户进行分组。用户组可用于配置具体页面的权限。“super admin” 和 “normal admin” 是两个内建的用户组,都有权限访问和更新所有页面。但只有 “super admin” 可以创建一个新的用户组。

Screenshot

本教程中,我们选择 “normal user”。这是我们提前定义好的用户组。我们将在其他视频演示如何创建用户组。

Screenshot

除了默认的普通登入方式,您也可以配置其他 LDAP 身份验证服务器。

Screenshot

最后,我们可以选择要求用户在下一次登入时修改密码,这样密码就不会再是初始设置。

Screenshot

我们现在先不做要求。点击保存。

Screenshot

现在可以看到一个叫 “jeff-tester” 的用户已经建好了。因为我们目前是 “super admin” 的登入状态,如果这个用户忘记了自己的密码,我们可以重设密码。

Screenshot

用户名在创建后就不能修改,但其用户组或登入类型可以调整。

Screenshot

配置访问控制

进入 “User Groups“ 页面。

Screenshot

这是已经提前定义好的用户组。我们可以点击 “normal user” 用户组查看细节。

Screenshot

这里是各页面访问权限的详细列表。它具有高度可定制性。所有页面或功能都可以单独进行配置。

Screenshot

可以看到, “DNS” 模块和 “Gateway Clusters” 对普通用户群组,都是不可见的。之后我们可以跳转到刚创建的账号进行确认。

Screenshot

我们可以在另一个标签页 “ User Management” 下,管理用户组内成员的增减。

Screenshot

“normal user” 默认对应用都没有访问权限。访问控制需要在应用内进行配置。

Screenshot

让我们进入示例应用 “test-edge.com” 中。

Screenshot

进入 “Access Control” 页面。

Screenshot

单击这个按钮就可以允许指定用户访问。

Screenshot

您可以搜索和选择用户,并给予这个应用的访问权限。

Screenshot

这里我们选择测试用户。

Screenshot

该用户始终可以查看此应用的详细信息。“super admin” 也可以授予权限允许变更,或发布这些变更和 DNS 管理。

Screenshot

我们保持默认配置,仅允许变更。保存。

Screenshot

测试配置效果

现在切换到 “normal user” 来查看效果。登出现有账户。

Screenshot

使用刚创建的用户名和密码登录。

Screenshot

登入后,我们可以看到这里只有两个标签页。“Gateway cluster” 和 “Global config” 对于这个 “normal user” 都不可见。

Screenshot

用户只能看见一个应用,因为我们之前只给了这个权限。

Screenshot

进入应用。

Screenshot

可以看到,由于我们对用户权限的设置,左侧没有发布页。

Screenshot

关于 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、LuaJITGDBSystemTapLLVM、Perl 等,并编写过 60 多个开源软件库。

关注我们

如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:

我们的微信公众号

翻译

我们提供了英文版原文和中译版(本文) 。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!