Delen via


Zelfstudie: De Azure Key Vault-provider gebruiken voor het CSI-stuurprogramma Secrets Store in een AKS-cluster (Azure Kubernetes Service)

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 SecretProviderClass CRD en een pod verbruik van de CSI-provider om de verbinding te testen.
  • Schoon resources op.

Belangrijk

Service Connect binnen AKS is momenteel in preview. Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.

Waarschuwing

Microsoft raadt u aan de veiligste verificatiestroom te gebruiken die beschikbaar is. De verificatiestroom die in deze procedure wordt beschreven, vereist een zeer 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

Azure-resources maken

  1. Maak een resourcegroep voor deze zelfstudie.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Maak een AKS-cluster met de volgende opdracht of raadpleeg de zelfstudie. Dit is het cluster waarin we de serviceverbinding, poddefinitie maken en de voorbeeldtoepassing implementeren.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1
    
  3. Maak verbinding met het cluster met de volgende opdracht.

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Maak een Azure Key Vault met de volgende opdracht of raadpleeg de zelfstudie. Dit is de doelservice die is verbonden met het AKS-cluster en het CSI-stuurprogramma synchroniseert geheimen van.

    az keyvault create \
        --resource-group MyResourceGroup \  
        --name MyKeyVault \
        --location EastUS
    
  5. Maak 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 Service Connector (preview)

Maak een serviceverbinding tussen een AKS-cluster en een Azure Key Vault met behulp van Azure Portal of de Azure CLI.

  1. Open uw Kubernetes-service in Azure Portal en selecteer Serviceconnector in het linkermenu.

  2. Selecteer Maken en vul de instellingen in, zoals hieronder wordt weergegeven. 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 optie in om CSI in te schakelen.
    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.
  3. Zodra de verbinding is gemaakt, geeft de pagina Serviceconnector informatie weer over de nieuwe verbinding.

    Schermopname van Azure Portal, waarin kubernetes-resources worden weergegeven die zijn gemaakt door Service Connector.

Test de verbinding

  1. Kloon de voorbeeldopslagplaats:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Ga naar de voorbeeldmap van de opslagplaats voor Azure Key Vault:

    cd serviceconnector-aks-samples/azure-keyvault-csi-provider
    
  3. Vervang de tijdelijke aanduidingen in het secret_provider_class.yaml bestand in de azure-keyvault-csi-provider map.

    • Vervang door <AZURE_KEYVAULT_NAME> de naam van de sleutelkluis die we hebben gemaakt en verbonden. Mogelijk krijgt u de waarde van Azure Portal van Service Connector.
    • Vervang door <AZURE_KEYVAULT_TENANTID> de tenant-id van de sleutelkluis. Mogelijk krijgt u de waarde van Azure Portal van Service Connector.
    • Vervang door <AZURE_KEYVAULT_CLIENTID> de id-client-id van de azureKeyvaultSecretsProvider invoegtoepassing. Mogelijk krijgt u de waarde van Azure Portal van Service Connector.
    • Vervang door <KEYVAULT_SECRET_NAME> de naam van het sleutelkluisgeheim dat we hebben gemaakt, bijvoorbeeld ExampleSecret
  4. Implementeer de Kubernetes-resources in uw cluster met de kubectl apply opdracht. Installeer kubectl lokaal met behulp van de opdracht az aks install-cli als deze niet is geïnstalleerd.

    1. Implementeer de SecretProviderClass CRD.
    kubectl apply -f secret_provider_class.yaml
    
    1. Implementeer de pod. Met de opdracht maakt u een pod met de naam in sc-demo-keyvault-csi de standaardnaamruimte van uw AKS-cluster.
    kubectl apply -f pod.yaml
    
  5. Controleer of de implementatie is geslaagd door de pod weer te geven met kubectl.

    kubectl get pod/sc-demo-keyvault-csi
    
  6. Nadat 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.