从 VMware Cloud Director 10.3.1 开始,可以生成并颁发 API 访问令牌。您可以通过 API 访问令牌使用相应的安全最佳做法(包括使用双因素授权)进行身份验证,并可授予对 VMware Cloud Director 构建自动化的访问权限。
访问令牌是客户端应用程序用于代表用户发出 API 请求的项目。应用程序需要访问令牌进行身份验证。访问令牌过期后,应用程序可以使用 API 令牌来获取访问令牌。API 令牌不会过期。
使用访问令牌时,应用程序无法执行某些任务。
- 更改用户密码
- 执行用户管理任务
- 创建更多令牌
- 查看或撤销其他令牌
使用 API 访问令牌访问 VMware Cloud Director 时,应用程序只有查看以下资源的权限。
- 用户
- 组
- 角色
- 全局角色
- 权限包
使用 API 访问令牌访问
VMware Cloud Director 的应用程序没有以下权限。
- 令牌:管理
- 令牌:管理全部
与生成用户 API 令牌类似,可以使用 VMware Cloud Director API 创建服务帐户。用于创建服务帐户的 API 请求使用与创建用户 API 令牌相同的 API 端点,但存在 software_id
字段表示用于创建服务帐户。
前提条件
- 确认您具有管理用户自己的 API 令牌权限。
- 使用 API 令牌进行身份验证使用 OAuth 2.0 RFC 6749 第 6 节中指定的“刷新访问令牌”标准,以允许作为 OAuth 应用程序访问 VMware Cloud Director。返回的访问令牌与 VMware Cloud Director 访问令牌相同,客户端应用程序可以使用该令牌对 VMware Cloud Director 进行后续 API 调用。要发出符合 OAuth 2.0 RFC 的请求,请熟悉征求意见文档 (RFC) 6749 第 6 节中有关刷新访问令牌的信息。
过程
示例
POST https://host_name/oauth/tenant/tenant_name/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 }使用生成的访问令牌请求:
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/UUID_of_the_organization" type="application/vnd.vmware.vcloud.org+xml" name="Organization_name"/> </OrgList>
下一步做什么
- 要撤销您的任何令牌,请导航到用户首选项页面,然后单击该令牌旁边的垂直省略号。
- 作为组织管理员,如果您要查看组织中所有租户用户的令牌,并在必要时撤销这些令牌,可以向服务提供商请求授予管理所有用户的 API 令牌权限。有关撤销其他用户令牌的详细信息,请参见管理用户的访问令牌。