Použití poskytovatele služby Azure Key Vault pro ovladač CSI úložiště tajných kódů v clusteru Azure Kubernetes Service (AKS)
Poskytovatel služby Azure Key Vault pro ovladač CSI úložiště tajných kódů umožňuje integraci služby Azure Key Vault jako úložiště tajných kódů s clusterem Azure Kubernetes Service (AKS) prostřednictvím svazku CSI.
Funkce
- Připojí tajné kódy, klíče a certifikáty k podu pomocí svazku CSI.
- Podporuje vložené svazky CSI.
- Podporuje připojení více objektů úložiště tajných kódů jako jednoho svazku.
- Podporuje přenositelnost podů
SecretProviderClass
pomocí CRD. - Podporuje kontejnery Windows.
- Synchronizuje se s tajnými kódy Kubernetes.
- Podporuje automatické zotestování připojeného obsahu a synchronizovaných tajných kódů Kubernetes.
Omezení
Kontejner používající připojení svazku subPath nepřijímá aktualizace tajných kódů, když je otočený. Další informace naleznete v tématu Známé omezení ovladače CSI úložiště tajných kódů.
Požadavky
- Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Zkontrolujte, jestli je vaše verze Azure CLI 2.30.0 nebo novější. Pokud se jedná o starší verzi, nainstalujte nejnovější verzi.
- Pokud omezujete příchozí přenos dat do clusteru, ujistěte se, že jsou otevřené porty 9808 a 8095 .
- Minimální doporučená verze Kubernetes je založená na postupném okně podpory verzí Kubernetes. Ujistěte se, že používáte verzi N-2 nebo novější.
Vytvoření clusteru AKS s zprostředkovatelem služby Azure Key Vault pro podporu ovladačů CSI úložiště tajných kódů
Pomocí příkazu vytvořte skupinu
az group create
prostředků Azure.az group create --name myResourceGroup --location eastus2
Pomocí příkazu s
--enable-addons azure-keyvault-secrets-provider
parametrem vytvořte cluster AKS s zprostředkovatelem služby Azure Key Vault pro funkci ovladače CSI úložiště tajných kódůaz aks create
. Doplněk vytvoří spravovanou identitu přiřazenou uživatelem, kterou můžete použít k ověření ve vašem trezoru klíčů. Následující příklad vytvoří cluster AKS s poskytovatelem služby Azure Key Vault pro povolený ovladač CSI úložiště tajných kódů.Poznámka:
Pokud chcete použít ID úloh Microsoft Entra, musíte také použít
--enable-oidc-issuer
parametry a--enable-workload-identity
parametry, například v následujícím příkladu:az aks create --name myAKSCluster --resource-group myResourceGroup --enable-addons azure-keyvault-secrets-provider --enable-oidc-issuer --enable-workload-identity --generate-ssh-keys
az aks create \ --name myAKSCluster \ --resource-group myResourceGroup \ --enable-addons azure-keyvault-secrets-provider \ --generate-ssh-keys
Předchozí příkaz vytvoří spravovanou identitu přiřazenou uživatelem pro
azureKeyvaultSecretsProvider
přístup k prostředkům Azure. Následující příklad používá tuto identitu pro připojení k trezoru klíčů, který ukládá tajné kódy, ale můžete také použít jiné metody přístupu k identitě. Poznamenejte si identituclientId
ve výstupu...., "addonProfiles": { "azureKeyvaultSecretsProvider": { ..., "identity": { "clientId": "<client-id>", ... } }
Poznámka:
Po povolení této funkce vytvoří AKS spravovanou identitu pojmenovanou azurekeyvaultsecretsprovider-xxx
ve skupině prostředků uzlu a automaticky ji přiřadí ke škálovacím sadám virtuálních počítačů (VMSS). Tuto spravovanou identitu nebo vlastní spravovanou identitu můžete použít pro přístup k trezoru klíčů. Nepodporuje se, aby se zabránilo vytvoření identity.
Upgrade existujícího clusteru AKS pomocí poskytovatele služby Azure Key Vault pro podporu ovladačů CSI úložiště tajných kódů
Pomocí příkazu upgradujte existující cluster AKS pomocí poskytovatele služby Azure Key Vault pro funkci ovladače CSI úložiště tajných kódů
az aks enable-addons
a povolteazure-keyvault-secrets-provider
doplněk. Doplněk vytvoří spravovanou identitu přiřazenou uživatelem, kterou můžete použít k ověření ve vašem trezoru klíčů.az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup
Poznámka:
Po povolení této funkce vytvoří AKS spravovanou identitu pojmenovanou azurekeyvaultsecretsprovider-xxx
ve skupině prostředků uzlu a automaticky ji přiřadí ke škálovacím sadám virtuálních počítačů (VMSS). Tuto spravovanou identitu nebo vlastní spravovanou identitu můžete použít pro přístup k trezoru klíčů. Nepodporuje se, aby se zabránilo vytvoření identity.
Ověření poskytovatele služby Azure Key Vault pro instalaci ovladače CSI úložiště tajných kódů
Pomocí příkazu [
az aks get-credentials
][az-aks-get-credentials] získejte přihlašovací údaje clusteru AKS.az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
Pomocí příkazu ověřte, že se instalace dokončila
kubectl get pods
. Zobrazí se seznam všech podů ssecrets-store-csi-driver
popiskysecrets-store-provider-azure
v oboru názvů kube-system.kubectl get pods -n kube-system -l 'app in (secrets-store-csi-driver,secrets-store-provider-azure)'
Výstup by měl vypadat podobně jako v následujícím příkladu výstupu:
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 4m25s
Ověřte, že každý uzel ve fondu uzlů clusteru má pod ovladače CSI úložiště tajných kódů a spuštěný pod Azure zprostředkovatele úložiště tajných kódů.
Vytvoření nebo použití existující služby Azure Key Vault
Vytvořte nebo aktualizujte trezor klíčů s povoleným řízením přístupu na základě role v Azure (Azure RBAC) pomocí
az keyvault create
příkazu neboaz keyvault update
příkazu s příznakem--enable-rbac-authorization
. Název trezoru klíčů musí být globálně jedinečný. Další podrobnosti o modelech oprávnění trezoru klíčů a Azure RBAC najdete v tématu Poskytnutí přístupu k klíčům, certifikátům a tajným kódům služby Key Vault pomocí řízení přístupu na základě role v 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-authorization
Trezor klíčů může ukládat klíče, tajné kódy a certifikáty. V tomto příkladu
az keyvault secret set
použijte příkaz k nastavení tajného kódu prostého textu s názvemExampleSecret
.az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecret
Poznamenejte si následující vlastnosti pro budoucí použití:
- Název tajného objektu v trezoru klíčů
- Typ objektu (tajný klíč, klíč nebo certifikát)
- Název prostředku trezoru klíčů
- ID tenanta Azure předplatného
Další kroky
V tomto článku jste zjistili, jak používat zprostředkovatele služby Azure Key Vault pro ovladač CSI úložiště tajných kódů v clusteru AKS. Teď potřebujete zadat identitu pro přístup ke službě Azure Key Vault. Další informace najdete v dalším článku.
Azure Kubernetes Service