NSX를 설치하면 관리자 노드 및 클러스터에 자체 서명된 인증서가 생깁니다. 경우에 따라 API 및 MGMT_CLUSTER(VIP라고도 함) 자체 서명된 인증서를 SAN(주체 대체 이름)이 모든 노드의 FQDN 및 IP와 클러스터의 VIP와 일치하는 공통 CA 서명 인증서로 대체할 수 있습니다. 한 번에 하나의 인증서 교체 작업만 실행할 수 있습니다.

NSX 페더레이션을 사용하는 경우 다음 API를 사용하여 GM MGMT_CLUSTER(VIP라고도 함) 인증서, LM API 인증서 및 LM MGMT_CLUSTER(VIP라고도 함) 인증서를 대체할 수 있습니다.

NSX 페더레이션 4.1부터 GM-LM 통신에 사용되는 자체 서명된 인증서를 교체할 수 있습니다.

GLOBAL_MANAGER 또는 LOCAL_MANAGER 인증서를 교체할 때 사이트 관리자는 이러한 인증서를 다른 모든 페더레이션된 사이트로 전송하므로 통신은 그대로 유지됩니다.

이제 다음 사이의 통신에 대해 암호 그룹 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384를 사용하거나 교체할 수 있습니다.
  • 클러스터 내의 NSX 노드.
  • NSX 페더레이션 내.
  • NSX Manager에서 NSX Edge
  • NSX에서 NSX Manager 에이전트로
  • NSX Manager REST API 통신(외부).

GLOBAL_MANAGER 및 LOCAL_MANAGER 인증서를 교체할 수도 있습니다. NSX 페더레이션을 위해 자동으로 구성된 자체 서명된 인증서에 대한 자세한 내용은 NSX 및 NSX 페더레이션에 대한 인증서 항목을 참조하십시오.

NSX 4.2부터 각 관리자와 VIP의 API 서비스가 동일한 인증서를 공유합니다. 다음 [일괄 교체] API를 실행하여 공유 인증서를 대량으로 교체할 수도 있습니다.
POST https://{{ip}}/api/v1/trust-management/certificates/action/batch-replace
{
    "certificate_replacements": [
        {
         "old_certificate_id": "fe3d2623-df43-4757-8018-b1d8223a1475"
         "new_certificate_id": "66370296-cacf-45a7-9912-6e2718df87bb"
        }
    ]
}

필요한 경우 다음 절차에 언급된 [인증서 적용] API를 실행하여 각 API 서비스 및 VIP 서비스를 고유한 인증서로 교체할 수도 있습니다.

NSX 4.2부터 가입 관리자의 API 인증서가 가입 중인 클러스터의 MGMT_CLUSTER(VIP라고도 하는) 인증서로 대체되므로 관리자 클러스터가 구성된 후에는 [일괄 교체] 및 [인증서 적용] API를 모두 수행해야 합니다.

사전 요구 사항

  • NSX Manager에서 인증서를 사용할 수 있는지 확인합니다. 대기 글로벌 관리자에서 UI 가져오기 작업이 비활성화됩니다. 대기 글로벌 관리자에 대한 가져오기 REST API 명령에 대한 자세한 내용은 자체 서명된 인증서 또는 CA 서명된 인증서 가져오기 항목을 참조하십시오.
  • 서버 인증서에는 기본 제약 조건 확장 basicConstraints = CA:FALSE가 포함되어야 합니다.
  • 다음 API 호출을 수행하여 인증서가 유효한지 확인합니다.

    GET https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=validate

  • 필요한 경우 노드 ID 문자열을 사용할 수 있습니다. UI 또는 CLI를 사용하여 이 정보를 찾는 데 도움을 얻으려면 인증서 API 호출에 대한 노드 ID 찾기 항목을 참조하십시오.
참고: 자동화된 스크립트를 사용하여 여러 인증서를 동시에 교체하지 마십시오. 오류가 발생할 수 있습니다.

