VMware Cloud Director 10.3.1 以降では、API アクセス トークンを生成して発行することができます。2 要素認証の使用など、セキュリティに関する独自のベスト プラクティスを使用して認証しているときに、API アクセス トークンを使用すると、VMware Cloud Director に対して自動化を構築する際のアクセス権を付与することができます。
アクセス トークンは、クライアント アプリケーションがユーザーに代わって API 要求を行う際に使用するアーティファクトです。アプリケーションで認証を行うには、アクセス トークンが必要になります。アクセス トークンの有効期限が切れた場合、アプリケーションは API トークンを使用することでアクセス トークンを取得できます。API トークンに有効期限はありません。
アクセス トークンを使用している場合、アプリケーションは次に示す特定のタスクを実行できません。
- ユーザー パスワードの変更
- ユーザー管理タスクの実行
- 他のトークンの作成
- 他のトークンの表示または取り消し
API アクセス トークンを使用して VMware Cloud Director にアクセスするアプリケーションには、次のリソースの表示権限のみがあります。
- ユーザー
- グループ
- ロール
- グローバル ロール
- 権限バンドル
- トークン:管理
- トークン:すべての管理
ユーザー API トークンの生成と同様に、VMware Cloud Director API を使用してサービス アカウントを作成できます。サービス アカウントを作成するための API 要求では、ユーザー API トークンの作成時と同じ API エンドポイントが使用されますが、software_id
フィールドがある場合は、サービス アカウントを作成する目的が示されます。
前提条件
API トークンを使用した認証では、OAuth 2.0 RFC 6749 セクション 6 で指定されている「アクセス トークンの更新」標準を使用して、VMware Cloud Director への OAuth アプリケーションとしてのアクセスを許可することができます。返されるアクセス トークンは、VMware Cloud Director のアクセス トークンと同じです。クライアント アプリケーションはこのトークンを使用して、VMware Cloud Director に対する以降の API 呼び出しを行うことができます。OAuth 2.0 の RFC 準拠の要求を行うには、アクセス トークンの更新に関するRequest for Comments (RFC) 6749 セクション 6の情報について詳細に確認してください。
手順
例
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 }生成されたアクセス トークンを使用する要求:
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>
次のタスク
- テナントがトークンを生成できるようにする場合は、テナント ロールにユーザー自身の API トークンの管理権限を付与する必要があります。
- デフォルトでは、テナントには自身が作成したトークンのみが表示されます。組織管理者に組織内の他のテナント ユーザーのトークンの表示および取り消しを許可するには、すべてのユーザーの API トークンの管理権限を付与する必要があります。すべてのユーザーの API トークンの管理権限を持つ管理者には、他のユーザーのトークンの名前のみが表示され、トークン自体は表示されません。
- トークンを取り消すには、[ユーザー環境設定] 画面に移動して、トークンの横にある縦方向の省略記号をクリックします。
- 他のユーザーのトークンを取り消すには、上部ナビゲーション バーの [管理] の下にあるユーザーのアクセス コントロール設定に移動します。特定のユーザーを選択すると、ユーザーのアクセス トークンも表示され、それらを取り消すこともできます。
- API アクセス トークンを使用してトリガされたイベントを特定する必要がある場合は、イベント ログのイベントの
additionalProperties
セクションに次の行が表示されます。"currentContext.refreshTokenId": "<UUID_of_the_token_that_performed_the_action>",