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.