프로시저

  1. 관리자 권한으로 NSX Manager에 로그인합니다.
  2. 시스템 > 인증서를 선택합니다.
  3. ID 열에서 사용하려는 인증서의 ID를 선택하고 팝업 창에서 인증서 ID를 복사합니다.
    이 인증서를 가져올 때 옵션 서비스 인증서아니요로 설정되었는지 확인합니다.

    참고: 인증서 체인은 '인증서 - 중간 - 루트’의 업계 표준 순서여야 합니다.

  4. 관리자 노드의 API 인증서를 바꾸려면 다음 API 호출을 사용하십시오. 통합 장치 노드 ID를 찾으려면 인증서 API 호출에 대한 노드 ID 찾기 항목을 참조하십시오.
    POST /api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=API&node_id=<node-id>
    예:
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=API&node_id=e61c7537-3090-4149-b2b6-19915c20504f
  5. 관리자 클러스터 VIP의 인증서를 바꾸려면 API 호출을 사용하십시오.
    POST /api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=MGMT_CLUSTER
    예:
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/d60c6a07-6e59-4873-8edb-339bf75711?action=apply_certificate&service_type=MGMT_CLUSTER

    글로벌 관리자의 위치 관리자 내에서 각 위치의 로컬 관리자에 대한 지문 값이 업데이트되었는지 확인합니다. 그렇지 않으면 GM과 LM 간의 통신이 중단됩니다. 지문이 업데이트되지 않으면 NSX Edge 클러스터 선택 또는 글로벌 관리자 UI에서 Tier-0 BGP 요약 요청과 같은 작업이 작동하지 않습니다. API에 대한 자세한 내용은 "NSX API 가이드" 항목을 참조하십시오. 이 단계는 VIP를 구성하지 않은 경우에는 필요하지 않습니다.

  6. (선택 사항) NSX 페더레이션에 대한 LOCAL_MANAGER 및 GLOBAL_MANAGER 인증서를 교체하려면 다음 API 호출을 사용하십시오. 전체 NSX Manager 클러스터(로컬 관리자글로벌 관리자)에는 LOCAL_MANAGER 인증서와 GLOBAL_MANAGER 인증서가 각각 하나씩 필요합니다.
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=<service-type>
    예:
    POST https://<local-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=LOCAL_MANAGER
    또는
    POST https://<global-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=GLOBAL_MANAGER
  7. APH(APH_AR라고도 함) 인증서를 대체하려면 다음 API 호출을 사용합니다. 통합 장치 노드 ID를 찾으려면 인증서 API 호출에 대한 노드 ID 찾기 항목을 참조하십시오.
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=APH&node_id=<node-id>
    예:
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=APH&node_id=93350f42-16b4-cb4e-99e0-fce2d17635a3
  8. NSX 4.1부터 TN(전송 노드) 또는 Edge 호스트 인증서(TN 인증서라고 함)를 교체하려면 다음 API 호출을 사용합니다. NSX Manager 외부에서 개인 키를 생성해야 합니다. NSX Manager에서 CSR을 생성하는 경우 API 호출에 필요한 개인 키를 검색할 수 없습니다. CA 서명 인증서인 경우에는 인증서 - 중간 - 루트 순서로 전체 체인을 포함해야 합니다. 전체 인증서를 한 줄로 제공해야 합니다. 또한 줄 끝 문자를 \n으로 바꿉니다. 이 값은 pem_encoded 및 개인 키 값에 필요합니다. 줄 바꿈 문자를 \n으로 바꾸려면 UNIX 기반 시스템에서 awk '{gsub(/\\n/,"\n")}1' certificate.pem 명령을 사용할 수 있습니다.
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/action/replace-host-certificate/<transport-node-id>
    {
          "display_name": "cert_name",
          "pem_encoded": "---BEGIN CERTIFICATE---\n<certificate>\n---END CERTIFICATE-----\n",   
          "private_key": "---BEGIN RSA PRIVATE KEY---\n<private rsa key>\n---END RSA PRIVATE KEY---\n"
        }
    예:
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/aaction/replace-host-certificate/8e84d532-2cd8-46d8-90c7-04862980f69c
    {
        "display_name": "cert_sample",
        "pem_encoded": "-----BEGIN CERTIFICATE-----\nMIIC1DCCAbygAwIBAgIUMd1fGNGnvYKtilon2UMBP4rqRAowDQYJKoZIhvcNAQEL\nBQAwDzENMAsGA1UEAwwETVlDQTAeFw0yMzA5MjYxODMxMzVaFw0zMzA5MjMxODMx\nMzVaMBYxFDASBgNVBAMMC2NlcnRfc2FtcGxlMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAzMDsp1EGFPjus/xnHmacPJYVP0N8iQMb3W8TFFQC5jxdjNzi\ncMIb1YgpI+s3LJoyYCdZKeMcCWDwtgQXMTy9FYJCHKyt86CF0br9U9q9iC+NX93X\n+/wrWtXY89ESt0NOgj22sKI49EQT9bd0dNWupxapCb98Dyztk0cetIHa7ia1q7un\nXMZ7dofwuWUEUlT8qpyXF84N6bhWQSrXRyeQ+oZrsq3sAyfnKzbfcs0T3sztWn9M\nR7h8iPkjpJjVV5z1ghAgIDKFXG8RVU8fLgX5srtYV2Ij1II0qYwe/yGBfj7xsemB\n2lGGPotlbwUE5oPFISJvG9qLOoNKVLvBrxuNnQIDAQABoyEwHzAdBgNVHSUEFjAU\nBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAqPfZWNzG/b\nBhtN2gDjr0LplfC0yi8K6Ep3exECE5UOUJvHubko4Z6eCZFT8XSrAa6eZQEVe3O3\nwFvpdedCiEpI/IaFhpRUQDubJMPao7t4Uohz3k3ONMGbIci8dVUcQRQlmxFmx3wf\n0/33fy3b1zIOXqooQF3qUlpjms/RQOdD80dSlMze8WI7yz9LZt9Zc+sr8ePRi4Xy\ntudO6EYTiWm3CC5BxDDjKpkFCACFRT4zr5HsomHsFeo4hGIHl2zN0+JoGrdrWcta\nxdl5aQYy79vIMgvz696EKUGePEpJjpyP/wlwzmIY3RvXRKThuVXvg20gi365x8+J\niKbzpCGe0P0=\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIC/zCCAeegAwIBAgIUUlHXcczsdMpei1ThgeQYpvgzaxMwDQYJKoZIhvcNAQEL\nBQAwDzENMAsGA1UEAwwETVlDQTAeFw0yMzA5MjYxODI2NDZaFw0zMzA5MjMxODI2\nNDZaMA8xDTALBgNVBAMMBE1ZQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDbr78t32TUl1qTcDGvVQhiUkktntPO/5/FRDSIjy9qyNGDrcICDAYzOe79\nceXpOzfUStacEeTXse89q1MJz4ykaU2g6EUN2E4sfoP4KznBlObLHnnlxD482DL4\nbuMA8qCe0soUsGE6uoeFHnSW3M+NRI3GtJe1MM134JQ/TSNZTv+d93nB4bS2nSK7\nA1fFDRSuj8Ey7a1im8JgykL9ahJ6yxrpk8juEJwII04nHfAG102/8/YKEZyPWcPX\nYvLZEt/lBVxRPplWfbNIo3zfA09fzb4RMaOSsyBbqTBseL/4fxlnkeu1Rii3ZwcQ\nL4Wr6mKR1YCievsuXdLK5pWUH+BtAgMBAAGjUzBRMB0GA1UdDgQWBBTnYafa1EXn\nNPIqTkIO82kdamjDgTAfBgNVHSMEGDAWgBTnYafa1EXnNPIqTkIO82kdamjDgTAP\nBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQC2Ef+CPICTdWEKW3e6\nwaObe4Y85CS2wfSBRFvt0yCAUF8yysr3kQx85wdhfDfvidQdrgQIkDKe83J61r5l\n238wFo9O10RpFWl1csY4hZ19geeTW3L8tABp+f1or1vsAogfVtcaZwmqz/LEaZ0r\n4JdONE9gq40RgX5R9GPD04k3hKr6HoNHHnBssmNHgo8pLKRv04mx0yQyn45lKvet\ngcInI9j8YLsXGHdeiZ/zXKUgKQdicBw79K/mQCpgkpaEi3K9mFUFCUU9CiWxiy62\nSN2/SEuOWlb7Kq8VwJUfUn3lKoY9sofr9zsSsh5lhQOKb1uguo8xUF8v6iLuDAjr\n9bcn\n-----END CERTIFICATE-----\n",
        "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAzMDsp1EGFPjus/xnHmacPJYVP0N8iQMb3W8TFFQC5jxdjNzi\ncMIb1YgpI+s3LJoyYCdZKeMcCWDwtgQXMTy9FYJCHKyt86CF0br9U9q9iC+NX93X\n+/wrWtXY89ESt0NOgj22sKI49EQT9bd0dNWupxapCb98Dyztk0cetIHa7ia1q7un\nXMZ7dofwuWUEUlT8qpyXF84N6bhWQSrXRyeQ+oZrsq3sAyfnKzbfcs0T3sztWn9M\nR7h8iPkjpJjVV5z1ghAgIDKFXG8RVU8fLgX5srtYV2Ij1II0qYwe/yGBfj7xsemB\n2lGGPotlbwUE5oPFISJvG9qLOoNKVLvBrxuNnQIDAQABAoIBAQCE8JH2xIWVYlbh\np3RwaaDxOWTMMY4PC2SxLegOX8mOIQ2AYv3mxjD6QDCt8I9fNzKT+ZhLuPhAIp/H\nHfrM7im6aFtycK90qfmYxbarFi/O10kMQGZ2ZjDkBkqZa1qigGHd8CHIp1shRX5M\nIHPNU9vVAsJ34Mq0s7AA2sFV46X4zyEqHKLi1qVcsj68XJCrKJPTzOXiZWOHL8e0\nx4B8mGKbnWNmrq6styyYi9rzUnucoKL459YkaF/MEBpou3wvhprkR5Ufr4eNo0YV\nr0KfcEjxZqVT2o6r59+gSZQiCHael2MgslvMUTJOPgZ8tO78RQIHpH8GnNo+QkzB\nvXDfH2zhAoGBAPbeM7OveieHL37Iu/xY2wtDagSBD5K0VJhP8OOF5G1t1nHNcyWa\nYa49hTmGJ7bQsw5oGccvvsXCgGzaNbbAQtKlcz9kiXKOpTWV3t+RXtp0IXp8MIG6\nvWYd7yey7FHumHS/wC0h/REwx10153UpYaFJe2QJHw4yG9BJgN7o4duVAoGBANRT\n6BMPqV/6P9kJtduU8sZOVv3BbyUIkoBZlw2O7LB1IjIZcEm4By9DEAqCkFMp4gST\nW6o2eyXKp0oZ1UwqKdESG2LrGePNrmbQp7LvMngyk7CDqczA5gmnlndCy27k/d1Y\nQuWz+WDrqc8EAD7wRBmrwR0p3zCntPFRJPVu+yfpAoGACkDcYOAu8KlavadUt3xx\nTJx2MM2zeeJniRP461pKTIk9WOixmaQ53mTLvcHmsF8msLh+KZnAELKtZtgBVx/R\nJrKcgMuKMenezsT0xtBg4i3knhO+aAT7jNw9bKavzg9c4ax9LOK2ghpGjYaJoIIh\nffNxXoxKb+qA4TvMUHXXu6kCgYAhGeefORzVqqTTiDECx4jFo6bqLoLOSjTUr6Ld\n6T87DzfCiba4t2jfVFwm1036uRfUUMjEk3PFY3+LDNX05snYHzOHy1Eg84rR2oua\nWLIMjQ37QbtyAUybirXpZ89hPW/aVw0u1Ez3cCXr8Rq8tSZYvi8ABewWoL6TtGvH\nm4KqKQKBgCfZrv6wpCrS5Ep/AKQGdPOXCOM8O2+b4e/NJpSIH9Zk5Elg6WAunlCp\ntHyx1pZFq5RboxFw7DsM9eUTakHvGtTJ+EFHbyc5tKqWKnVbGmDYR6pNRULPEXU9\nhBQ1pzzmwGnO6AyxTxgoY5CosK2Ga1KjsWUXqay2QwIln+E+xxsm\n-----END RSA PRIVATE KEY-----\n"
    }
    node_id로 UA(Unified Appliance) ID가 아닌 전송 노드의 ID를 사용합니다. 노드 ID를 찾으려면 인증서 API 호출에 대한 노드 ID 찾기 항목을 참조하십시오.

    시스템에서 구성한 기본 자체 서명 인증서 또는 VMware Cloud Foundation 인증서 요구 사항에 대한 자세한 내용은 인증서 유형 항목을 참조하십시오.