Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A AC (Autoridade de Certificação) Personalizada permite que você adicione até 10 certificados codificados em base64 ao repositório de confiança do nó. Esse recurso geralmente é necessário quando as autoridades de certificação (ACs) precisam estar presentes no nó, como ao se conectar a um registro privado.
Este artigo mostra como criar ACs personalizadas e aplicá-las aos clusters do AKS.
Note
O recurso Custom CA adiciona seus certificados personalizados ao repositório de confiança do nó do AKS. Os certificados adicionados por meio deste recurso não estão disponíveis para contêineres que estão rodando em pods. Se você precisar dos certificados dentro de contêineres, precisará adicioná-los separadamente adicionando-os à imagem usada por seus pods ou em runtime por meio de scripts e um segredo.
Prerequisites
- Uma assinatura do Azure. Caso não tenha uma assinatura do Azure, crie uma conta gratuita.
- CLI do Azure versão 2.72.0 ou posterior instalada e configurada. Para localizar a versão da CLI, execute o
az --versioncomando. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure. - Uma cadeia de caracteres de certificado codificado em base64 ou um arquivo de texto com certificado.
Limitations
- Não há suporte a pools de nós Windows.
- Não há suporte para a instalação de CAs diferentes no mesmo cluster.
Criar um arquivo de certificado
Crie um arquivo de texto contendo até 10 certificados separados de linha em branco. Quando você passa esse arquivo para o cluster, os certificados são instalados nos repositórios de confiança do nó do AKS.
Exemplo de arquivo de texto:
-----BEGIN CERTIFICATE----- cert1 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- cert2 -----END CERTIFICATE-----
Antes de prosseguir para a próxima etapa, verifique se não há espaços em branco no arquivo de texto para evitar erros.
Passar CAs personalizadas para o cluster do AKS
Transfira certificados para seu cluster usando os comandos
az aks createouaz aks update, com--custom-ca-trust-certificatesdefinido como o nome do arquivo de certificado.# Create a new cluster az aks create \ --resource-group <resource-group-name> \ --name <cluster-name> \ --node-count 2 \ --custom-ca-trust-certificates <path-to-certificate-file> \ --generate-ssh-keys # Update an existing cluster az aks update \ --resource-group <resource-group-name> \ --name <cluster-name> \ --custom-ca-trust-certificates <path-to-certificate-file>Note
Essa operação aciona uma atualização do modelo para assegurar que todos os nós existentes estejam com os mesmos CAs (Autoridades Certificadoras) instalados, garantindo o provisionamento correto. O AKS cria novos nós, drena os nós existentes, exclui os nós existentes e os substitui por nós que têm o novo conjunto de ACs instalado.
Verificar se as ACs estão instaladas
Verifique se as ACs estão instaladas usando o
az aks showcomando.az aks show --resource-group <resource-group-name> --name <cluster-name> | grep securityProfile -A 4Na saída, a seção
securityProfiledeve incluir seus certificados AC personalizados. Por exemplo:"securityProfile": { "azureKeyVaultKms": null, "customCaTrustCertificates": [ "values"
Resolver erros de formatação de autoridade certificadora personalizada
Adicionar certificados a um cluster pode resultar em um erro se o arquivo com os certificados não estiver formatado corretamente. Você pode ver um erro semelhante ao seguinte exemplo:
failed to decode one of SecurityProfile.CustomCATrustCertificates to PEM after base64 decoding
Se você encontrar esse erro, deverá verificar se o arquivo de entrada não tem novas linhas adicionais, espaços em branco ou dados diferentes de certificados formatados corretamente, conforme mostrado no arquivo de exemplo.
Resolver erros personalizados de certificado CA X.509 assinado por autoridade desconhecida
O AKS requer que os certificados passados sejam formatados corretamente e codificados em base64. Verifique se as CAs que você passou estão codificadas corretamente em base64 e se os arquivos com CAs não têm quebras de linha da CRLF.
Reiniciar contêineres para pegar novos certificados
Se o containerd não pegar novos certificados, execute o comando systemctl restart containerd no shell do nó. Depois que o containerd reinicia, o container runtime deve capturar os novos certificados.
Conteúdo relacionado
Para saber mais sobre as melhores práticas de segurança do AKS, confira Melhores práticas para segurança de cluster e atualizações no AKS (Serviço de Kubernetes do Azure).