Dans les versions antérieures à NSX 6.x, l'utilisateur Admin était un utilisateur de base de données local. À partir de NSX 6.0, il est devenu un utilisateur de l'interface de ligne de commande. Pour garantir la compatibilité descendante, vous pouvez effectuer certaines étapes avant de migrer l'utilisateur Admin.

Pour vCloud Networking and Security 5.x, l'utilisateur Admin de l'interface de ligne de commande était différent de celui de l'interface utilisateur (VSM). Le mot de passe de l'utilisateur Admin d'interface de ligne de commande était géré par le système d'exploitation, tandis que celui de l'utilisateur VSM était géré par la base de données locale d'utilisateurs. Le changement du mot de passe de l'utilisateur Admin d'interface de ligne de commande n'avait aucun impact sur le mot de passe de l'utilisateur Admin de VSM, et inversement.

Dans les versions NSX 6.x, la base de données d'utilisateurs VSM est obsolète. L'utilisateur de l'interface de ligne de commande peut se connecter directement à l'instance de NSX Manager.

Lors d'une mise à niveau, l'utilisateur Admin est présent dans les bases de données de l'interface de ligne de commande et de l'interface utilisateur Web pour garantir la compatibilité descendante. Dans ce cas, le changement de mot de passe de l'utilisateur de l'interface de ligne de commande n'est pas répercuté dans l'interface utilisateur ou dans les appels d'API REST. Dans les versions antérieures à NSX 6.x, l'utilisateur de l'interface de ligne de commande ne pouvait pas se connecter à l'interface utilisateur ou à l'API REST.

Dans les déploiements récents (champs verts) de NSX 6.x, l'utilisateur de l'interface de ligne de commande et celui de l'instance de NSX Manager (interface utilisateur ou REST) sont identiques, de même que les informations d'identification.

Si vous souhaitez que votre déploiement NSX mis à niveau se comporte comme un déploiement récent de NSX 6.x, vous disposez de deux options.

  • Option 1 : modifiez le mot de passe de l'utilisateur de base de données Admin.

    Vous pouvez utiliser l'API REST suivante pour changer le mot de passe. Si vous choisissez cette option, vous devez connaître l'ancien mot de passe.

    PUT URI /api/2.0/services/usermgmt/user/local/<userId>

    <userInfo>
          <userId></userId>
          <password></password>
          <fullname></fullname>
          <email></email>
          <accessControlEntry>
             <role></role>
             <resource>
                 <resourceId></resourceId>
                 ...
             </resource>
          </accessControlEntry>
    </userInfo>

    Exemple avec curl :

    curl -k -H 'authorization: Basic YWRtaW46ZGVmYXVsdA==' -H 'Content-Type: application/xml' -X PUT https://<vsm-ip>/api/2.0/services/usermgmt/user/local/admin -d '<userInfo><userId>admin</userId><password>123</password><fullname>admin</fullname><email>admin@company.com</email><accessControlEntry><role>security_admin</role><resource><resourceId>datacenter-312</resourceId></resource></accessControlEntry></userInfo>'

    Vous pouvez utiliser l'API pour mettre à niveau un compte d'utilisateur local, y compris le mot de passe. Si aucun mot de passe n'est fourni, le mot de passe existant est conservé. La variable userId de l'URI doit être identique à celle spécifiée dans le XML.

  • Option 2 : plutôt que de conserver l'utilisateur Admin d'interface utilisateur Web, vous pouvez le supprimer et ajouter un rôle à l'utilisateur Admin d'interface de commande en ligne. Après ce changement, vous pouvez vous connecter à NSX Manager avec les informations d'identification de l'utilisateur de l'interface de ligne de commande. Le changement du mot de passe de cet utilisateur s'appliquera également à l'utilisateur Admin de NSX Manager.

    Puisque l'utilisateur Admin d'interface utilisateur Web est super_user, vous devez ajouter un autre utilisateur doté des privilèges super_user avant de le supprimer.

    • Ajoutez un nouvel utilisateur tempadmin avec le rôle super_user.

      Exemple avec curl :

      curl -k -H 'authorization: Basic YWRtaW46ZGVmYXVsdA==' -H 'Content-Type: application/xml' -X PUT https://<vsm-ip>/api/2.0/services/usermgmt/user/local/admin -d '<userInfo><userId>tempadmin</userId><password>123</password><fullname>tempadmin</fullname><email>tempadmin@company.com</email><accessControlEntry><role>super_user</role><resource><resourceId>datacenter-312</resourceId></resource></accessControlEntry></userInfo>'
    • Utilisez tempadmin pour supprimer l'utilisateur Admin d'interface utilisateur Web.

      Exemple avec curl :

      curl -k -H 'authorization: Basic YWRtaW46ZGVmYXVsdA==' -H 'Content-Type: application/xml' -X DELETE https://<vsm-ip>/api/2.0/services/usermgmt/user/admin

    • Ajoutez le rôle super_user à l'utilisateur Admin d'interface de ligne de commande.

      Exemple avec curl :

      curl -k -H 'authorization: Basic YWRtaW46ZGVmYXVsdA==' -H 'Content-Type: application/xml' -X POST https://<nsx-ip>/api/2.0/services/usermgmt/role/admin?isCli=true -d '<accessControlEntry><role>super_user</role></accessControlEntry>'