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.
Meer informatie over het maken van verbinding met Azure Key Vault met behulp van het CSI-stuurprogramma in een AKS-cluster (Azure Kubernetes Service) met behulp van Service Connector. In deze zelfstudie voert u de volgende taken uit:
- Maak een AKS-cluster en een Azure Key Vault.
- Maak een verbinding tussen het AKS-cluster en de Azure Key Vault met Service Connector.
- Maak een
SecretProviderClassCRD en eenpodverbruik van de CSI-provider om de verbinding te testen. - Schoon resources op.
Waarschuwing
Microsoft raadt u aan de veiligste verificatiestroom te gebruiken die beschikbaar is. De verificatiestroom die in deze procedure wordt beschreven, vereist een hoge mate van vertrouwen in de toepassing en brengt risico's met zich mee die niet aanwezig zijn in andere stromen. U moet deze stroom alleen gebruiken wanneer andere veiligere stromen, zoals beheerde identiteiten, niet haalbaar zijn.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Installeer de Azure CLI en meld u aan bij Azure CLI met behulp van de opdracht az login .
- Installeer Dockeren kubectl om containerinstallatiekopieën en Kubernetes-resources te beheren.
- Basiskennis van container en AKS. Ga aan de slag met het voorbereiden van een toepassing voor AKS.
Azure-resources maken
Maak een resourcegroep voor deze zelfstudie.
az group create \ --name MyResourceGroup \ --location eastusMaak een AKS-cluster met de volgende opdracht of raadpleeg de zelfstudie. In dit cluster maken we de serviceverbinding, de poddefinitie en waar de voorbeeldtoepassing wordt geïmplementeerd.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1Maak verbinding met het cluster met de volgende opdracht.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusterMaak een Azure Key Vault met de volgende opdracht of raadpleeg de zelfstudie. Deze doelservice is verbonden met het AKS-cluster en is de service waaruit het CSI-stuurprogramma geheimen synchroniseert.
az keyvault create \ --resource-group MyResourceGroup \ --name MyKeyVault \ --location EastUSMaak een geheim in de Sleutelkluis met de volgende opdracht.
az keyvault secret set \ --vault-name MyKeyVault \ --name ExampleSecret \ --value MyAKSExampleSecret
Een serviceverbinding maken in AKS met serviceconnector
Maak een serviceverbinding tussen een AKS-cluster en een Azure Key Vault met behulp van Azure Portal of de Azure CLI.
Open uw Kubernetes-service in Azure Portal en selecteer Serviceconnector in het linkermenu.
Selecteer Maken en vul de volgende instellingen in. Laat de andere instellingen ongewijzigd met de standaardwaarden.
Instelling Keuze Beschrijving Kubernetes-naamruimte default De naamruimte waar u de verbinding in het cluster nodig hebt. Servicetype Key Vault (CSI inschakelen) Kies Key Vault als doelservicetype en schakel de CSI-optie in . Verbindingsnaam keyvault_conn Gebruik de verbindingsnaam die is opgegeven door Service Connector of kies uw eigen verbindingsnaam. Abonnement <MySubscription>Het abonnement voor uw Azure Key Vault-doelservice. Sleutelkluis <MyKeyVault>De doelsleutelkluis waarmee u verbinding wilt maken. Clienttype Python De codetaal of het framework dat u gebruikt om verbinding te maken met de doelservice. Zodra de verbinding is gemaakt, geeft de pagina Serviceconnector informatie weer over de nieuwe verbinding.
Test de verbinding
Kloon de voorbeeldopslagplaats:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.gitGa naar de voorbeeldmap van de opslagplaats voor Azure Key Vault:
cd serviceconnector-aks-samples/azure-keyvault-csi-providerVervang de tijdelijke aanduidingen in het
secret_provider_class.yamlbestand in deazure-keyvault-csi-providermap.- Vervang door
<AZURE_KEYVAULT_NAME>de naam van de sleutelkluis die we hebben gemaakt en verbonden. U kunt de waarde ophalen uit de Azure-portal van Service Connector. - Vervang door
<AZURE_KEYVAULT_TENANTID>de tenant-id van de sleutelkluis. U kunt de waarde ophalen uit de Azure-portal van Service Connector. - Vervang door
<AZURE_KEYVAULT_CLIENTID>de id-client-id van deazureKeyvaultSecretsProviderinvoegtoepassing. U kunt de waarde ophalen uit de Azure-portal van Service Connector. - Vervang door
<KEYVAULT_SECRET_NAME>de naam van het sleutelkluisgeheim dat we hebben gemaakt, bijvoorbeeldExampleSecret
- Vervang door
Implementeer de Kubernetes-resources in uw cluster met de
kubectl applyopdracht. Installeerkubectllokaal met behulp van de opdracht az aks install-cli als deze niet is geïnstalleerd.Implementeer de definitie van de
SecretProviderClassaangepaste resource (CRD).kubectl apply -f secret_provider_class.yamlImplementeer de
pod. Met de opdracht maakt u een pod met de naam insc-demo-keyvault-cside standaardnaamruimte van uw AKS-cluster.kubectl apply -f pod.yaml
Controleer of de implementatie is geslaagd door de pod weer te geven met
kubectl.kubectl get pod/sc-demo-keyvault-csiNadat de pod is gestart, is de gekoppelde inhoud op het volumepad dat is opgegeven in uw YAML-implementatie beschikbaar. Gebruik de volgende opdrachten om uw geheimen te valideren en een testgeheim af te drukken.
Geef geheimen weer die zijn opgeslagen in het geheimenarchief met behulp van de volgende opdracht.
kubectl exec sc-demo-keyvault-csi -- ls /mnt/secrets-store/Geef een geheim weer in de store met behulp van de volgende opdracht. Met deze voorbeeldopdracht wordt het testgeheim
ExampleSecretweergegeven.kubectl exec sc-demo-keyvault-csi -- cat /mnt/secrets-store/ExampleSecret
Resources opschonen
Als u de resources die u in deze zelfstudie hebt gemaakt niet opnieuw hoeft te gebruiken, verwijdert u alle resources die u hebt gemaakt door de resourcegroep te verwijderen.
az group delete \
--resource-group MyResourceGroup
Volgende stappen
Lees de volgende artikelen voor meer informatie over serviceconnectorconcepten en hoe het AKS helpt om verbinding te maken met services.