從 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 進行驗證將使用 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 的資訊。
程序
範例
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>",