NSX 6.x 시리즈 이전에는 관리자가 로컬 데이터베이스 사용자였습니다. NSX 6.0부터는 관리자가 CLI 사용자입니다. 이전 버전과의 호환성을 위해 관리자를 마이그레이션할 수 있는 단계가 마련되어 있습니다.

이 태스크 정보

vCloud Networking and Security 5.x 시리즈에서는 CLI의 관리자와 UI(VSM)의 관리자가 서로 달랐습니다. CLI 관리자의 암호는 OS에서 관리했고 VSM 사용자의 암호는 사용자의 로컬 데이터베이스에서 관리했습니다. 따라서 CLI 관리자의 암호를 변경해도 VSM 관리자의 암호에는 영향을 주지 않았습니다. 마찬가지로 VSM 관리자의 암호를 변경해도 CLI 관리자 암호에는 영향을 주지 않았습니다.

NSX 6.x 시리즈에서는 VSM 사용자 데이터베이스가 더 이상 지원되지 않습니다. CLI 사용자가 NSX Manager에 직접 로그인할 수 있습니다.

업그레이드 시나리오의 경우 이전 버전과의 호환성을 위해 CLI와 웹 UI 데이터베이스 모두에 관리자가 제공됩니다. 이 경우 CLI 사용자의 암호가 변경되어도 UI나 REST API 호출에 반영되지 않습니다. NSX 6.x 시리즈 이전에는 CLI 사용자가 UI나 REST API에 로그인할 수 없었습니다.

NSX 6.x 시리즈를 새로 배포하는 경우(신규 배포) CLI 사용자와 NSX Manager(UI 또는 REST)가 동일하고 자격 증명도 같습니다.

업그레이드한 NSX 배포가 새로 배포한 NSX 6.x처럼 작동하도록 설정하려는 경우 두 가지 옵션을 사용할 수 있습니다.

  • 옵션 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 - 웹 UI 관리자를 유지 보수하는 대신 웹 UI 관리자를 제거하고 CLI 관리자에게 역할을 추가할 수 있습니다. 이렇게 변경하고 나면 CLI 사용자 자격 증명을 사용하여 NSX Manager에 로그인할 수 있으며 CLI 관리자의 암호 변경 내용이 NSX Manager 관리자에게 반영됩니다.

    웹 UI 관리자는 super_user이므로 웹 UI 관리자를 삭제하려면 먼저 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을 사용하여 웹 UI 관리자를 삭제합니다.

      예를 들어 curl을 사용할 경우 다음과 같습니다.

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

    • super_user 역할을 CLI 관리자에게 추가합니다.

      예를 들어 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>'