使用 apigee-machineuser.sh 管理機器使用者

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.