Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dostawca usługi Azure Key Vault dla sterownika CSI magazynu wpisów tajnych umożliwia integrację usługi Azure Key Vault jako magazynu wpisów tajnych z klastrem usługi Azure Kubernetes Service (AKS) za pośrednictwem woluminu CSI.
Funkcje
- Instaluje wpisy tajne, klucze i certyfikaty w zasobniku przy użyciu woluminu CSI.
- Obsługuje woluminy wbudowane CSI.
- Obsługuje instalowanie wielu wpisów tajnych magazynu obiektów jako pojedynczego woluminu.
- Obsługuje przenośność zasobnika za pomocą crD
SecretProviderClass. - Obsługuje kontenery systemu Windows.
- Synchronizuje się z wpisami tajnymi platformy Kubernetes.
- Obsługuje autorotytację zainstalowanej zawartości i zsynchronizowanych wpisów tajnych platformy Kubernetes.
Ograniczenia
- Kontener korzystający z punktu montowania woluminu
ConfigMaplubSecretjakosubPathnie otrzymuje automatycznych aktualizacji, gdy sekret jest rotowany. Jest to ograniczenie platformy Kubernetes. Aby zmiany zaczęły obowiązywać, aplikacja musi ponownie załadować zmieniony plik, obserwując zmiany w systemie plików lub ponownie uruchamiając zasobnik. Aby uzyskać więcej informacji, zobacz Secrets Store CSI Driver known limitations (Znane ograniczenia sterownika CSI magazynu wpisów tajnych). - Dodatek tworzy tożsamość zarządzaną o nazwie
azurekeyvaultsecretsprovider-xxxw grupie zasobów węzła i przypisuje ją automatycznie do zestawów skalowania maszyn wirtualnych (VMSS). Możesz użyć tej tożsamości zarządzanej lub własnej tożsamości zarządzanej, aby uzyskać dostęp do magazynu kluczy. Nie jest obsługiwane zapobieganie tworzeniu tożsamości.
Wymagania wstępne
- Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Sprawdź, czy wersja interfejsu wiersza polecenia platformy Azure to 2.30.0 lub nowsza. Jeśli jest to starsza wersja, zainstaluj najnowszą wersję.
Sieć
- W przypadku korzystania z izolowanych klastrów sieci zaleca się skonfigurowanie prywatnego punktu końcowego w celu uzyskania dostępu do usługi Azure Key Vault.
- Jeśli klaster ma typ
userDefinedRoutingruchu wychodzącego i używa urządzenia zapory, które potrafi kontrolować ruch na podstawie nazw domen, jak Azure Firewall, upewnij się, że wymagane reguły ruchu wychodzącego i FQDN są dozwolone. - Jeśli ograniczasz ruch przychodzący do klastra, upewnij się, że porty 9808 i 8095 są otwarte.
Role
- Tożsamość używana z
SecretProviderClassmusi miećKey Vault Certificate Useraby uzyskać dostęp dokeylubcertificatetypów obiektów. - Tożsamość używana w programie
SecretProviderClassmusi miećKey Vault Secrets Userdostępsecretdo typu obiektu.
Tworzenie klastra usługi AKS za pomocą dostawcy usługi Azure Key Vault dla obsługi sterowników CSI magazynu wpisów tajnych
Utwórz grupę zasobów platformy Azure przy użyciu
az group createpolecenia .az group create --name myResourceGroup --location eastus2Utwórz klaster usługi AKS za pomocą dostawcy usługi Azure Key Vault dla funkcji sterownika CSI magazynu wpisów tajnych przy użyciu
az aks createpolecenia z parametrem--enable-addons azure-keyvault-secrets-provider. Dodatek tworzy tożsamość zarządzaną przypisaną przez użytkownika, której można użyć do uwierzytelniania w magazynie kluczy. Poniższy przykład tworzy klaster usługi AKS z włączonym dostawcą usługi Azure Key Vault dla sterownika CSI magazynu wpisów tajnych.Uwaga
Jeśli chcesz użyć Tożsamość obciążeń Microsoft Entra, musisz również użyć
--enable-oidc-issuerparametrów i--enable-workload-identity, takich jak w poniższym przykładzie: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-keysPoprzednie polecenie tworzy tożsamość zarządzaną przypisaną przez użytkownika,
azureKeyvaultSecretsProvider, aby uzyskać dostęp do zasobów platformy Azure. W poniższym przykładzie użyto tej tożsamości do nawiązania połączenia z magazynem kluczy, który przechowuje wpisy tajne, ale można również użyć innych metod dostępu do tożsamości. Zanotuj wartości tożsamościclientIdw danych wyjściowych...., "addonProfiles": { "azureKeyvaultSecretsProvider": { ..., "identity": { "clientId": "<client-id>", ... } }
Uwaga
Po włączeniu tej funkcji usługa AKS automatycznie tworzy tożsamość zarządzaną o nazwie azurekeyvaultsecretsprovider-xxx w grupie zasobów węzła i przypisuje ją do zestawów skalowania maszyn wirtualnych (VMSS). Możesz użyć tej tożsamości zarządzanej lub własnej tożsamości zarządzanej, aby uzyskać dostęp do magazynu kluczy. Nie jest obsługiwane zapobieganie tworzeniu tożsamości.
Uaktualnianie istniejącego klastra usługi AKS za pomocą dostawcy usługi Azure Key Vault na potrzeby obsługi sterowników CSI magazynu wpisów tajnych
Uaktualnij istniejący klaster usługi AKS za pomocą dostawcy usługi Azure Key Vault dla funkcji sterownika CSI magazynu wpisów tajnych przy użyciu
az aks enable-addonspolecenia i włączazure-keyvault-secrets-providerdodatek. Dodatek tworzy tożsamość zarządzaną przypisaną przez użytkownika, której można użyć do uwierzytelniania w magazynie kluczy.az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup
Uwaga
Po włączeniu tej funkcji usługa AKS automatycznie tworzy tożsamość zarządzaną o nazwie azurekeyvaultsecretsprovider-xxx w grupie zasobów węzła i przypisuje ją do zestawów skalowania maszyn wirtualnych (VMSS). Możesz użyć tej tożsamości zarządzanej lub własnej tożsamości zarządzanej, aby uzyskać dostęp do magazynu kluczy. Nie jest obsługiwane zapobieganie tworzeniu tożsamości.
Weryfikowanie dostawcy usługi Azure Key Vault dla instalacji sterownika CSI magazynu wpisów tajnych
Pobierz poświadczenia klastra AKS za pomocą polecenia
az aks get-credentials.az aks get-credentials --name myAKSCluster --resource-group myResourceGroupSprawdź, czy instalacja została zakończona przy użyciu
kubectl get podspolecenia , które wyświetla listę wszystkich zasobników z etykietamisecrets-store-csi-driverisecrets-store-provider-azurew przestrzeni nazw kube-system.kubectl get pods -n kube-system -l 'app in (secrets-store-csi-driver,secrets-store-provider-azure)'Dane wyjściowe powinny wyglądać podobnie do następujących przykładowych danych wyjściowych:
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 4m25sSprawdź, czy każdy węzeł w puli węzłów klastra ma zasobnik sterownika CSI Magazynu wpisów tajnych i zasobnik dostawcy magazynu wpisów tajnych uruchomiony na platformie Azure.
Tworzenie lub używanie istniejącej usługi Azure Key Vault
Utwórz lub zaktualizuj magazyn kluczy za pomocą kontroli dostępu opartej na rolach platformy Azure (RBAC) włączonej
az keyvault createza pomocą polecenia lubaz keyvault updatepolecenia z flagą--enable-rbac-authorization. Nazwa magazynu kluczy musi być globalnie unikatowa. Aby uzyskać więcej informacji na temat modeli uprawnień magazynu kluczy i kontroli dostępu opartej na rolach platformy Azure, zobacz Zapewnianie dostępu do kluczy, certyfikatów i wpisów tajnych usługi Key Vault przy użyciu kontroli dostępu opartej na rolach platformy Azure## 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-authorizationMagazyn kluczy może przechowywać klucze, wpisy tajne i certyfikaty. W tym przykładzie
az keyvault secret setużyj polecenia , aby ustawić wpis tajny w postaci zwykłego tekstu o nazwieExampleSecret.az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecretZanotuj następujące właściwości do użycia w przyszłości:
- Nazwa obiektu wpisu tajnego w magazynie kluczy
- Typ obiektu (wpis tajny, klucz lub certyfikat)
- Nazwa zasobu magazynu kluczy
- Identyfikator dzierżawy platformy Azure subskrypcji
Następne kroki
W tym artykule przedstawiono sposób używania dostawcy usługi Azure Key Vault dla sterownika CSI magazynu wpisów tajnych w klastrze usługi AKS. Teraz musisz podać tożsamość, aby uzyskać dostęp do usługi Azure Key Vault. Aby dowiedzieć się, jak to zrobić, przejdź do następnego artykułu.