NSX 6.x より前のシリーズでは、ユーザー admin はローカル データベース ユーザーでした。NSX 6.0 から、ユーザー admin は CLI ユーザーになりました。後方互換性を保つため、管理者ユーザーを移行するための手順があります。

vCloud Networking and Security 5.x シリーズでは、CLI の管理者ユーザーと ユーザー インターフェイス (VSM) の管理者ユーザーは異なっていました。CLI のユーザー admin のパスワードは OS で管理され、VSM ユーザーのパスワードは、ユーザーのローカル データベースで管理されていました。CLI 管理者ユーザーのパスワードを変更しても、この変更は VSM 管理者ユーザーのパスワードには影響しませんでした。同様に、VSM 管理者ユーザーのパスワードを変更しても、この変更は CLI 管理者パスワードには影響しませんでした。

NSX 6.x シリーズでは、VSM ユーザー データベースの使用は現在推奨されていません。CLI ユーザーは NSX Manager に直接ログインできます。

アップグレード シナリオでは、後方互換のため、管理者ユーザーが CLI データベースと Web ユーザー インターフェース データベースの両方に存在します。この場合、CLI ユーザーのパスワードが変更されても、変更はユーザー インターフェイスまたは REST API の呼び出しには反映されません。NSX 6.x より前のシリーズでは、CLI ユーザーはユーザー インターフェイスまたは REST API にはログインできませんでした。

NSX 6.x シリーズの新規(グリーン フィールド)デプロイの場合、CLI ユーザーと NSX Manager(ユーザー インターフェイスまたは REST)は同じであり、認証情報も同じです。

アップグレードした NSX デプロイを、NSX 6.x の新規デプロイと同じように動作させるには、2 つのオプションがあります。

  • オプション 1 --- データベースの管理者ユーザーのパスワードを変更します。

    次の REST API を使用してパスワードを変更できます。このオプションでは、古いパスワードを知っている必要があります。

    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>

    たとえば、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>'

    この API は、パスワードを含むローカル ユーザー アカウントの更新に使用できます。パスワードが提供されない場合は、既存のパスワードが保持されます。URI の userId 変数は、XML に指定されたものと同じにする必要があります。

  • オプション 2 --- Web ユーザー インターフェイス管理者ユーザーを維持せずに削除し、CLI 管理者ユーザーにロールを追加できます。この変更を行うと、CLI ユーザーの認証情報を使用して NSX Manager にログインすることができ、CLI 管理者ユーザーのパスワード変更は NSX Manager の管理者ユーザーに反映されます。

    Web ユーザー インターフェイスの管理者ユーザーは super_user であるため、Web ユーザー インターフェイス管理者ユーザーを削除する前に、super_user 権限を持つ別のユーザーを追加する必要があります。

    • super_user ロールを持つ新しいユーザー tempadmin を追加します。

      たとえば、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>'
    • tempadmin を使用して Web ユーザー インターフェイスのユーザー admin を削除します。

      たとえば、curl を使用して、次のように指定します。

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

    • CLI ユーザー admin に super_user ロールを追加します。

      たとえば、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>'