Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Deploy HTTPS mutual authentication through ALB Ingress

Dernière mise à jour :Aug 11, 2026

L'authentification mutuelle HTTPS permet au serveur et au client de s'authentifier mutuellement. Utilisez cette fonctionnalité sur ALB Ingress dans les secteurs bancaires, financiers, l'IoT, les services internes ou les environnements gouvernementaux où les données sont sensibles ou où l'accès doit être limité aux clients de confiance.

Fonctionnement

Authentification HTTPS unidirectionnelle Authentification mutuelle HTTPS
Le client vérifie le serveur Oui Oui
Le serveur vérifie le client Non Oui
Le client détient Certificat SSL ou TLS signé par une autorité de certification racine
Le serveur détient Certificat serveur Certificat d'autorité de certification racine

Le serveur utilise son certificat d'autorité de certification racine pour vérifier le certificat du client avant d'établir la connexion.

Prérequis

Assurez-vous de disposer des éléments suivants :

(Facultatif) Étape 1 : Générer un certificat d'autorité de certification autosigné

Ignorez cette étape si vous disposez déjà d'un certificat d'autorité de certification racine.

  1. Générez une clé privée :

    openssl genrsa -out ca.key 4096
  2. Créez une demande de signature de certificat (CSR) :

    Champ Obligatoire Description
    Country Name Oui Code pays à deux lettres, par exemple cn
    State or Province Name Oui Nom de la province ou de la région
    Locality Name Oui Nom de la ville
    Organization Name Oui Nom de l'organisation
    Organizational Unit Name Oui Nom du département
    Common Name Non Un nom couramment utilisé
    Email Address Non Adresse e-mail de l'administrateur du certificat
    A challenge password Non Mot de passe de sécurité CSR facultatif. Laissez ce champ vide si nécessaire
    openssl req -new -out ca.csr -key ca.key

    OpenSSL vous invite à saisir les champs suivants :

    Country Name (2 letter code) [XX]:cn
    State or Province Name (full name) []:bj
    Locality Name (eg, city) [Default City]:bj
    Organization Name (eg, company) [Default Company Ltd]:alibaba
    Organizational Unit Name (eg, section) []:test
    Common Name (eg, your name or your servers hostname) []:root
    Email Address []:example@ali
    A challenge password []:
  3. Créez le certificat d'autorité de certification racine avec une validité de 3 650 jours :

    Fichier Description
    ca.crt Certificat d'autorité de certification racine
    ca.csr Fichier CSR
    ca.key Clé privée
    openssl x509 -req -in ca.csr -out ca.crt -signkey ca.key -CAcreateserial -days 3650

    Exécutez ls pour confirmer les fichiers générés :

    ca.crt  ca.csr  ca.key

Étape 2 : Télécharger le certificat d'autorité de certification

Téléchargez le certificat d'autorité de certification racine vers Certificate Management Service afin d'obtenir un identifiant de certificat pour AlbConfig.

  1. Connectez-vous à la console Certificate Management Service. Sélectionnez la région Outside Chinese Mainland. Dans le volet de navigation de gauche, cliquez sur Certificate Application Repository.

  2. Sur la page Certificate Application Repository, cliquez sur Create Repository. Dans le panneau Create Repository, définissez les paramètres suivants et cliquez sur OK.

    Paramètre Description
    Repository Name Nom personnalisé du référentiel
    Data Source Sélectionnez Upload CA Certificates pour télécharger des certificats signés par des autorités de certification tierces
  3. Cliquez sur votre référentiel, puis sur Uploaded Certificates.

  4. Dans le panneau CA Information, remplissez les champs suivants et cliquez sur Confirm and Enable.

    Paramètre Description
    Package Name Nom personnalisé du certificat
    CA Certificates Collez le contenu du certificat, ou cliquez sur Upload and Parse File
  5. Cliquez sur Details pour le certificat téléchargé et notez l'identifiant du certificat pour l'étape 4.

Étape 3 : Générer un certificat client

Utilisez le certificat d'autorité de certification racine pour signer un certificat client.

  1. Générez une clé privée pour le client :

    openssl genrsa -out client.key 4096
  2. Créez une CSR pour le certificat client :

    openssl req -new -out client.csr -key client.key

    Remplissez les mêmes champs que lors de l'étape 1. Les valeurs peuvent différer de celles du certificat d'autorité de certification.

  3. Signez le certificat client à l'aide de l'autorité de certification racine :

    Fichier Description
    client.crt Certificat client signé par l'autorité de certification racine
    client.csr Fichier CSR
    client.key Clé privée du client
    openssl x509 -req -in client.csr -out client.crt -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650

    Les fichiers ca.crt et ca.key proviennent de l'étape 1. Exécutez ls pour confirmer la sortie :

    client.crt  client.csr  client.key

Étape 4 : Activer et tester l'authentification mutuelle

Activer l'authentification mutuelle

  1. Ouvrez AlbConfig pour modification :

    kubectl edit albconfig <ALBCONFIG_NAME>

    Remplacez <ALBCONFIG_NAME> par le nom de votre AlbConfig.

  2. Dans la configuration de l'écouteur HTTPS (port 443), ajoutez caEnabled: true et définissez caCertificates.CertificateId sur l'identifiant du certificat obtenu à l'étape 2 :

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: #...
    spec:
      config:
        #...
      listeners:
      - port: 443
        protocol: HTTPS
        caEnabled: true                                        # Enable mutual authentication
        caCertificates:
        - CertificateId: 0e40dda998174723af39d37fcaf*****     # Certificate identifier from Step 2
        certificates:
          #...

Tester l'authentification mutuelle

  1. Récupérez le nom d'hôte et l'adresse de l'Ingress :

    kubectl get ingress

    Sortie attendue :

    NAME            CLASS                HOSTS                  ADDRESS                         PORTS     AGE
    https-ingress   https-ingressclass   demo.alb.ingress.top   alb-********.alb.aliyuncs.com   80, 443   83m

    Notez les valeurs HOSTS et ADDRESS.

  2. Envoyez une requête avec le certificat client. Remplacez demo.alb.ingress.top et alb-********.alb.aliyuncs.com par les valeurs de l'étape précédente :

    curl -H HOST:demo.alb.ingress.top -k https://alb-********.alb.aliyuncs.com --cert client.crt --key client.key

    Sortie attendue :

    old

(Facultatif) Étape 5 : Désactiver l'authentification mutuelle

  1. Ouvrez AlbConfig pour modification :

    kubectl edit albconfig <ALBCONFIG_NAME>
  2. Définissez caEnabled sur false :

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: #...
    spec:
      config:
        #...
      listeners:
      - port: 443
        protocol: HTTPS
        caEnabled: false                                       # Disable mutual authentication
        caCertificates:
        - CertificateId: 0e40dda998174723af39d37fcaf*****
        certificates:
          #...

Étapes suivantes