自動處理權杖產生程序

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

透過 Edge API 使用 SAML 時,您必須按照以下程序取得 OAuth2 存取權, SAML 宣告中的重新整理符記稱為密碼流程。輸入密碼 流程,您會使用瀏覽器取得一次性密碼,然後運用這組密碼取得 OAuth2 符記

不過,您的環境可能會支援將一般開發工作的自動化。 例如測試自動化或持續整合/持續部署 (CI/CD)。實現自動化 因此在啟用 SAML 後,您需要設法在沒有憑證的情況下取得及更新 OAuth2 權杖 不必從瀏覽器複製/貼上密碼

關於電腦使用者

Apigee Edge 可在已啟用 SAML 的機構中支援電腦使用者機器使用者僅用於自動化作業,不會由真人直接存取,

電腦使用者可以取得 OAuth2 權杖 且不需要指定密碼這表示您可以完全 取得及重新整理 OAuth2 權杖。

自動化權杖產生程序的步驟

如何自動化權杖產生程序:

步驟 說明
1 在 SAML 識別資訊可用區中建立電腦使用者
2 將必要角色指派給 Edge 機構中的電腦使用者
3 取得裝置使用者的 OAuth2 權杖

影片:觀看這部短片,瞭解如何使用電腦使用者憑證自動存取 Apigee Edge API。

管理 SAML 身分識別區域的電腦使用者

Apigee 提供機器使用者管理指令列介面 (CLI),可建立及管理機器使用者帳戶。 下列各節將說明機器使用者管理 CLI 的使用步驟。

使用 CLI

如要使用機器使用者管理 CLI,請先下載並解壓縮下列檔案: usermgmt.tar.gz(1)

呼叫 CLI 的格式如下:

usermgmt_platform [command] [flags]

下表摘要說明支援的平台,以及可呼叫機器使用者管理 CLI 的對應指令。 (執行檔位於 usermgmt 目錄中)。

平台 32 位元 64 位元
Linux usermgmt_linux_386 usermgmt_linux_amd64
Mac usermgmt_darwin_386 usermgmt_darwin_amd64
Windows usermgmt_windows_386 usermgmt_windows_amd64

下表摘要列出可以指定的指令

指令 更多資訊
create 在身分識別區域中建立機器使用者
delete 刪除身分可用區中的機器使用者
help 取得 CLI 使用說明
list 列出特定識別資訊可用區中的所有機器使用者
reset 重設身分區域中電腦使用者的密碼

或者,您也可以傳遞下列其中一個 flags,代表指定指令:-h--help

登入 CLI

首次在 24 小時內執行 CLI 時,系統會提示您輸入 zoneadmin 帳戶憑證。

Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skip

機器使用者管理 CLI 會將存取權杖儲存在本機電腦,因此每 24 小時只須登入一次。

取得 CLI 使用說明

使用 usermgmt_platform help 指令顯示 CLI 使用資訊。如需支援的平台清單,請參閱使用 CLI

usermgmt_platform help

系統會顯示下列說明資訊:

A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.

Usage:
  usermgmt [flags]
  usermgmt [command]

Available Commands:
  create  Creates a machine users in an identity zone.
  delete  Deletes a machine users in an identity zone.
  help    Help about any command
  list    Lists the machine users in an identity zone.
  reset   Resets the password for a machine user in an identity zone.

Flags:
  -h, --help               help for usermgmt

Use "usermgmt [command] --help" for more information about a command.

在指令列中傳送指令和 -h--help 標記,可在特定指令上顯示說明。

舉例來說,如要取得 list 指令的說明:

usermgmt_platform list -h

系統會顯示下列說明資訊:

Lists the machine users in an identity zone.

Usage:
  usermgmt list [flags]

Flags:
  -h, --help   help for list

在身分可用區中建立機器使用者

