Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A Autoridade de Certificação Personalizada (CA) permite adicionar até 10 certificados codificados em base64 ao repositório confiável do nó. Esta funcionalidade é frequentemente necessária quando as autoridades certificadoras (CAs) têm de estar presentes no nó, como ao ligar-se a um registo privado.
Este artigo mostra como criar CAs personalizadas e aplicá-las aos seus clusters AKS.
Note
A funcionalidade Custom CA adiciona os seus certificados personalizados ao repositório de confiança do nó AKS. Os certificados adicionados com esta funcionalidade não estão disponíveis para contentores que correm em pods. Se precisares dos certificados dentro de contentores, tens de os adicionar separadamente, adicionando-os à imagem usada pelos teus pods ou em tempo de execução através de scripts e um segredo.
Prerequisites
- Uma subscrição do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita.
- Azure CLI versão 2.72.0 ou posterior instalada e configurada. Para encontrar a sua versão da CLI, execute o
az --versioncomando. Se precisar de instalar ou atualizar, consulte Install Azure CLI. - Uma cadeia de caracteres de certificado codificada em base64 ou um arquivo de texto com certificado.
Limitations
- Os pools de nós do Windows não são suportados.
- Não há suporte para a instalação de CAs diferentes no mesmo cluster.
Criar um ficheiro de certificado
Crie um arquivo de texto contendo até 10 certificados separados por linha em branco. Quando passa este ficheiro para o seu cluster, os certificados são instalados nos armazenamentos de confiança do nó AKS.
Exemplo de arquivo de texto:
-----BEGIN CERTIFICATE----- cert1 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- cert2 -----END CERTIFICATE-----
Antes de avançar para o próximo passo, certifique-se de que não há espaços em branco no seu ficheiro de texto para evitar erros.
Passa CAs personalizadas para o teu cluster AKS
Passe certificados para o seu cluster usando o comando
az aks createouaz aks update, com--custom-ca-trust-certificatesdefinido para o nome do seu ficheiro 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
Esta operação inicia uma atualização do modelo para garantir que todos os nós existentes tenham as mesmas CAs instaladas, assegurando o provisionamento correto. O AKS cria novos nós, drena nós existentes, exclui nós existentes e os substitui por nós que têm o novo conjunto de CAs instalado.
Verifique que as CAs estão instaladas
Verifique se as CAs estão instaladas usando o
az aks showcomando.az aks show --resource-group <resource-group-name> --name <cluster-name> | grep securityProfile -A 4No resultado, a
securityProfilesecção deve incluir os seus certificados personalizados de CA. Por exemplo:"securityProfile": { "azureKeyVaultKms": null, "customCaTrustCertificates": [ "values"
Resolver erros de formatação do Certificado de Autoridade personalizado
Adicionar certificados a um cluster pode resultar em um erro se o arquivo com os certificados não estiver formatado corretamente. 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, verifique se o arquivo de entrada não tem novas linhas, espaços em branco ou dados extras além de certificados formatados corretamente, conforme mostrado no arquivo de exemplo.
Resolver erros de certificado personalizado CA X.509 assinado por Autoridade Desconhecida
O AKS exige que os certificados aprovados estejam devidamente formatados e codificados em base64. Verifique se as ACs que submeteu estão codificadas corretamente em base64 e se os ficheiros com ACs não têm quebras de linha CRLF.
Reiniciar o containerd para recolher novos certificados
Se o containerd não reconhecer novos certificados, execute o comando systemctl restart containerd a partir da shell do nó. Quando o containerd reinicia, o tempo de execução do contentor deverá captar os novos certificados.
Conteúdo relacionado
Para obter mais informações sobre as práticas recomendadas de segurança do AKS, consulte Práticas recomendadas para segurança de cluster e atualizações no Serviço Kubernetes do Azure (AKS).