安裝 NSX 之後,管理程式節點和叢集會具有自我簽署的憑證。您可以選擇性地將 API 和 MGMT_CLUSTER (也稱為 VIP) 自我簽署憑證更換為包含一個 SAN (主體替代名稱) 的通用 CA 簽署憑證,該 SAN 應符合所有節點的 FQDN 和 IP 以及叢集的 VIP。一次只能執行一項憑證更換作業。

如果使用的是 NSX 聯盟,可透過以下 API 更換 GM 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 ManagerNSX Edge
  • NSX ManagerNSX 代理程式。
  • 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 服務更換為它們自己唯一的憑證。

無論是透過批次更換還是套用憑證 API 來更換,都應在管理程式叢集形成後執行,因為從 NSX 4.2 開始,加入管理程式的 API 憑證將更換為要加入叢集的 MGMT_CLUSTER (也稱為 VIP) 憑證。

必要條件

  • 確認 NSX Manager 中可以使用憑證。請注意,在待命全域管理程式上,會停用 UI 匯入作業。如需適用於待命全域管理員的匯入 REST API 命令的詳細資料,請參閱匯入自我簽署的憑證或 CA 簽署的憑證
  • 伺服器憑證必須包含基本限制延伸 basicConstraints = CA:FALSE
  • 透過進行下列 API 呼叫,確認憑證有效:

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

  • 如果需要,請提供您的節點識別碼字串。如需有關使用 UI 或 CLI 搜尋此資訊的説明,請參閱尋找憑證 API 呼叫的節點識別碼
備註: 請勿使用自動指令碼來同時更換多份憑證。可能會發生錯誤。

程序

  1. 使用 admin 權限來登入 NSX Manager
  2. 選取系統 > 憑證
  3. 在識別碼資料行中,選取所要使用憑證的識別碼,然後複製快顯視窗中的憑證識別碼。
    請確保匯入此憑證時,選項 服務憑證 已設定為

    附註:憑證鏈結必須採用「憑證 - 中繼 - 根」的業界標準順序。

  4. 若要更換管理程式節點的 API 憑證,請使用以下 API 呼叫。若要尋找您的 Unified Appliance 節點識別碼,請參閱尋找憑證 API 呼叫的節點識別碼
    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 和 ROM 之間的通訊將會中斷。如果未更新指紋,則從全域管理員 UI 中選取 NSX Edge 叢集或要求第 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 呼叫。若要尋找您的 Unified Appliance 節點識別碼,請參閱尋找憑證 API 呼叫的節點識別碼
    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,請使用傳輸節點的識別碼,而不是 Unified Appliance (UA) 識別碼。若要尋找您的節點識別碼,請參閱 尋找憑證 API 呼叫的節點識別碼

    如需系統所設定的預設自我簽署憑證或 VMware Cloud Foundation 憑證的需求詳細資料,請參閱憑證類型