VMware Cloud Director 10.3.1 開始,可以產生並核發 API 存取 Token。透過 API 存取 Token,您可以使用相應的安全性最佳做法 (包括利用雙因素授權) 進行驗證,可以針對 VMware Cloud Director 授與建置自動化的存取權。

存取 Token 是用戶端應用程式用來代表使用者發出 API 要求的構件。應用程式需要存取 Token 進行驗證。存取 Token 到期後,應用程式可以使用 API Token 取得存取 Token。API Token 不會到期。

使用存取 Token 時,應用程式無法執行某些工作。

  • 變更使用者密碼
  • 執行使用者管理工作
  • 建立更多 Token
  • 檢視或撤銷其他 Token

使用 API 存取 Token 存取 VMware Cloud Director 時,應用程式只有以下資源的檢視權限。

  • 使用者
  • 群組
  • 角色
  • 全域角色
  • 權限服務包
使用 API 存取 Token 存取 VMware Cloud Director 的應用程式沒有以下權限。
  • Token:管理
  • Token:管理全部

與產生使用者 API Token 類似,可以使用 VMware Cloud Director API 建立服務帳戶。用於建立服務帳戶的 API 要求使用與建立使用者 API Token 相同的 API 端點,但存在 software_id 欄位表示用於建立服務帳戶。

必要條件

使用 API Token 進行驗證將使用 OAuth 2.0 RFC 6749 第 6 節中指定的「重新整理存取 Token」標準,以允許作為 OAuth 應用程式存取 VMware Cloud Director。傳回的存取 Token 與 VMware Cloud Director 存取 Token 相同,用戶端應用程式可以使用該 Token 對 VMware Cloud Director 進行後續 API 呼叫。若要發出符合 OAuth 2.0 RFC 的要求,請自行熟悉徵求意見文件 (RFC) 6749 第 6 節中有關重新整理存取 Token 的資訊。

程序

  1. 在導覽列的右上角,按一下您的使用者名稱,然後選取使用者喜好設定
  2. 在 [存取 Token] 區段下,按一下新增
  3. 輸入 Token 的名稱,然後按一下建立
    此時將顯示產生的 API Token。必須複製 Token,因為 Token 僅顯示一次。按一下 確定後,無法再次擷取此 Token,只能將其撤銷。
  4. https://site.cloud.example.com/oauth/provider/token API 端點發出符合 OAuth 2.0 RFC 的要求。
    金鑰
    grant_type refresh_token
    refresh_token Generated_refresh_token
    該要求將傳回存取 Token,應用程式可將其用於在 VMware Cloud Director 中執行工作。使用者登出後,Token 仍然有效。存取 Token 到期後,應用程式可以使用 API Token 取得更多存取 Token。

範例

要求:
POST https://host_name/oauth/provider/token
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Content-Length: 71

grant_type=refresh_token&refresh_token=Generated_API_Token
回應:
HTTP/1.1 200 OK
Content-Type: application/json

{
   "access_token":"Generated_Access_Token",
   "token_type":"Bearer",
   "expires_in":2592000,
   "refresh_token":null
}
使用產生的存取 Token 要求:
GET https://host_name/api/org
Accept: application/*+xml;version=36.1
Authorization: Bearer Generated_Access_Token
回應:
HTTP/1.1 200 OK
Content-Type: application/vnd.vmware.vcloud.orglist+xml;version=36.1
X-VMWARE-VCLOUD-REQUEST-EXECUTION-TIME: 41

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OrgList
    xmlns="http://www.vmware.com/vcloud/v1.5"
    xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5"
    xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
    xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
    xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common"
    xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
    xmlns:vmw="http://www.vmware.com/schema/ovf"
    xmlns:ovfenv="http://schemas.dmtf.org/ovf/environment/1"
    xmlns:ns9="http://www.vmware.com/vcloud/versions" href="https://host_name/api/org/" type="application/vnd.vmware.vcloud.orgList+xml">
    <Org href="https://host_name/api/org/a93c9db9-7471-3192-8d09-a8f7eeda85f9" type="application/vnd.vmware.vcloud.org+xml" name="System"/>
</OrgList>

下一步

  • 如果您希望承租人能夠產生 Token,則必須向承租人角色授與管理使用者自己的 API Token 權限。
  • 依預設,承租人只能查看自己建立的 Token。若要允許組織管理員查看和撤銷組織中其他承租人使用者的 Token,則必須為其授與管理所有使用者的 API Token 權限。具有管理所有使用者的 API Token 權限的管理員只能查看其他使用者 Token 的名稱,而無法查看 Token 本身。
  • 若要撤銷您的任何 Token,請導覽到使用者喜好設定頁面,然後按一下 Token 旁邊的垂直省略符號。
  • 若要撤銷其他使用者的 Token,請在頂部導覽列中的管理下,導覽到使用者的存取控制設定。選取特定使用者時,您還可以查看其存取 Token 並將其撤銷。
  • 如果您需要識別使用 API 存取 Token 觸發的事件,在事件記錄中,事件的 additionalProperties 區段中會顯示以下行。
    "currentContext.refreshTokenId": "<UUID_of_the_token_that_performed_the_action>",