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.
Saiba como se conectar ao Azure Key Vault usando o driver CSI em um cluster do Serviço de Kubernetes do Azure (AKS) com a ajuda do Conector de Serviço. Neste tutorial, você completa as seguintes tarefas:
- Crie um cluster do AKS e um Azure Key Vault.
- Crie uma conexão entre o cluster do AKS e o Azure Key Vault com o Conector de Serviço.
- Crie um CRD
SecretProviderClasse umpodque consome o provedor CSI para testar a conexão. - Limpe os recursos.
Aviso
A Microsoft recomenda usar o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento exige um grau muito alto de confiança no aplicativo e traz riscos que não estão presentes em outros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Instale a CLI do Azure e entre na CLI do Azure usando o comando az login.
- Instale o Dockere kubectl para gerenciar a imagem do contêiner e os recursos do Kubernetes.
- Conhecimento básico de contêineres e AKS. Comece a partir da preparação de um aplicativo para o AKS.
Criar recursos do Azure
Crie um grupo de recursos para este tutorial.
az group create \ --name MyResourceGroup \ --location eastusCrie um cluster do AKS com o seguinte comando ou consulte o tutorial. Esse é o cluster no qual criamos a conexão de serviço, a definição de pod e implantamos o aplicativo de amostra.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1Conecte-se ao cluster com o seguinte comando.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusterCrie um Azure Key Vault com o seguinte comando, ou consulte o tutorial. Esse é o serviço de destino que está conectado ao cluster do AKS e o driver CSI sincroniza segredos a partir dele.
az keyvault create \ --resource-group MyResourceGroup \ --name MyKeyVault \ --location EastUSCrie um segredo no Key Vault com o seguinte comando.
az keyvault secret set \ --vault-name MyKeyVault \ --name ExampleSecret \ --value MyAKSExampleSecret
Criar uma conexão de serviço no AKS com o Conector de Serviço
Crie uma conexão de serviço entre um cluster do AKS e um Azure Key Vault usando o portal do Microsoft Azure ou a CLI do Azure.
Abra o Serviço do Kubernetes no portal do Microsoft Azure e selecione Conector de Serviço no menu à esquerda.
Selecione Criar e preencha as configurações conforme mostrado abaixo. Deixe as outras configurações com seus valores padrão.
Configuração Opção Descrição Namespace do Kubernetes padrão O namespace em que você precisa da conexão no cluster. Tipo de serviço Key Vault (habilitar CSI) Escolha o Key Vault como o tipo de serviço de destino e marque a opção para habilitar o CSI. Nome da conexão keyvault_conn Use o nome da conexão fornecido pelo Conector de Serviço ou escolha um nome de conexão próprio. Assinatura <MySubscription>A assinatura do serviço de destino do Azure Key Vault. Cofre de chaves <MyKeyVault>O cofre de chaves de destino ao qual você deseja se conectar. Tipo de cliente Python A linguagem de código ou a estrutura que você usa para se conectar ao serviço de destino. Depois que a conexão for criada, a página do conector de serviço exibirá informações sobre a nova conexão.
Testar a conexão
Clone o repositório de exemplo:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.gitVá para a pasta de amostra do repositório do Azure Key Vault:
cd serviceconnector-aks-samples/azure-keyvault-csi-providerSubstitua os espaços reservados no arquivo
secret_provider_class.yamlna pastaazure-keyvault-csi-provider.- Substitua
<AZURE_KEYVAULT_NAME>pelo nome do cofre de chaves que criamos e conectamos. Você pode obter o valor no portal do Conector de Serviço do Azure. - Substitua
<AZURE_KEYVAULT_TENANTID>pela ID do locatário do cofre de chaves. Você pode obter o valor no portal do Conector de Serviço do Azure. - Substitua
<AZURE_KEYVAULT_CLIENTID>pela ID do cliente de identidade do complementoazureKeyvaultSecretsProvider. Você pode obter o valor no portal do Conector de Serviço do Azure. - Substitua
<KEYVAULT_SECRET_NAME>pelo nome secreto do cofre de chaves que criamos, por exemplo,ExampleSecret
- Substitua
Implante os recursos do Kubernetes em seu cluster com o comando
kubectl apply. Instalekubectllocalmente usando o comando az aks install-cli se ele não estiver instalado.- Implante o CRD
SecretProviderClass.
kubectl apply -f secret_provider_class.yaml- Implante o
pod. O comando cria um pod chamadosc-demo-keyvault-csino namespace padrão do seu cluster do AKS.
kubectl apply -f pod.yaml- Implante o CRD
Verifique se a implantação foi bem-sucedida visualizando o pod com
kubectl.kubectl get pod/sc-demo-keyvault-csiDepois que o pod é iniciado, o conteúdo montado no caminho do volume especificado no YAML de implantação fica disponível. Use os comandos a seguir para validar seus segredos e imprimir um segredo de teste.
- Mostre os segredos mantidos no repositório de segredos usando o comando a seguir.
kubectl exec sc-demo-keyvault-csi -- ls /mnt/secrets-store/- Exiba um segredo no repositório usando o comando a seguir. Este comando de exemplo mostra o segredo de teste
ExampleSecret.
kubectl exec sc-demo-keyvault-csi -- cat /mnt/secrets-store/ExampleSecret
Limpar os recursos
Se você não precisar reutilizar os recursos que criou neste tutorial, exclua todos os recursos que criou excluindo seu grupo de recursos.
az group delete \
--resource-group MyResourceGroup
Próximas etapas
Leia os artigos a seguir para saber mais sobre os conceitos do Conector de Serviço e como ele ajuda o AKS a se conectar aos serviços.