Sdílet prostřednictvím


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 --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
    
  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 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 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 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ů

  1. 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
    
  2. 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
    
  3. 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.