De Azure Key Vault-provider gebruiken voor het CSI-stuurprogramma Secrets Store in een AKS-cluster (Azure Kubernetes Service)
Met de Azure Key Vault-provider voor Het CSI-stuurprogramma Secrets Store kan een Azure Key Vault worden geïntegreerd als een geheim archief met een AKS-cluster (Azure Kubernetes Service) via een CSI-volume.
Functies
- Hiermee koppelt u geheimen, sleutels en certificaten aan een pod met behulp van een CSI-volume.
- Ondersteunt inline CSI-volumes.
- Ondersteunt het koppelen van meerdere geheimen opslagobjecten als één volume.
- Ondersteunt draagbaarheid van pods met de
SecretProviderClass
CRD. - Ondersteunt Windows-containers.
- Synchroniseert met Kubernetes-geheimen.
- Ondersteunt automatischerotatie van gekoppelde inhoud en gesynchroniseerde Kubernetes-geheimen.
Beperkingen
Een container met subPath-volumekoppeling ontvangt geen geheime updates wanneer deze wordt geroteerd. Zie Geheimen Store CSI Driver bekende beperkingen voor meer informatie.
Vereisten
- Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
- Controleer of uw versie van de Azure CLI 2.30.0 of hoger is. Als het een eerdere versie is, installeert u de nieuwste versie.
- Als u inkomend verkeer beperkt tot het cluster, controleert u of de poorten 9808 en 8095 zijn geopend.
- De minimaal aanbevolen Kubernetes-versie is gebaseerd op het doorlopende ondersteuningsvenster voor Kubernetes-versies. Zorg ervoor dat u versie N-2 of hoger gebruikt.
Een AKS-cluster maken met Azure Key Vault-provider voor ondersteuning voor Secrets Store CSI-stuurprogramma
Maak een Azure-resourcegroep met behulp van de
az group create
opdracht.az group create --name myResourceGroup --location eastus2
Maak een AKS-cluster met de Azure Key Vault-provider voor het stuurprogramma Secrets Store CSI met behulp van de
az aks create
opdracht met de--enable-addons azure-keyvault-secrets-provider
parameter. De invoegtoepassing maakt een door de gebruiker toegewezen beheerde identiteit die u kunt gebruiken om te verifiëren bij uw sleutelkluis. In het volgende voorbeeld wordt een AKS-cluster gemaakt waarbij de Azure Key Vault-provider voor het CSI-stuurprogramma Secrets Store is ingeschakeld.Notitie
Als u Microsoft Entra Workload-ID wilt gebruiken, moet u ook de
--enable-oidc-issuer
en--enable-workload-identity
parameters gebruiken, zoals in het volgende voorbeeld: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
Met de vorige opdracht maakt u een door de gebruiker toegewezen beheerde identiteit om
azureKeyvaultSecretsProvider
toegang te krijgen tot Azure-resources. In het volgende voorbeeld wordt deze identiteit gebruikt om verbinding te maken met de sleutelkluis waarin de geheimen worden opgeslagen, maar u kunt ook andere methoden voor identiteitstoegang gebruiken. Noteer de identiteitclientId
in de uitvoer...., "addonProfiles": { "azureKeyvaultSecretsProvider": { ..., "identity": { "clientId": "<client-id>", ... } }
Notitie
Nadat u deze functie hebt ingeschakeld, maakt AKS automatisch een beheerde identiteit met de naam azurekeyvaultsecretsprovider-xxx
in de knooppuntresourcegroep en wijst deze automatisch toe aan de VIRTUELE-machineschaalsets (VMSS). U kunt deze beheerde identiteit of uw eigen beheerde identiteit gebruiken voor toegang tot de sleutelkluis. Het wordt niet ondersteund om te voorkomen dat de identiteit wordt gemaakt.
Een bestaand AKS-cluster upgraden met Azure Key Vault-provider voor ondersteuning voor het CSI-stuurprogramma secrets store
Werk een bestaand AKS-cluster bij met de Azure Key Vault-provider voor het stuurprogramma Secrets Store CSI met behulp van de
az aks enable-addons
opdracht en schakel deazure-keyvault-secrets-provider
invoegtoepassing in. De invoegtoepassing maakt een door de gebruiker toegewezen beheerde identiteit die u kunt gebruiken om te verifiëren bij uw sleutelkluis.az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup
Notitie
Nadat u deze functie hebt ingeschakeld, maakt AKS automatisch een beheerde identiteit met de naam azurekeyvaultsecretsprovider-xxx
in de knooppuntresourcegroep en wijst deze automatisch toe aan de VIRTUELE-machineschaalsets (VMSS). U kunt deze beheerde identiteit of uw eigen beheerde identiteit gebruiken voor toegang tot de sleutelkluis. Het wordt niet ondersteund om te voorkomen dat de identiteit wordt gemaakt.
Controleer de Azure Key Vault-provider voor de installatie van het stuurprogramma Secrets Store CSI
Haal de AKS-clusterreferenties op met behulp van de opdracht [
az aks get-credentials
][az-aks-get-credentials].az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
Controleer of de installatie is voltooid met behulp van de
kubectl get pods
opdracht, waarin alle pods met desecrets-store-csi-driver
ensecrets-store-provider-azure
labels in de kube-system-naamruimte worden vermeld.kubectl get pods -n kube-system -l 'app in (secrets-store-csi-driver,secrets-store-provider-azure)'
De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:
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
Controleer of elk knooppunt in de knooppuntgroep van uw cluster een pod voor het CSI-stuurprogramma Secrets Store en een Azure-pod van de Geheimen Store-provider heeft.
Een bestaande Azure Key Vault maken of gebruiken
Een sleutelkluis maken of bijwerken met op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) ingeschakeld met behulp van de
az keyvault create
opdracht of deaz keyvault update
opdracht met de--enable-rbac-authorization
vlag. De naam van de sleutelkluis moet wereldwijd uniek zijn. Zie Toegang bieden tot Key Vault-sleutels, -certificaten en -geheimen met een op rollen gebaseerd toegangsbeheer van Azure voor meer informatie over sleutelkluismachtigingsmodellen en Azure RBAC## 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
Uw sleutelkluis kan sleutels, geheimen en certificaten opslaan. In dit voorbeeld gebruikt u de opdracht om een geheim zonder opmaak in te stellen met de
az keyvault secret set
naamExampleSecret
.az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecret
Noteer de volgende eigenschappen voor toekomstig gebruik:
- De naam van het geheime object in de sleutelkluis
- Het objecttype (geheim, sleutel of certificaat)
- De naam van uw sleutelkluisresource
- De Azure-tenant-id van het abonnement
Volgende stappen
In dit artikel hebt u geleerd hoe u de Azure Key Vault-provider voor het CSI-stuurprogramma Secrets Store gebruikt in een AKS-cluster. U moet nu een identiteit opgeven voor toegang tot Azure Key Vault. Als u wilt weten hoe u dit kunt doen, gaat u verder met het volgende artikel.
Azure Kubernetes Service