Självstudie: Använda Azure Key Vault-providern för Secrets Store CSI-drivrutinen i ett AKS-kluster (Azure Kubernetes Service)
Lär dig hur du ansluter till Azure Key Vault med CSI-drivrutinen i ett AKS-kluster (Azure Kubernetes Service) med hjälp av Service Connector. I den här självstudien slutför du följande uppgifter:
- Skapa ett AKS-kluster och ett Azure Key Vault.
- Skapa en anslutning mellan AKS-klustret och Azure Key Vault med Service Connector.
- Skapa en
SecretProviderClass
CRD och enpod
som använder CSI-providern för att testa anslutningen. - Rensa resurser.
Viktigt!
Service Connect i AKS är för närvarande i förhandsversion. Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.
Varning
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Det autentiseringsflöde som beskrivs i den här proceduren kräver mycket stort förtroende för programmet och medför risker som inte finns i andra flöden. Du bör bara använda det här flödet när andra säkrare flöden, till exempel hanterade identiteter, inte är livskraftiga.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Installera Azure CLI och logga in på Azure CLI med kommandot az login .
- Installera Dockeroch kubectl för att hantera containeravbildningar och Kubernetes-resurser.
- En grundläggande förståelse för container och AKS. Kom igång från att förbereda ett program för AKS.
Skapa Azure-resurser
Skapa en resursgrupp för den här självstudien.
az group create \ --name MyResourceGroup \ --location eastus
Skapa ett AKS-kluster med följande kommando eller referera till självstudien. Det här är klustret där vi skapar tjänstanslutningen, podddefinitionen och distribuerar exempelprogrammet till.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1
Anslut till klustret med följande kommando.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Skapa ett Azure Key Vault med följande kommando eller referera till självstudien. Det här är måltjänsten som är ansluten till AKS-klustret och CSI-drivrutinen synkroniserar hemligheter från.
az keyvault create \ --resource-group MyResourceGroup \ --name MyKeyVault \ --location EastUS
Skapa en hemlighet i Key Vault med följande kommando.
az keyvault secret set \ --vault-name MyKeyVault \ --name ExampleSecret \ --value MyAKSExampleSecret
Skapa en tjänstanslutning i AKS med Service Connector (förhandsversion)
Skapa en tjänstanslutning mellan ett AKS-kluster och ett Azure Key Vault med hjälp av Azure Portal eller Azure CLI.
Öppna Kubernetes-tjänsten i Azure Portal och välj Service Connector på den vänstra menyn.
Välj Skapa och fyll i inställningarna enligt nedan. Lämna de andra inställningarna med sina standardvärden.
Inställning Alternativ beskrivning Kubernetes-namnområde standard Namnområdet där du behöver anslutningen i klustret. Typ av tjänst Key Vault (aktivera CSI) Välj Key Vault som måltjänsttyp och kontrollera alternativet för att aktivera CSI. Anslutningens namn keyvault_conn Använd anslutningsnamnet som tillhandahålls av Service Connector eller välj ditt eget anslutningsnamn. Abonnemang <MySubscription>
Prenumerationen för din Azure Key Vault-måltjänst. Nyckelvalv <MyKeyVault>
Det målnyckelvalv som du vill ansluta till. Klienttyp Python Det kodspråk eller ramverk som du använder för att ansluta till måltjänsten. När anslutningen har skapats visar sidan Service Connector information om den nya anslutningen.
Testa anslutningen
Klona exempellagringsplatsen:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Gå till lagringsplatsens exempelmapp för Azure Key Vault:
cd serviceconnector-aks-samples/azure-keyvault-csi-provider
Ersätt platshållarna i
secret_provider_class.yaml
filen iazure-keyvault-csi-provider
mappen.- Ersätt
<AZURE_KEYVAULT_NAME>
med namnet på nyckelvalvet som vi skapade och anslöt. Du kan få värdet från Azure Portal för Service Connector. - Ersätt
<AZURE_KEYVAULT_TENANTID>
med klientorganisations-ID:t för nyckelvalvet. Du kan få värdet från Azure Portal för Service Connector. - Ersätt
<AZURE_KEYVAULT_CLIENTID>
med identitetsklient-ID förazureKeyvaultSecretsProvider
tillägget. Du kan få värdet från Azure Portal för Service Connector. - Ersätt
<KEYVAULT_SECRET_NAME>
med namnet på nyckelvalvets hemlighet som vi skapade, till exempelExampleSecret
- Ersätt
Distribuera Kubernetes-resurserna till klustret med
kubectl apply
kommandot . Installerakubectl
lokalt med kommandot az aks install-cli om det inte är installerat.SecretProviderClass
Distribuera CRD.
kubectl apply -f secret_provider_class.yaml
pod
Distribuera . Kommandot skapar en podd med namnetsc-demo-keyvault-csi
i standardnamnområdet för aks-klustret.
kubectl apply -f pod.yaml
Kontrollera att distributionen lyckas genom att visa podden med
kubectl
.kubectl get pod/sc-demo-keyvault-csi
När podden har startats är det monterade innehållet på den volymsökväg som anges i din distributions-YAML tillgängligt. Använd följande kommandon för att verifiera dina hemligheter och skriva ut en testhemlighet.
- Visa hemligheter som lagras i hemlighetsarkivet med hjälp av följande kommando.
kubectl exec sc-demo-keyvault-csi -- ls /mnt/secrets-store/
- Visa en hemlighet i arkivet med hjälp av följande kommando. Det här exempelkommandot visar testhemligheten
ExampleSecret
.
kubectl exec sc-demo-keyvault-csi -- cat /mnt/secrets-store/ExampleSecret
Rensa resurser
Om du inte behöver återanvända de resurser som du har skapat i den här självstudien tar du bort alla resurser som du har skapat genom att ta bort resursgruppen.
az group delete \
--resource-group MyResourceGroup
Nästa steg
Läs följande artiklar om du vill veta mer om begrepp för Service Connector och hur det hjälper AKS att ansluta till tjänster.