Vor der NSX 6.x-Serie war der Benutzeradministrator ein lokaler Datenbankbenutzer. Ab NSX 6.0 ist der Benutzeradministrator ein CLI-Benutzer. Zum Zwecke der Abwärtskompatibilität gibt es Schritte zum Migrieren des Admin-Benutzers.

Warum und wann dieser Vorgang ausgeführt wird

In der vCloud Networking and Security 5.x-Serie waren der Admin-Benutzer der Befehlszeilenschnittstelle (CLI) und der Admin-Benutzer der Benutzerschnittstelle (VSM) zwei unterschiedliche Benutzer. Das Admin-Kennwort des CLI-Benutzers wurde vom Betriebssystem verwaltet und das Kennwort des VSM-Benutzers wurde von der lokalen Datenbank der Benutzer verwaltet. Wenn Sie das Kennwort des CLI-Admin-Benutzers änderten, wirkte sich dies nicht auf das Kennwort des VSM-Admin-Benutzers aus. Wenn Sie wiederum das Kennwort des VSM-Admin-Benutzers änderten, wirkte sich dies nicht auf das Kennwort des CLI-Admin-Benutzers aus.

Für die NSX 6.x-Serie ist die VSM-Benutzerdatenbank veraltet. Der CLI-Benutzer kann sich direkt beim NSX Manager anmelden.

In einem Upgrade-Szenario ist der Admin-Benutzer zum Zwecke der Abwärtskompatibilität sowohl in der CLI- als auch in der Web UI-Datenbank vorhanden. Wenn in diesem Fall das Kennwort des CLI-Benutzers geändert wird, wirkt sich diese Änderung nicht in der Benutzeroberfläche oder in den REST API-Aufrufen aus. Vor der NSX 6.x-Serie konnte sich der CLI-Benutzer nicht bei der Benutzeroberfläche oder der REST API anmelden.

Bei neuen Bereitstellungen der NSX 6.x-Serie (grünes Feld) sind der CLI-Benutzer und NSX Manager (UI oder REST) sowie die Anmeldedaten identisch.

Wenn Sie möchten, dass sich Ihre aktualisierte NSX-Bereitstellung wie eine neue Bereitstellung von NSX 6.x verhält, haben Sie zwei Optionen.

  • Option 1 – Ändern Sie das Kennwort des Admin-Datenbankbenutzers.

    Sie können die folgende REST API verwenden, um das Kennwort zu ändern. Bei Nutzung dieser Option müssen Sie das alte Kennwort kennen.

    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>

    Beispielsweise unter Verwendung von 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>'

    Mit der API können Sie ein lokales Benutzerkonto einschließlich des Kennworts aktualisieren. Wenn kein Kennwort angegeben wird, wird das vorhandene Kennwort beibehalten. Die userId-Variable in der URI muss der in XML angegebenen Variablen entsprechen.

  • Option 2 – Anstatt den Web UI-Admin-Benutzer beizubehalten, können Sie ihn entfernen und dem CLI-Admin-Benutzer eine Rolle zuweisen. Nach dieser Änderung können Sie sich beim NSX Manager mit den Anmeldedaten des CLI-Benutzers anmelden. Eine Änderung des Kennworts des CLI-Admin-Benutzers spiegelt sich im NSX Manager-Admin-Benutzer wider.

    Da der Web UI-Admin-Benutzer der „super_user“ ist, müssen Sie einen anderen Benutzer mit super_user-Rechten hinzufügen, bevor Sie den Web UI-Admin-Benutzer löschen können.

    • Fügen Sie einen neuen Benutzer-Tempadmin mit der Rolle „super_user“ hinzu.

      Beispielsweise unter Verwendung von 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>'
    • Lassen Sie den Tempadmin den Web UI-Benutzeradministrator löschen.

      Beispielsweise unter Verwendung von curl:

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

    • Fügen Sie dem CLI-Benutzer-Admin die Rolle „super_user“ hinzu.

      Beispielsweise unter Verwendung von 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>'