我在 Ubuntu 上安装了 Keycloak 26.0.0,并能够创建一个临时管理员帐户。当我登录时,横幅显示:

您以临时管理员用户身份登录。为了加强安全性,请创建一个永久管理员帐户并删除临时帐户。

如何创建永久管理员帐户?我是否遵循“管理用户”文档?我是否在主域中创建永久管理员帐户?我如何赋予该管理员正确的权限/角色?

我阅读了“管理用户”文档。我在主域中添加了一个名为 admin 的用户并设置了密码。我不知道如何为其赋予管理员角色或管理员权限。我尝试了“分配角色”按钮,但未列出管理员角色。

我在这里看到过其他关于为新领域授予管理员角色的问题,但没有看到任何描述在主领域授予管理员角色的问题。我也没有找到任何问题或文档提供有关“永久管理员帐户”的详细信息。

1

  • 也期待这个答案。


    – 


最佳答案
1

我能够使用 kcadm.sh 命令添加管理员角色。

我在裸机系统上运行 keycloak。我认为以下命令可以适用于其他设置。

首先,我使用普通管理控制台将用户“admin”添加到主域。(正如我在问题中提到的。我无法从该控制台向该用户添加管理员角色。)

接下来,登录到托管 Keycloak 服务器的系统并进入您的 keycloak 目录。

cd /opt/keycloak

kcadm.sh 命令需要您首先使用临时管理员凭据登录。我使用名称 temp-admin 作为初始管理员帐户,使用名称 admin 作为永久帐户。这将提示您输入临时管理员密码。

./bin/kcadm.sh config credentials \
    --server http://localhost:8080 \
    --realm master \
    --user temp-admin

最后,为admin用户添加admin角色。

./bin/kcadm.sh add-roles --uusername admin --rolename admin

您可以使用以下命令验证 temp-admin 和 admin 的角色是否相同:

./bin/kcadm.sh get-roles --uusername temp-admin
./bin/kcadm.sh get-roles --uusername admin

我能够以新管理员用户身份登录管理控制台并验证它现在是否具有管理员角色。例如,按钮Create realm仅与管理员角色及其继承的角色和继承的角色一起出现。