Az Azure Key Vault-szolgáltató használata a Secrets Store CSI-illesztőprogramhoz egy Azure Kubernetes Service-fürtben

A Titkos kulcstár CSI-illesztőprogramhoz készült Azure Key Vault-szolgáltató lehetővé teszi az Azure Key Vault titkos tárként való integrálását egy Azure Kubernetes Service-fürttel (AKS) egy CSI-köteten keresztül.

Funkciók

  • Titkos kulcsokat, kulcsokat és tanúsítványokat csatlakoztat egy podhoz egy CSI-kötet használatával.
  • Támogatja a beágyazott CSI-köteteket.
  • Több titkos kódtár objektum csatlakoztatását támogatja egyetlen kötetként.
  • Támogatja a pod hordozhatóságát a SecretProviderClass CRD-vel.
  • Támogatja a Windows-tárolókat.
  • Szinkronizálja a Kubernetes titkos kulcsait.
  • Támogatja a csatlakoztatott tartalmak és a szinkronizált Kubernetes-titkos kódok automatikus használatát.

Korlátozások

A subPath-kötet csatlakoztatását használó tárolók nem kapnak titkos frissítéseket, amikor elforgatják. További információkért lásd a Titkos kulcstár CSI-illesztőprogramjának ismert korlátait.

Előfeltételek

  • Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
  • Ellenőrizze, hogy az Azure CLI 2.30.0-s vagy újabb verziója van-e. Ha korábbi verzióról van szó, telepítse a legújabb verziót.
  • Ha a fürtbe irányuló bejövő forgalmat korlátozza, győződjön meg arról, hogy a 9808-os és a 8095-ös port nyitva van.
  • A minimálisan ajánlott Kubernetes-verzió a kubernetes-verzió támogatási ablakán alapul. Győződjön meg arról, hogy az N-2-es vagy újabb verziót futtatja.

AKS-fürt létrehozása az Azure Key Vault-szolgáltatóval a Titkos kulcstár CSI-illesztőprogram támogatásához

  1. Hozzon létre egy Azure-erőforráscsoportot a az group create paranccsal.

    az group create -n myResourceGroup -l eastus2
    
  2. Hozzon létre egy AKS-fürtöt az Azure Key Vault-szolgáltatóval a Titkos kulcstár CSI-illesztőprogram funkcióhoz a az aks create parancs használatával, és engedélyezze a azure-keyvault-secrets-provider bővítményt.

    Megjegyzés:

    Ha Microsoft Entra Számítási feladat ID szeretne használni, akkor a paramétereket és --enable-workload-identity a --enable-oidc-issuer paramétereket is használnia kell, például az alábbi példában:

    az aks create -n myAKSCluster -g myResourceGroup --enable-addons azure-keyvault-secrets-provider --enable-oidc-issuer --enable-workload-identity
    
    az aks create -n myAKSCluster -g myResourceGroup --enable-addons azure-keyvault-secrets-provider
    
  3. A bővítmény létrehoz egy felhasználó által hozzárendelt felügyelt identitást az azureKeyvaultSecretsProviderAzure-erőforrások eléréséhez. Az alábbi példa ezt az identitást használja a titkos kulcstartóhoz való csatlakozáshoz, de más identitás-hozzáférési módszereket is használhat. Jegyezze fel az identitást clientId a kimenetben.

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

Megjegyzés:

A funkció engedélyezése után az AKS létrehoz egy felügyeltet identity named azurekeyvaultsecretsprovider-xxx a csomópont erőforráscsoportjában, és automatikusan hozzárendeli azt a virtuálisgép-méretezési csoportokhoz (VMSS). Ezt a felügyelt identitást vagy saját felügyelt identitást használhatja a kulcstartó eléréséhez. Az identitás létrehozásának megakadályozása nem támogatott.

Meglévő AKS-fürt frissítése az Azure Key Vault-szolgáltatóval a Titkos kulcstár CSI-illesztőprogram támogatásához

  • Frissítsen egy meglévő AKS-fürtöt az Azure Key Vault-szolgáltatóval a Titkos kulcstár CSI-illesztőprogram funkciójával a az aks enable-addons parancs használatával, és engedélyezze a azure-keyvault-secrets-provider bővítményt. A bővítmény létrehoz egy felhasználó által hozzárendelt felügyelt identitást, a kulcstartóban való hitelesítéshez.

    az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup
    

Megjegyzés:

A funkció engedélyezése után az AKS létrehoz egy felügyeltet identity named azurekeyvaultsecretsprovider-xxx a csomópont erőforráscsoportjában, és automatikusan hozzárendeli azt a virtuálisgép-méretezési csoportokhoz (VMSS). Ezt a felügyelt identitást vagy saját felügyelt identitást használhatja a kulcstartó eléréséhez. Az identitás létrehozásának megakadályozása nem támogatott.

Ellenőrizze, hogy az Azure Key Vault-szolgáltató a Titkos kulcstár CSI-illesztőprogramjának telepítéséhez szükséges-e

  1. Ellenőrizze, hogy a telepítés befejeződött-e a kubectl get pods parancs használatával, amely felsorolja a secrets-store-csi-driver kube-rendszer névterében lévő összes podot és secrets-store-provider-azure címkét.

    kubectl get pods -n kube-system -l 'app in (secrets-store-csi-driver,secrets-store-provider-azure)'
    

    A kimenetnek a következő példakimenethez hasonlóan kell kinéznie:

    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. Ellenőrizze, hogy a fürt csomópontkészletében minden csomópont rendelkezik-e titkos kulcstár csi-illesztőprogram podjával és egy Titkos tár szolgáltató Azure-podjával.

Meglévő Azure Key Vault létrehozása vagy használata

  1. Kulcstartó létrehozása vagy frissítése azure-beli szerepköralapú hozzáférés-vezérléssel (Azure RBAC) a az keyvault create parancs vagy a az keyvault update--enable-rbac-authorization jelölő használatával. A kulcstartó nevének globálisan egyedinek kell lennie. A Key Vault engedélymodelljeiről és az Azure RBAC-ről további információt a Key Vault kulcsainak, tanúsítványainak és titkos kulcsainak azure-beli szerepköralapú hozzáférés-vezérléssel történő elérésének biztosítása című témakörben talál .

    ## Create a new Azure key vault
    az keyvault create -n <keyvault-name> -g myResourceGroup -l eastus2 --enable-rbac-authorization
    
    ## Update an existing Azure key vault
    az keyvault update -n <keyvault-name> -g myResourceGroup -l eastus2 --enable-rbac-authorization
    
  2. A kulcstartó kulcsokat, titkos kulcsokat és tanúsítványokat tárolhat. Ebben a példában a az keyvault secret set parancs használatával állítson be egy egyszerű szöveges titkos kódot.ExampleSecret

    az keyvault secret set --vault-name <keyvault-name> -n ExampleSecret --value MyAKSExampleSecret
    
  3. Jegyezze fel a következő tulajdonságokat későbbi használatra:

    • A kulcstartó titkos objektumának neve
    • Az objektum típusa (titkos kód, kulcs vagy tanúsítvány)
    • A Key Vault-erőforrás neve
    • Az előfizetés Azure-bérlőazonosítója

További lépések

Ebben a cikkben megtanulta, hogyan használhatja az Azure Key Vault-szolgáltatót a Titkos kulcstár CSI-illesztőprogramhoz egy AKS-fürtben. Most meg kell adnia egy identitást az Azure Key Vault eléréséhez. Ennek módjáról a következő cikkben olvashat.