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ů

  1. Pomocí příkazu vytvořte skupinu az group create prostředků Azure.

    az group create --name myResourceGroup --location eastus2
    
  2. Pomocí příkazu s parametrem --enable-managed-identity a --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
    
    az aks create --name myAKSCluster --resource-group myResourceGroup --enable-managed-identity --enable-addons azure-keyvault-secrets-provider
    
  3. Předchozí příkaz vytvoří spravovanou identitu přiřazenou uživatelem pro azureKeyvaultSecretsProviderpří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 identitu clientId ve výstupu.

    ...,
     "addonProfiles": {
        "azureKeyvaultSecretsProvider": {
          ...,
          "identity": {
            "clientId": "<client-id>",
            ...
          }
        }
    

Poznámka:

Po povolení této funkce vytvoří AKS spravovanou identity named 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 povolte azure-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 identity named 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ů

  1. Pomocí příkazu ověřte, že se instalace dokončila kubectl get pods . Zobrazí se seznam všech podů s secrets-store-csi-driver popisky secrets-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
    
  2. 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

  1. 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 nebo az 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
    
  2. 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ázvem ExampleSecret.

    az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecret
    
  3. 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.