使用 apigee-machineuser.sh 管理机器用户

Apigee SSO 支持两种身份验证配置文件,这些配置文件以前由旧版 apigee-ssoadminapi.sh 脚本进行管理:

借助 apigee-machineuser.sh 实用程序,您可以直接在 OpenLDAP 中管理无头机器用户账号。

OAuth 客户端(以前称为管理员)简介

在之前的 Edge 版本中,您可以使用 admin 命令在 apigee-ssoadminapi.sh 实用程序中动态创建 OAuth 客户端。在 4.54.00 中,Apigee SSO 依赖于声明式配置 (GitOps) 模型。

您不再使用 CLI 脚本来创建 OAuth 客户端,因为它们现在是静态的。Edge 界面客户端的配置在 /opt/silent.conf 中定义。而用于机器用户的客户端 (edgecli) 在 Apigee SSO 中隐式配置。

机器用户简介

机器用户可以通过标准密码授权获取 OIDC/OAuth2 令牌,而无需浏览器或交互式多重身份验证。这意味着,您可以完全自动执行为 CI/CD 流水线和脚本获取和刷新令牌的过程。

当您使用 apigee-machineuser.sh 实用程序创建机器用户时,系统会直接在本地 OpenLDAP 目录中创建该账号,并明确标记为 employeeType: machineuser。借助此标记,即使对于人工用户严格强制执行联合 SAML/OIDC,Apigee SSO 也可以通过密码授权安全地对机器用户进行身份验证。

调用 apigee-machineuser.sh 实用程序

apigee-machineuser.sh 实用程序会自动安装在托管 apigee-openldap 组件的节点上,路径如下:

/opt/apigee/apigee-openldap/bin/apigee-machineuser.sh

该实用程序的可用命令包括:

  • add:在 OpenLDAP 中创建新的机器用户。
  • list:列出在 OpenLDAP 中注册的所有机器用户。
  • setpassword:更新现有机器用户的密码。
  • delete:从 OpenLDAP 中永久移除机器用户。

添加机器用户

使用 add 命令以及 -u 和 -p 标志来创建新的机器用户。

/opt/apigee/apigee-openldap/bin/apigee-machineuser.sh add -u jenkins-bot@apigee.com -p BotSecret123!

输出:

Machine user 'jenkins-bot@apigee.com' created successfully in OpenLDAP.

列出所有机器用户

使用 list 命令查看当前在 OpenLDAP 中注册的所有机器用户。人工用户将从该列表中过滤掉。

/opt/apigee/apigee-openldap/bin/apigee-machineuser.sh list

输出:

Listing all machine users in OpenLDAP:
dn: uid=jenkins-bot@apigee.com,ou=users,ou=global,dc=apigee,dc=com
uid: jenkins-bot@apigee.com
mail: jenkins-bot@apigee.com

重置机器用户的密码

使用 setpassword 命令更新现有机器用户的密码。

/opt/apigee/apigee-openldap/bin/apigee-machineuser.sh setpassword -u jenkins-bot@apigee.com -p NewSecret456!

输出:

Password for machine user 'jenkins-bot@apigee.com' updated successfully.

删除机器用户

使用 delete 命令从 OpenLDAP 中永久移除机器用户。

/opt/apigee/apigee-openldap/bin/apigee-machineuser.sh delete -u jenkins-bot@apigee.com

输出:

Machine user 'jenkins-bot@apigee.com' deleted successfully from OpenLDAP.