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.
O Azure Key Vault provider para o Secrets Store CSI Driver permite a integração de um Azure Key Vault como um repositório de segredos com um cluster do Azure Kubernetes Service (AKS) através de um volume CSI.
Funcionalidades
- Monta segredos, chaves e certificados em um pod usando um volume CSI.
- Suporta os volumes em linha do CSI.
- Suporta a montagem de vários objetos de armazenamento de segredos como um único volume.
- Suporta portabilidade de pod com o
SecretProviderClassCRD. - Suporta contêineres do Windows.
- Sincroniza com segredos do Kubernetes.
- Suporta autorotação de conteúdos montados e segredos sincronizados do Kubernetes.
Limitações
- Um contentor que use um
ConfigMapouSecretcomo montagem de volumesubPathnão é atualizado automaticamente quando o segredo é alterado. Esta é uma limitação do Kubernetes. Para que as alterações entrem em vigor, o aplicativo precisa recarregar o arquivo alterado observando as alterações no sistema de arquivos ou reiniciando o pod. Para obter mais informações, consulte Limitações conhecidas do driver CSI do Secrets Store. - O complemento cria uma identidade gerida nomeada
azurekeyvaultsecretsprovider-xxxno grupo de recursos do nó e a atribui automaticamente aos Conjuntos de Escalabilidade de Máquinas Virtuais (VMSS). Você pode usar essa identidade gerenciada ou sua própria identidade gerenciada para acessar o cofre de chaves. Não é possível impedir a criação da identidade.
Pré-requisitos
- Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
- Verifique se a sua versão da CLI do Azure é 2.30.0 ou posterior. Se for uma versão anterior, instale a versão mais recente.
Rede
- Se estiver usando clusters isolados de rede, é recomendável configurar o ponto de extremidade privado para acessar o Cofre da Chave do Azure.
- Se o cluster tiver o tipo
userDefinedRoutingde saída e usar um dispositivo de firewall que possa controlar o tráfego de saída com base em nomes de domínio, como o Firewall do Azure, verifique se as regras de rede de saída e os FQDNs necessários são permitidos. - Se você estiver restringindo a Entrada ao cluster, verifique se as portas 9808 e 8095 estão abertas.
Funções
- A identidade usada com o
SecretProviderClassprecisa ter permissão para acessarKey Vault Certificate Useroukeycertificate. - A identidade usada com o
SecretProviderClassprecisa terKey Vault Secrets Userpara aceder aosecrettipo de objeto.
Criar um cluster AKS com o provedor do Azure Key Vault para suporte ao Driver CSI do Secrets Store
Crie um grupo de recursos do Azure usando o
az group createcomando.az group create --name myResourceGroup --location eastus2Crie um cluster AKS com o provedor do Azure Key Vault para a funcionalidade do Secrets Store CSI Driver, utilizando o comando
az aks createcom o parâmetro--enable-addons azure-keyvault-secrets-provider. O complemento cria uma identidade gerenciada atribuída pelo usuário que você pode usar para autenticar no cofre de chaves. O exemplo a seguir cria um cluster AKS com o Azure Key Vault como provedor do Secrets Store CSI Driver habilitado.Nota
Se pretender usar o ID de carga de trabalho do Microsoft Entra, deverá também usar os parâmetros
--enable-oidc-issuere--enable-workload-identity, como no seguinte exemplo:az aks create --name myAKSCluster --resource-group myResourceGroup --enable-addons azure-keyvault-secrets-provider --enable-oidc-issuer --enable-workload-identity --generate-ssh-keysaz aks create \ --name myAKSCluster \ --resource-group myResourceGroup \ --enable-addons azure-keyvault-secrets-provider \ --generate-ssh-keysO comando anterior cria uma identidade gerenciada atribuída pelo usuário,
azureKeyvaultSecretsProvider, para acessar recursos do Azure. O exemplo a seguir usa essa identidade para se conectar ao cofre de chaves que armazena os segredos, mas você também pode usar outros métodos de acesso de identidade. Tome nota da identidadeclientIdna saída...., "addonProfiles": { "azureKeyvaultSecretsProvider": { ..., "identity": { "clientId": "<client-id>", ... } }
Nota
Depois de ativar este recurso, o AKS cria uma identidade gerida nomeada azurekeyvaultsecretsprovider-xxx no grupo de recursos do nó e atribui-a aos Conjuntos de Escala de Máquina Virtual (VMSS) automaticamente. Você pode usar essa identidade gerenciada ou sua própria identidade gerenciada para acessar o cofre de chaves. Não é possível impedir a criação da identidade.
Atualizar um cluster AKS existente com o provedor do Azure Key Vault para suporte ao Driver CSI do Secrets Store
Atualize um cluster AKS existente com o provedor do Azure Key Vault para o recurso de Driver CSI do Secrets Store usando o
az aks enable-addonscomando e habilite o complementoazure-keyvault-secrets-provider. O complemento cria uma identidade gerenciada atribuída pelo usuário que você pode usar para autenticar no cofre de chaves.az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup
Nota
Depois de ativar este recurso, o AKS cria uma identidade gerida nomeada azurekeyvaultsecretsprovider-xxx no grupo de recursos do nó e atribui-a aos Conjuntos de Escala de Máquina Virtual (VMSS) automaticamente. Você pode usar essa identidade gerenciada ou sua própria identidade gerenciada para acessar o cofre de chaves. Não é possível impedir a criação da identidade.
Verifique o provedor do Azure Key Vault para a instalação do Driver CSI do Secrets Store
Obtenha as credenciais do cluster AKS usando o
az aks get-credentialscomando.az aks get-credentials --name myAKSCluster --resource-group myResourceGroupVerifique se a instalação foi concluída usando o comando
kubectl get pods, que lista todos os pods com os rótulossecrets-store-csi-driveresecrets-store-provider-azureno namespace kube-system.kubectl get pods -n kube-system -l 'app in (secrets-store-csi-driver,secrets-store-provider-azure)'Sua saída deve ser semelhante à saída de exemplo a seguir:
NAME READY STATUS RESTARTS AGE aks-secrets-store-csi-driver-4vpkj 3/3 Running 2 4m25s aks-secrets-store-csi-driver-ctjq6 3/3 Running 2 4m21s aks-secrets-store-csi-driver-tlvlq 3/3 Running 2 4m24s aks-secrets-store-provider-azure-5p4nb 1/1 Running 0 4m21s aks-secrets-store-provider-azure-6pqmv 1/1 Running 0 4m24s aks-secrets-store-provider-azure-f5qlm 1/1 Running 0 4m25sVerifique se cada nó no pool de nós do cluster tem um pod do Secrets Store CSI Driver e um pod do Secrets Store Provider Azure a correr.
Criar ou usar um Cofre da Chave do Azure existente
Crie ou atualize um cofre de chaves com o controlo de acesso baseado em função do Azure (Azure RBAC) habilitado usando os comandos
az keyvault createouaz keyvault updatecom o parâmetro--enable-rbac-authorization. O nome do cofre de chaves deve ser globalmente exclusivo. Para obter mais detalhes sobre os modelos de permissão do Cofre de Chaves e o RBAC do Azure, consulte Forneça acesso às chaves, certificados e segredos do Cofre de Chaves com um controle de acesso baseado em função do Azure## Create a new Azure key vault az keyvault create --name <keyvault-name> --resource-group myResourceGroup --location eastus2 --enable-rbac-authorization ## Update an existing Azure key vault az keyvault update --name <keyvault-name> --resource-group myResourceGroup --location eastus2 --enable-rbac-authorizationSeu cofre de chaves pode armazenar chaves, segredos e certificados. Neste exemplo, use o
az keyvault secret setcomando para definir um segredo de texto simples chamadoExampleSecret.az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecretTome nota das seguintes propriedades para uso futuro:
- O nome do objeto secreto no cofre de chaves
- O tipo de objeto (segredo, chave ou certificado)
- O nome do recurso do cofre de chaves
- O ID do inquilino do Azure da assinatura
Próximos passos
Neste artigo, você aprendeu como usar o provedor do Cofre de Chaves do Azure para o Driver CSI do Repositório de Segredos em um cluster AKS. Agora você precisa fornecer uma identidade para acessar o Cofre da Chave do Azure. Para saber como, continue para o próximo artigo.