Todos os produtos
Search
Central de documentação

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

Última atualização: Jun 27, 2026

A autenticação mútua HTTPS permite que servidor e cliente verifiquem a identidade um do outro. Use esse recurso no ALB Ingress em cenários bancários, financeiros, de IoT, serviços internos ou governamentais, nos quais os dados são sensíveis ou o acesso deve ser restrito a clientes confiáveis.

Como funciona

Autenticação unidirecional HTTPS

Autenticação mútua HTTPS

Cliente verifica servidor

Sim

Sim

Servidor verifica cliente

Não

Sim

Cliente possui

Certificado SSL ou TLS assinado por uma CA raiz

Servidor possui

Certificado do servidor

Certificado da CA raiz

O servidor usa seu certificado de CA raiz para validar o certificado do cliente antes de estabelecer a conexão.

Pré-requisitos

Certifique-se de que:

(Opcional) Etapa 1: Gerar um certificado de CA autoassinado

Ignore esta etapa caso já possua um certificado de CA raiz.

  1. Gere uma chave privada:

    openssl genrsa -out ca.key 4096
  2. Crie uma solicitação de assinatura de certificado (CSR):

    Campo

    Obrigatório

    Descrição

    Country Name

    Sim

    Código de país de duas letras, por exemplo, cn

    State or Province Name

    Sim

    Nome da província ou região

    Locality Name

    Sim

    Nome da cidade

    Organization Name

    Sim

    Nome da organização

    Organizational Unit Name

    Sim

    Nome do departamento

    Common Name

    Não

    Um nome de uso comum

    Email Address

    Não

    E-mail do administrador do certificado

    A challenge password

    Não

    Senha de segurança opcional para a CSR. Deixe em branco se não for necessária

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

    O OpenSSL solicita os seguintes campos:

    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. Crie o certificado de CA raiz com validade de 3.650 dias:

    Arquivo

    Descrição

    ca.crt

    Certificado da CA raiz

    ca.csr

    Arquivo CSR

    ca.key

    Chave privada

    openssl x509 -req -in ca.csr -out ca.crt -signkey ca.key -CAcreateserial -days 3650

    Execute ls para confirmar os arquivos gerados:

    ca.crt  ca.csr  ca.key

Etapa 2: Fazer upload do certificado de CA

Faça upload do certificado de CA raiz no Certificate Management Service para obter um identificador de certificado para o AlbConfig.

  1. Faça login no console do Certificate Management Service. Selecione a região Outside Chinese Mainland. No painel de navegação à esquerda, clique em Certificate Application Repository.

  2. Na página Certificate Application Repository, clique em Create Repository. No painel Create Repository, defina os parâmetros abaixo e clique em OK.

    Parâmetro

    Descrição

    Repository Name

    Nome personalizado do repositório

    Data Source

    Selecione Upload CA Certificates para enviar certificados assinados por CAs de terceiros

  3. Clique no seu repositório e, em seguida, clique em Uploaded Certificates.

  4. No painel CA Information, preencha os campos a seguir e clique em Confirm and Enable.

    Parâmetro

    Descrição

    Package Name

    Nome personalizado do certificado

    CA Certificates

    Cole o conteúdo do certificado ou clique em Upload and Parse File

  5. Clique em Details referente ao certificado enviado e anote o identificador do certificado para usar na Etapa 4.

Etapa 3: Gerar um certificado de cliente

Use o certificado de CA raiz para assinar um certificado de cliente.

  1. Gere uma chave privada para o cliente:

    openssl genrsa -out client.key 4096
  2. Crie uma CSR para o certificado do cliente:

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

    Preencha os mesmos campos da Etapa 1. Os valores podem diferir dos utilizados no certificado de CA.

  3. Assine o certificado do cliente usando a CA raiz:

    Arquivo

    Descrição

    client.crt

    Certificado do cliente assinado pela CA raiz

    client.csr

    Arquivo CSR

    client.key

    Chave privada do cliente

    openssl x509 -req -in client.csr -out client.crt -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650

    Os arquivos ca.crt e ca.key foram gerados na Etapa 1. Execute ls para confirmar a saída:

    client.crt  client.csr  client.key

Etapa 4: Ativar e testar a autenticação mútua

Ativar a autenticação mútua

  1. Abra o AlbConfig para edição:

    kubectl edit albconfig <ALBCONFIG_NAME>

    Substitua <ALBCONFIG_NAME> pelo nome do seu AlbConfig.

  2. Na configuração do listener HTTPS (porta 443), adicione caEnabled: true e defina caCertificates.CertificateId como o identificador de certificado obtido na Etapa 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:
          #...

Testar a autenticação mútua

  1. Obtenha o nome do host e o endereço do Ingress:

    kubectl get ingress

    Saída esperada:

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

    Anote os valores de HOSTS e ADDRESS.

  2. Envie uma requisição com o certificado do cliente. Substitua demo.alb.ingress.top e alb-********.alb.aliyuncs.com pelos valores obtidos na etapa anterior:

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

    Saída esperada:

    old

(Opcional) Etapa 5: Desativar a autenticação mútua

  1. Abra o AlbConfig para edição:

    kubectl edit albconfig <ALBCONFIG_NAME>
  2. Defina caEnabled como 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:
          #...

Próximas etapas