Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il provider di Azure Key Vault per il driver CSI dell'archivio segreti consente l'integrazione di un insieme di credenziali delle chiavi di Azure come archivio segreto con un cluster del servizio Azure Kubernetes tramite un volume CSI.
Funzionalità
- Monta segreti, chiavi e certificati in un pod usando un volume CSI.
- Supporta volumi inline CSI.
- Supporta il montaggio di più oggetti dell'archivio segreti come un singolo volume.
- Supporta la portabilità dei pod con crd
SecretProviderClass
. - Supporta i contenitori di Windows.
- Esegue la sincronizzazione con i segreti kubernetes.
- Supporta l'autorotazione dei contenuti montati e i segreti Kubernetes sincronizzati.
Limiti
Un contenitore che usa il montaggio del volume subPath non riceve gli aggiornamenti dei segreti quando viene ruotato. Per ulteriori informazioni, vedere Limitazioni note di Secrets Store CSI Driver.
Prerequisiti
- Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- Verificare che la versione dell'interfaccia della riga di comando di Azure sia 2.30.0 o successiva. Se si tratta di una versione precedente, installare la versione più recente.
- Se si limita l'ingresso al cluster, assicurarsi che le porte 9808 e 8095 siano aperte.
- La versione minima consigliata di Kubernetes si basa sulla finestra di supporto a rotazione delle versioni di Kubernetes. Assicurarsi di eseguire la versione N-2 o successiva.
Creare un cluster AKS (Azure Kubernetes Service) con il provider di Azure Key Vault per il supporto del driver CSI Secrets Store
Creare un gruppo di risorse di Azure usando il comando
az group create
.az group create --name myResourceGroup --location eastus2
Creare un cluster AKS con il provider di Azure Key Vault per la funzionalità del Secrets Store CSI Driver usando il comando
az aks create
con il parametro--enable-addons azure-keyvault-secrets-provider
. Il componente aggiuntivo crea un'identità gestita assegnata dall'utente che puoi utilizzare per autenticarti nel Key Vault. L'esempio seguente crea un cluster di Azure Kubernetes Service (AKS) con il provider di Azure Key Vault per il Secrets Store CSI Driver abilitato.Nota
Se si vuole usare l'ID del carico di lavoro Microsoft Entra, è necessario usare anche i parametri
--enable-oidc-issuer
e--enable-workload-identity
, ad esempio nell'esempio seguente:az aks create --name myAKSCluster --resource-group myResourceGroup --enable-addons azure-keyvault-secrets-provider --enable-oidc-issuer --enable-workload-identity --generate-ssh-keys
az aks create \ --name myAKSCluster \ --resource-group myResourceGroup \ --enable-addons azure-keyvault-secrets-provider \ --generate-ssh-keys
Il comando precedente crea un'identità gestita assegnata dall'utente,
azureKeyvaultSecretsProvider
, per accedere alle risorse di Azure. Nell'esempio seguente viene usata questa identità per connettersi al key vault che archivia i segreti, ma è anche possibile usare altri metodi di accesso con identità. Prendere nota dell'identitàclientId
nell'output...., "addonProfiles": { "azureKeyvaultSecretsProvider": { ..., "identity": { "clientId": "<client-id>", ... } }
Nota
Dopo aver abilitato questa funzionalità, AKS crea un'identità gestita denominata azurekeyvaultsecretsprovider-xxx
nel gruppo di risorse del nodo e la assegna automaticamente al VMSS. È possibile usare questa identità gestita o la propria identità gestita per accedere all'insieme di credenziali delle chiavi. Non è supportato per impedire la creazione dell'identità.
Aggiornare un cluster Azure Kubernetes Service (AKS) esistente con il provider Azure Key Vault per il supporto del Secrets Store CSI Driver.
Aggiornare un cluster del servizio Azure Kubernetes esistente con il provider di Azure Key Vault per la funzionalità del driver CSI dell'archivio segreti usando il
az aks enable-addons
comando e abilitare il componente aggiuntivoazure-keyvault-secrets-provider
. Il componente aggiuntivo crea un'identità gestita assegnata dall'utente che puoi utilizzare per autenticarti nel Key Vault.az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup
Nota
Dopo aver abilitato questa funzionalità, AKS crea un'identità gestita denominata azurekeyvaultsecretsprovider-xxx
nel gruppo di risorse del nodo e la assegna automaticamente al VMSS. È possibile usare questa identità gestita o la propria identità gestita per accedere all'insieme di credenziali delle chiavi. Non è supportato per impedire la creazione dell'identità.
Verificare il provider di Azure Key Vault per l'installazione del Secrets Store CSI Driver.
Ottenere le credenziali del cluster del servizio Azure Kubernetes usando il comando
az aks get-credentials
.az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
Verificare che l'installazione sia terminata usando il comando
kubectl get pods
, che elenca tutti i pod con le etichettesecrets-store-csi-driver
esecrets-store-provider-azure
nello spazio dei nomi kube-system.kubectl get pods -n kube-system -l 'app in (secrets-store-csi-driver,secrets-store-provider-azure)'
L'output dovrebbe essere simile all'esempio di output seguente:
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 4m25s
Verificare che ogni nodo nel pool di nodi del cluster abbia un pod del driver CSI dell'archivio segreti e un pod di Azure del provider di archivi segreti in esecuzione.
Creare o usare un Azure Key Vault esistente
Creare o aggiornare un insieme di credenziali delle chiavi con il controllo degli accessi in base al ruolo di Azure abilitato usando il comando
az keyvault create
o il comandoaz keyvault update
con il flag--enable-rbac-authorization
. Il nome dell'insieme di credenziali delle chiavi deve essere globalmente univoco. Per ulteriori dettagli sui modelli di autorizzazione di Azure Key Vault e sul controllo degli accessi in base al ruolo di Azure, vedere Fornire accesso alle chiavi, ai certificati e ai segreti di Azure Key Vault con un controllo degli accessi in base al ruolo di 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-authorization
Il tuo archivio di chiavi può conservare chiavi, segreti e certificati. In questo esempio usare il comando
az keyvault secret set
per impostare un segreto di testo normale denominatoExampleSecret
.az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecret
Prendere nota delle proprietà seguenti per un uso futuro:
- Nome dell'oggetto segreto nell'insieme di credenziali delle chiavi
- Il tipo di oggetto (segreto, chiave o certificato)
- Nome della risorsa dell'insieme di credenziali delle chiavi
- ID tenant di Azure della sottoscrizione
Passaggi successivi
In questo articolo, hai imparato come usare il provider di Azure Key Vault per Secrets Store CSI Driver in un cluster AKS (Azure Kubernetes Service). È ora necessario fornire un'identità per accedere ad Azure Key Vault. Per informazioni su come, continuare con l'articolo successivo.
Azure Kubernetes Service