A partire da VMware Cloud Director 10.4.1, è possibile rimappare singoli utenti da un provider di identità (IDP) a un altro utilizzando l'API di VMware Cloud Director.

Nota: VMware Cloud Director avvia il processo di deprecazione per gli utenti locali. VMware Cloud Director continua a supportare completamente l'utilizzo degli utenti locali quando sono in fase di deprecazione. Vedere Note di rilascio di VMware Cloud Director 10.4.1.

Per informazioni sulla rimappatura in blocco degli utenti tra provider di identità tramite l'interfaccia utente di VMware Cloud Director, vedere Rimappatura degli utenti tra provider di identità tramite il VMware Cloud Director Tenant Portal.

Prerequisiti

  • Verificare che il proprio ruolo includa il diritto Gruppo/Utente: Gestisci.
  • Verificare che l'organizzazione sia configurata con i tipi di provider di identità che si desidera rimappare tra loro.

Procedura

  1. Eseguire una richiesta GET in /cloudapi/1.0.0/users.

    VMware Cloud Director restituisce un elenco degli utenti all'interno dell'organizzazione.

  2. Individuare l'utente che si desidera rimappare e recuperare le sue informazioni.
    GET /cloudapi/1.0.0/users/{user_id}
  3. Creare una richiesta PUT per /cloudapi/1.0.0/users/{user_id}.

    Per rimappare un utente, è necessario modificare il campo providerType in modo che identifichi il nuovo provider di identità. VMware Cloud Director supporta i valori SAML, LDAP, OAUTH e LOCAL. Per fare in modo che corrisponda al nome utente nel provider di identità in cui l'utente viene rimappato, è inoltre possibile modificare il nome utente. Affinché VMware Cloud Director continui ad associare le risorse dell'utente all'utente quando accede tramite il nuovo flusso di accesso, l'ID dell'utente deve rimanere invariato.

    Importante:

    Se si sta effettuando la rimappatura al tipo di provider LDAP, VMware Cloud Director convalida il nome utente con il server LDAP prima di eseguire il commit dell'operazione. Se VMware Cloud Director non completa questo passaggio per un motivo qualsiasi, ad esempio la perdita della connettività al server LDAP, la rimappatura non riesce.

    Se si sta rimappando un utente come utente locale specificando il tipo di provider LOCAL, in modo simile al processo di creazione di un utente, è necessario specificare una password.

  4. Verificare che VMware Cloud Director restituisca una risposta OK specificando il tipo di provider appena rimappato nel corpo della risposta.

Esempio:

Per trovare l'utente che si desidera rimappare, effettuare la seguente richiesta.

Richiesta:
GET /cloudapi/1.0.0/users?pageSize=10 HTTP/1.1
Host: 127.0.0.1:8443
Accept: application/json;version=37.1
Risposta di esempio:
{
  "resultTotal": 2,
  "pageCount": 1,
  "page": 1,
  "pageSize": 10,
  "associations": null,
  "values": [
    ...,
    {
      "username": "testuser",
      "fullName": "",
      "description": null,
      "id": "urn:vcloud:user:2b038199-0063-4c13-9bba-a3b58d775785",
      "roleEntityRefs": [
        {
          "name": "vApp Author",
          "id": "urn:vcloud:role:85f69506-52a5-3e20-869a-ea18d667e19e"
        }
      ],
      "orgEntityRef": {
        "name": "testorg",
        "id": "urn:vcloud:org:806f0d87-c8b9-47f5-bfbe-3dc73a4c0d14"
      },
      "password": "******",
      "email": "",
      "nameInSource": "testuser",
      "enabled": true,
      "isGroupRole": false,
      "providerType": "LOCAL"
    }
  ]
}

Per rimappare testuser da LOCAL a LDAP, creare una richiesta PUT.

Richiesta:
PUT /cloudapi/1.0.0/users/urn:vcloud:user:2b038199-0063-4c13-9bba-a3b58d775785 HTTP/1.1
Host: 127.0.0.1:8443
Accept: application/json;version=37.1
Content-Type: application/json;version=37.1

Body: {
  "username": "testuser",
  "fullName": "",
  "description": null,
  "id": "urn:vcloud:user:2b038199-0063-4c13-9bba-a3b58d775785",
  "roleEntityRefs": [
    {
      "name": "vApp Author",
      "id": "urn:vcloud:role:85f69506-52a5-3e20-869a-ea18d667e19e"
    }
  ],
  "orgEntityRef": {
    "name": "testorg",
    "id": "urn:vcloud:org:806f0d87-c8b9-47f5-bfbe-3dc73a4c0d14"
  },
  "password": "******",
  "email": "",
  "nameInSource": "testuser",
  "enabled": true,
  "isGroupRole": false,
  "providerType": "LDAP"
}
Risposta di esempio:
{
  "username": "testuser",
  "fullName": "",
  "description": null,
  "id": "urn:vcloud:user:2b038199-0063-4c13-9bba-a3b58d775785",
  "roleEntityRefs": [
    {
      "name": "vApp Author",
      "id": "urn:vcloud:role:85f69506-52a5-3e20-869a-ea18d667e19e"
    }
  ],
  "orgEntityRef": {
    "name": "testorg",
    "id": "urn:vcloud:org:806f0d87-c8b9-47f5-bfbe-3dc73a4c0d14"
  },
  "password": null,
  "email": "",
  "nameInSource": "\\63\\36\\62\\35\\30\\66\\35\\63\\2D\\61\\62\\30\\35\\2D\\34\\37\\64\\33\\2D\\62\\61\\64\\34\\2D\\39\\32\\64\\35\\32\\37\\30\\36\\62\\39\\39\\33",
  "enabled": true,
  "isGroupRole": false,
  "providerType": "LDAP"
}