Key斗篷管理CLI-使用JSON文件更新领域



目标:
我们的目标是更新提供json文件的整个领域。

问题:
当前的问题是,我们似乎无法完全更新领域以包括客户端更改。

采取的措施:
选项1:根据Key斗篷管理CLI文档,可以使用以下命令从JSON文件更新Key斗篷领域:

kcadm.sh update realms/demorealm -f demorealm.json

但是,当对JSON文件的clients部分中的属性(即客户端的描述)进行更新时,该更改不会反映在Key斗篷领域中。

我们还试图查看kcadm.sh help update。我们尝试使用合并标志(将新值与服务器上的现有配置合并。除非指定了--file,否则会自动启用合并)。我们确实指定了一个文件,因此尝试使用标志启用它,但没有成功。客户端没有按预期更改。

选项2:我们已经尝试了在Key斗篷文档中找到的部分导入命令

$ kcadm.sh create partialImport -r demorealm -s ifResourceExists=OVERWRITE-o -f demorealm.json

ifResourceExists设置为OVERWRITE后,它可以准确地更改客户端。然而,它会更改其他Realm配置,例如分配的用户角色。例如:通过Key斗篷UI手动创建新用户并为用户设置角色后,在运行设置了OVERWRITE标志的命令后,角色将丢失。将ifResourceExists设置为SKIP并不能正确地更新客户端的值,因为它被完全跳过。

问题:是否可以使用不同的命令或不同的标志,用一个Key斗篷管理命令更新整个Key斗篷领域?上面列出的选项1和选项2都不适用于我们。我们希望在更新Realm时避免单独调用update client

注意:
我们已经正确地验证并确认在领域级别所做的更改反映在Key斗篷中。

经过进一步的研究,我们决定采用的方法是用更新领域级设置

kcadm.sh update realms/demorealm -f demorealm.json

然后,我们对客户端进行迭代,并使用添加/更新它们

kcadm.sh update clients/{clients-uuid} -f clientfile.json

由于上一个命令不更新客户端角色,因此我们必须使用以下命令添加角色:

kcadm.sh update clients/{clients-uuid}/roles/{role-name} -f rolefile.json

最后,为了添加复合角色,我们使用以下命令:

kcadm.sh add-roles --cclientid {clientID} --rid {id of client role} --rolename {name of role to add}

相关内容

  • 没有找到相关文章

最新更新