Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de Azure Key Vault-provider voor het CSI-stuurprogramma Secrets Store kan een Azure Key Vault worden geïntegreerd als een geheime opslag 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 monteren van meerdere geheimenopslagobjecten als één volume.
- Ondersteunt draagbaarheid van pods met de
SecretProviderClassCRD. - Ondersteunt Windows-containers.
- Synchroniseert met Kubernetes-geheimen.
- Ondersteunt automatischerotatie van gekoppelde inhoud en gesynchroniseerde Kubernetes-geheimen.
Beperkingen
- Een container die een
ConfigMapofSecretalssubPathvolumekoppeling gebruikt, ontvangt geen automatische updates wanneer het geheim wordt vernieuwd. Dit is een Kubernetes-beperking. Om de wijzigingen van kracht te laten worden, moet de toepassing het gewijzigde bestand opnieuw laden door te kijken naar wijzigingen in het bestandssysteem of door de pod opnieuw te starten. Raadpleeg Secrets Store CSI Driver bekende beperkingen voor meer informatie. - De invoegtoepassing creëert een beheerde identiteit met de naam
azurekeyvaultsecretsprovider-xxxin de knooppuntresourcegroep en wijst deze automatisch toe aan de Virtual Machine Scale Sets (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 een identiteit gecreëerd wordt.
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.
Netwerk
- Als u geïsoleerde netwerkclusters gebruikt, is het raadzaam om een privé-eindpunt in te stellen voor toegang tot Azure Key Vault.
- Als het cluster een uitgaand type
userDefinedRoutingheeft en een firewallapparaat gebruikt dat uitgaand verkeer kan beheren op basis van domeinnamen, zoals Azure Firewall, moet u ervoor zorgen dat de vereiste uitgaande netwerkregels en FQDN's zijn toegestaan. - Als u inkomend verkeer beperkt tot het cluster, controleert u of de poorten 9808 en 8095 zijn geopend.
Rollen
- De identiteit die wordt gebruikt met de
SecretProviderClassmoetKey Vault Certificate Userhebben om toegang te krijgen totkeyofcertificateobjecttypen. - De identiteit die met de
SecretProviderClasswordt gebruikt, moetKey Vault Secrets Userhebben om toegang te krijgen tot hetsecretobjecttype.
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 createopdracht.az group create --name myResourceGroup --location eastus2Maak een AKS-cluster met de Azure Key Vault-provider voor het stuurprogramma Secrets Store CSI met behulp van de
az aks createopdracht met de--enable-addons azure-keyvault-secrets-providerparameter. De invoegtoepassing maakt een door de gebruiker toegewezen beheerde identiteit die u kunt gebruiken om te authenticeren 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-issueren--enable-workload-identityparameters 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-keysaz aks create \ --name myAKSCluster \ --resource-group myResourceGroup \ --enable-addons azure-keyvault-secrets-provider \ --generate-ssh-keysMet de vorige opdracht maakt u een door de gebruiker toegewezen beheerde identiteit om
azureKeyvaultSecretsProvidertoegang 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. Let op de identiteitclientIdin 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 een identiteit gecreëerd wordt.
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-addonsopdracht en schakel deazure-keyvault-secrets-providerinvoegtoepassing in. De invoegtoepassing maakt een door de gebruiker toegewezen beheerde identiteit die u kunt gebruiken om te authenticeren 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 een identiteit gecreëerd wordt.
Controleer de Azure Key Vault-provider voor de installatie van het stuurprogramma Secrets Store CSI
Haal de AKS-clusterreferenties op met behulp van de
az aks get-credentialsopdracht.az aks get-credentials --name myAKSCluster --resource-group myResourceGroupControleer of de installatie is voltooid met behulp van de
kubectl get podsopdracht, waarin alle pods met desecrets-store-csi-driverensecrets-store-provider-azurelabels 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 4m25sControleer of elk knooppunt in de knooppuntgroep van uw cluster een Secrets Store CSI Driver-pod en een Secrets Store Provider Azure-pod 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 createopdracht of deaz keyvault updateopdracht met de--enable-rbac-authorizationvlag. 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-authorizationUw sleutelkluis kan sleutels, geheimen en certificaten opslaan. In dit voorbeeld gebruikt u de
az keyvault secret setopdracht om een tekstgeheim genaamdExampleSecretin te stellen.az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecretNoteer 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.