【VMware Cloud Director】ユーザーの再マッピング

ローカル ユーザーに対する廃止プロセスが開始されたことで、ユーザーの再マッピング処理ができるようになっている。

docs.vmware.com

VMware Cloud Director 10.4.1 以降のバージョンを使用している場合は、VMware Cloud Director API を使用することで、特定の ID プロバイダ (IDP) から別の IDP に個々のユーザーを再マッピングできます。

VMware Cloud Director 10.4.2 以降を使用している場合は、VMware Cloud Director のユーザー インターフェイスを使用して、ID プロバイダ間でユーザーを一括再マッピングできます。

APIでの実施方法(テナントのuser01をsaml01へ紐づけ変更)

実行前

  1. ユーザー情報取得

GET /cloudapi/1.0.0/users/{user_id}

※プロバイダーアカウントにてテナントのユーザーを取得するときは、headerにX-VMWARE-VCLOUD-TENANT-CONTEXT: orgIDを追加する必要がある

GET /api/query?type=organization

出力

<OrgRecord name="21-ORG" ~略~ href="https://172.16.21.20/api/org/3aeed6dd-20bf-444c-a875-2483933e89cf" ~略/>

hrefにorgIDが表示される

curl -k --header "X-VMWARE-VCLOUD-TENANT-CONTEXT: 3aeed6dd-20bf-444c-a875-2483933e89cf" --header "Accept: application/*;version=38.0" --header "Authorization: Bearer xxx" --request GET https://172.16.21.20/cloudapi/1.0.0/users

出力
{
   "resultTotal":1,
   "pageCount":1,
   "page":1,
   "pageSize":25,
   "associations":null,
   "values":[
      {
         "username":"user01",
         "fullName":"",
         "description":null,
         "id":"urn:vcloud:user:d632923e-b5b1-4689-93b2-4d3d4f714558",
         "roleEntityRefs":[
            {
               "name":"Organization Administrator",
               "id":"urn:vcloud:role:f90e0039-db49-3c3c-ae3b-e197075afd86"
            }
         ],
         "orgEntityRef":{
            "name":"21-ORG",
            "id":"urn:vcloud:org:3aeed6dd-20bf-444c-a875-2483933e89cf"
         },
         "password":"******",
         "email":"",
         "nameInSource":"user01",
         "enabled":true,
         "isGroupRole":false,
         "providerType":"LOCAL"
      }
   ]
}
  1. ユーザー更新

GETした情報から以下を更新してPUT /cloudapi/1.0.0/users/urn:vcloud:user:d632923e-b5b1-4689-93b2-4d3d4f714558

"providerType":"LOCAL" ⇒ "providerType":"SAML"

"username":"user01" ⇒ "username":"saml01"

curl -k --header "Content-Type: application/json" --header "X-VMWARE-VCLOUD-TENANT-CONTEXT: 3aeed6dd-20bf-444c-a875-2483933e89cf" --header "Accept: application/*;version=38.0" --header "Authorization: Bearer xxx"  --request PUT https://172.16.21.20/cloudapi/1.0.0/users/urn:vcloud:user:d632923e-b5b1-4689-93b2-4d3d4f714558 -d '{
>    "username":"saml01",
>    "fullName":"",
>    "description":null,
>    "id":"urn:vcloud:user:d632923e-b5b1-4689-93b2-4d3d4f714558",
>    "roleEntityRefs":[
>       {
>          "name":"Organization Administrator",
>          "id":"urn:vcloud:role:f90e0039-db49-3c3c-ae3b-e197075afd86"
>       }
>    ],
>    "orgEntityRef":{
>       "name":"21-ORG",
>       "id":"urn:vcloud:org:3aeed6dd-20bf-444c-a875-2483933e89cf"
>    },
>    "password":"******",
>    "email":"",
>    "nameInSource":"user01",
>    "enabled":true,
>    "isGroupRole":false,
>    "providerType":"SAML",
>    "locked":false,
>    "stranded":false,
>    "phone":null
> }'