Apigee SSO 支援兩種驗證設定檔,先前由舊版 apigee-ssoadminapi.sh 指令碼管理:
apigee-machineuser.sh 公用程式可讓您直接在 OpenLDAP 中管理無頭機器使用者帳戶。
關於 OAuth 用戶端 (舊稱「管理員」)
在舊版 Edge 中,您可以使用 apigee-ssoadminapi.sh 公用程式中的 admin 指令,在 UAA 資料庫中動態建立 OAuth 用戶端。在 4.54.00 版中,Apigee SSO 採用宣告式設定 (GitOps) 模型。
您不再需要使用 CLI 指令碼建立 OAuth 用戶端,因為這些用戶端現在是靜態的。Edge UI 的用戶端設定定義於 /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.