Après l'installation de NSX, les nœuds de gestionnaire et le cluster ont des certificats auto-signés. Vous pouvez remplacer les certificats auto-signés d'API et MGMT_CLUSTER (alias VIP) par un certificat signé par une autorité de certification commune avec un autre nom du sujet (SAN, Subject Alternative Name) qui correspond aux noms de domaine complets et aux adresses IP de tous les nœuds et VIP du cluster. Vous ne pouvez exécuter qu'une seule opération de remplacement de certificat à la fois.

Si vous utilisez NSX Federation, vous pouvez remplacer les certificats d'API du gestionnaire global (GM), le certificat MGMT_CLUSTER (alias VIP), les certificats d'API du gestionnaire local (LM) et les certificats MGMT_CLUSTER (alias VIP) du LM à l'aide des API suivantes.

À partir de NSX Federation 4.1, vous pouvez remplacer un certificat auto-signé utilisé pour la communication entre le gestionnaire global et le gestionnaire local.

Lorsque vous remplacez le certificat GLOBAL_MANAGER ou LOCAL_MANAGER, le gestionnaire de sites les envoie à tous les autres sites fédérés, afin que la communication reste intacte.

La suite de chiffrement TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 peut désormais être utilisée ou remplacée pour la communication entre les éléments suivants :
  • Nœuds NSX dans un cluster.
  • Dans NSX Federation.
  • entre NSX Manager et NSX Edge ;
  • entre NSX Manager et l'agent NSX ;
  • Communication (externe) de la REST API de NSX Manager.

Vous pouvez également remplacer les certificats GLOBAL_MANAGER et LOCAL_MANAGER. Reportez-vous à Certificats pour NSX et NSX Federation pour plus d'informations sur les certificats auto-signés configurés automatiquement pour NSX Federation.

À partir de NSX 4.2, le service API sur chaque gestionnaire et VIP partagent le même certificat. Vous pouvez également remplacer en bloc le certificat partagé en exécutant l'API « batch replace » suivante.
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"
        }
    ]
}

Vous pouvez également remplacer chaque service d'API et le service VIP par leurs propres certificats uniques en exécutant l'API « apply certificate » mentionnée dans la procédure suivante.

Les API « batch replace « et « apply certificate » doivent être effectuées après la formation du cluster de gestionnaires, car à partir de NSX 4.2, les certificats d'API du gestionnaire de jonction sont remplacés par les certificats MGMT_CLUSTER (alias VIP) du cluster en cours de jonction.

Conditions préalables

  • Vérifiez qu'un certificat est disponible dans le dispositif NSX Manager. Notez que sur un gestionnaire global en veille, l'opération d'importation de l'interface utilisateur est désactivée. Pour plus d'informations sur la commande d'importation REST API d'un Gestionnaire global en veille, reportez-vous à Importer un certificat auto-signé ou signé par une autorité de certification.
  • Le certificat de serveur doit contenir l'extension des contraintes de base basicConstraints = CA:FALSE.
  • Vérifiez que le certificat est valide en effectuant l'appel d'API suivant :

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

  • Ayez votre chaîne d'ID de nœud disponible, le cas échéant. Pour obtenir de l'aide sur la localisation de ces informations à l'aide de l'interface utilisateur ou de la CLI, reportez-vous à Recherche d'ID de nœud pour les appels d'API de certificat.
Note : N'utilisez pas de scripts automatisés pour remplacer plusieurs certificats en même temps. Des erreurs peuvent se produire.

Procédure

  1. Avec des privilèges d'administrateur, connectez-vous à NSX Manager.
  2. Sélectionnez Système > Certificats.
  3. Dans la colonne ID, sélectionnez l'ID du certificat que vous voulez utiliser et copiez l'ID de certificat dans la fenêtre contextuelle.
    Assurez-vous que lorsque ce certificat a été importé, l'option Certificat de service a été définie sur Non.

    Remarque : la chaîne de certificats doit être dans l'ordre standard suivant : certificat–intermédiaire–racine.

  4. Pour remplacer le certificat d'API d'un nœud de gestionnaire, utilisez l'appel d'API suivant. Pour trouver votre ID de nœud Unified Appliance, reportez-vous à Recherche d'ID de nœud pour les appels d'API de certificat.
    POST /api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=API&node_id=<node-id>
    Par exemple :
    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. Pour remplacer le certificat de l'adresse IP virtuelle d'un cluster de gestionnaires, utilisez l'appel d'API :
    POST /api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=MGMT_CLUSTER
    Par exemple :
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/d60c6a07-6e59-4873-8edb-339bf75711?action=apply_certificate&service_type=MGMT_CLUSTER

    Assurez-vous que la valeur de l'empreinte numérique est mise à jour pour le Gestionnaire local de chaque emplacement dans le gestionnaire d'emplacements du Gestionnaire global. Sinon, la communication entre GM et LM est interrompue. Les tâches telles que la sélection d'un cluster NSX Edge ou la demande d'un résumé BGP de niveau 0 à partir de l'interface utilisateur de Gestionnaire global ne fonctionneront pas si l'empreinte numérique n'est pas mise à jour. Pour plus d'informations sur l'API, reportez-vous au Guide de NSX API. Cette étape n'est pas nécessaire si vous n'avez pas configuré de VIP.

  6. (Facultatif) Pour remplacer les certificats LOCAL_MANAGER et GLOBAL_MANAGER pour NSX Federation, utilisez l'appel d'API suivant. L'intégralité du cluster NSX Manager (Gestionnaire local et Gestionnaire global) nécessite un certificat LOCAL_MANAGER et un certificat GLOBAL_MANAGER.
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=<service-type>
    Par exemple :
    POST https://<local-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=LOCAL_MANAGER
    Ou
    POST https://<global-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=GLOBAL_MANAGER
  7. Pour remplacer les certificats APH (alias APH_AR), utilisez l'appel d'API suivant. Pour trouver votre ID de nœud Unified Appliance, reportez-vous à Recherche d'ID de nœud pour les appels d'API de certificat.
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=APH&node_id=<node-id>
    Par exemple :
    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. À partir de NSX 4.1, utilisez l'appel d'API suivant pour remplacer les certificats du nœud de transport (TN) ou de l'hôte Edge (appelés certificats TN). Vous devez générer la clé privée en dehors de NSX Manager. Si vous générez la demande de signature de certificat dans le NSX Manager, il n'est pas possible de récupérer la clé privée, qui est requise dans l'appel d'API. S'il s'agit d'un certificat signé par une autorité de certification, incluez toute la chaîne dans l'ordre suivant : certificat - intermédiaire - racine. L'intégralité du certificat doit être fournie sur une seule ligne. Remplacez également tout caractère de fin de ligne par \n. Cela est requis dans les valeurs pem_encoded et de clé privée. Pour remplacer les caractères de nouvelle ligne par \n, vous pouvez utiliser cette commande sur les systèmes basés sur 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"
        }
    Par exemple :
    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"
    }
    Utilisez l'ID du nœud de transport pour le node_id, pas l'ID d'Unified Appliance (UA). Pour trouver votre ID de nœud, reportez-vous à Recherche d'ID de nœud pour les appels d'API de certificat.

    Pour plus d'informations sur les certificats auto-signés par défaut configurés par le système ou pour connaître les conditions requises en matière de certificats de VMware Cloud Foundation, reportez-vous à Types de certificats.