使用 usermgmt_platform create 指令,在身分可用區中建立電腦使用者。 如需支援的平台清單,請參閱使用 CLI

  1. 請輸入下列指令:
    usermgmt_platform create

    系統會顯示身分區域清單:

    myzone1
    myzone2
  2. 在提示訊息中輸入區域名稱:
    Enter a zone name: myzone1
  3. 輸入電腦使用者的使用者名稱:
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. 輸入電腦使用者的密碼。出現提示時,請重新輸入密碼。
    Password: password
    Re-enter password: password 

    建立使用者。

    Created machine user machineuser1@mycompany.com

列出身分可用區中的所有機器使用者

透過 usermgmt_platform list 指令,列出身分可用區中的所有電腦使用者。如需支援的平台清單,請參閱使用 CLI

  1. 請輸入下列指令:
    usermgmt_platform list
    系統會顯示身分區域清單:
    myzone1
    myzone2
  2. 在提示訊息中輸入區域名稱:
    Enter a zone name: myzone1

    系統將顯示身分區域中的電腦使用者清單:

    Machine users in the zone:
    machineuser1@mycompany.com
        

重設身分區域中電腦使用者的密碼

使用 usermgmt_platform reset 指令,重設身分區域中電腦使用者的密碼。如需支援的平台清單,請參閱使用 CLI

  1. 請輸入下列指令:
    usermgmt_platform reset

    系統會顯示身分區域清單:

    myzone1
    myzone2
  2. 在提示訊息中輸入區域名稱:
    Enter a zone name: myzone1
  3. 輸入您要重設密碼的電腦使用者名稱:
    Reset User Password
    Enter the username for the machine user
    Username: machineuser1@mycompany.com
  4. 輸入電腦使用者的新密碼。出現提示時,請重新輸入密碼。
    Enter the new password: password
    Re-enter password: password

    已重設密碼。

    Reset password for machine user machineuser1@mycompany.com

刪除身分可用區中的機器使用者

使用 usermgmt_platform delete 指令刪除識別資訊可用區中的電腦使用者。如需支援的平台清單,請參閱使用 CLI

  1. 請輸入下列指令:
    usermgmt_platform delete
    系統會顯示身分區域清單:
    myzone1
    myzone2
  2. 在提示訊息中輸入區域名稱:
    Enter a zone name: myzone1
  3. 輸入要刪除的電腦使用者名稱:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    已刪除電腦使用者。

    Deleted user machineuser1@mycompany.com

將必要角色指派給 Edge 機構中的電腦使用者

透過 UI 將電腦使用者新增至已啟用 SAML 的 Edge 機構,並指派必要角色 (例如機構管理員)。 ,請參閱「新增使用者」一節。

取得裝置使用者的 OAuth2 權杖

您可以使用 acurl(1)get_token(1) 公用程式,如 OAuth2 適用於電腦使用者SAML 可用區中的機器使用者

如要使用 curl 手動取得裝置使用者的 OAuth2 權杖:

  1. 使用您偏好的網址編碼工具,對電腦使用者的使用者名稱和密碼進行編碼。

    警告:請使用「內部」網址編碼工具確保 確保電腦使用者憑證不會遭到入侵

  2. 呼叫 SAML 權杖端點,產生初始存取和更新權杖,如以下範例所示:
    curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
      -H "accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      https://zoneName.login.apigee.com/oauth/token -s \
      -d 'grant_type=password&username=machineusername&password=machineuserpassword'

    如要授權,請將保留的 OAuth2 用戶端憑證 ZWRnZWNsaTplZGdlY2xpc2VjcmV0 傳入 Authorization 標頭。呼叫會輸出 stdout

  3. 將存取權杖做為 Bearer 標頭傳遞給 Edge Management API 呼叫:
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. 存取權杖到期後,您可以將更新憑證傳送至 SAML 來更新憑證 權杖端點,如以下範例所示:
    curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \
      -H "Accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

(1) 版權所有 2023 Google LLC
usermgmtacurlget_token 工具是以「軟體」形式提供在 本協議,規範 Google Cloud Platform (包括「服務」) 的使用行為 專屬條款列載於 https://cloud.google.com/terms/service-terms