18.5. 基本操作和资源 URI


Admin CLI 可以通过为简化特定任务的额外命令对 Admin REST API 端点通常执行 CRUD 操作。

此处列出了主要使用模式:

$ kcadm.sh create ENDPOINT [ARGUMENTS]
$ kcadm.sh get ENDPOINT [ARGUMENTS]
$ kcadm.sh update ENDPOINT [ARGUMENTS]
$ kcadm.sh delete ENDPOINT [ARGUMENTS]
Copy to Clipboard Toggle word wrap

创建getupdatedelete 命令分别映射到 HTTP 动词 POSTGETPUTDELETE。ENDPOINT 是一个目标资源 URI,可以是绝对(使用 http:https:启动)或相对,Red Hat Single Sign-On 使用 用以下格式编写绝对 URL:

SERVER_URI/admin/realms/REALM/ENDPOINT
Copy to Clipboard Toggle word wrap

例如:如果您对服务器 http://localhost:8080/auth 进行身份验证,且域为 master,使用 ENDPOINT 的用户 将创建 http://localhost:8080/auth/admin/realms/master/users 资源 URL。

如果您将 ENDPOINT 设置为 客户端,则有效资源 URI 为 http://localhost:8080/auth/admin/realms/master/clients

Red Hat Single Sign-On 有一个 端点,即 realms 的容器。它被解析为:

SERVER_URI/admin/realms
Copy to Clipboard Toggle word wrap

红帽单点登录具有 serverinfo 端点。此端点独立于 realm。

当您以具有 realm-admin 电源的用户身份进行验证时,您可能需要在多个域上执行命令。若是如此,请指定 -r 选项,告知 CLI 如何明确执行命令。命令不使用 kcadm.sh 配置凭证--realm 选项 指定的 REALM,而是使用 TARGET_REALM

SERVER_URI/admin/realms/TARGET_REALM/ENDPOINT
Copy to Clipboard Toggle word wrap

例如:

$ kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin --password admin
$ kcadm.sh create users -s username=testuser -s enabled=true -r demorealm
Copy to Clipboard Toggle word wrap

在本例中,您将启动一个以 admin 用户身份在 master realm 中验证的会话。然后,您可以针对资源 URL http://localhost:8080/auth/admin/realms/demorealm/users 执行 POST 调用。

创建或更新 命令会将 JSON 正文发送到服务器。您可以使用 -f FILENAME 从文件中读取预报文档。当您可以使用 -f - 选项时,Red Hat Single Sign-On 从标准输入中读取邮件正文。您可以指定单个属性及其值,如 创建用户示例中所示。Red Hat Single Sign-On 将属性组成 JSON 正文,并将其发送到服务器。

Red Hat Single Sign-On 中提供了几种方法,以使用 update 命令更新资源。您可以确定资源的当前状态并将其保存到文件中,编辑该文件并将其发送到服务器以进行更新。

例如:

$ kcadm.sh get realms/demorealm > demorealm.json
$ vi demorealm.json
$ kcadm.sh update realms/demorealm -f demorealm.json
Copy to Clipboard Toggle word wrap

此方法使用发送的 JSON 文档中的属性更新服务器上的资源。

另一种方法是通过使用 -s --set 选项设置 新值来执行持续更新。

例如:

$ kcadm.sh update realms/demorealm -s enabled=false
Copy to Clipboard Toggle word wrap

此方法将 enabled 属性设置为 false

默认情况下,update 命令执行 get,然后将新属性值与现有的值合并。在某些情况下,端点可能支持 put 命令,但不支持 get 命令。您可以使用 -n 选项执行 no-merge 更新,这会在不先运行 get 命令的前提下执行 put 命令。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat