Megosztás a következőn keresztül:


Felügyelt identitás használata az Azure Kubernetes Service-ben (AKS)

Az Azure Kubernetes Service- (AKS-) fürtökhez Microsoft Entra-identitás szükséges az Azure-erőforrások, például a terheléselosztók és a felügyelt lemezek eléréséhez. Az Azure-erőforrások felügyelt identitásai az AKS-fürtökről más Azure-szolgáltatásokhoz való hozzáférés engedélyezésének ajánlott módjai.

Felügyelt identitással engedélyezheti az AKS-fürtök hozzáférését bármely olyan szolgáltatáshoz, amely támogatja a Microsoft Entra-hitelesítést, anélkül, hogy hitelesítő adatokat kellene kezelnie, vagy bele kellene foglalnia őket a kódba. A felügyelt identitáshoz azure-beli szerepköralapú hozzáférés-vezérlési (Azure RBAC) szerepkört rendel hozzá, hogy engedélyeket adjon egy adott Azure-erőforrásnak. Engedélyt adhat például egy felügyelt identitásnak, hogy hozzáférhessen egy Azure-kulcstartó titkos kulcsaihoz a fürt számára. További információ az Azure RBAC-ről: Mi az Az Azure szerepköralapú hozzáférés-vezérlése (Azure RBAC)?.

Ez a cikk bemutatja, hogyan engedélyezheti a következő típusú felügyelt identitásokat egy új vagy meglévő AKS-fürtön:

  • Rendszer által hozzárendelt felügyelt identitás. A rendszer által hozzárendelt felügyelt identitás egyetlen Azure-erőforráshoz, például egy AKS-fürthöz van társítva. Csak a fürt életciklusa esetén létezik.
  • Felhasználó által hozzárendelt felügyelt identitás. A felhasználó által hozzárendelt felügyelt identitás egy önálló Azure-erőforrás, amellyel egy AKS-fürt engedélyezheti a hozzáférést más Azure-szolgáltatásokhoz. Az AKS-fürttől elkülönítve marad, és több Azure-erőforrás is használhatja.
  • Előre létrehozott kubelet felügyelt identitás. Az előre létrehozott kubelet felügyelt identitás egy opcionális, felhasználó által hozzárendelt identitás, amellyel a Kubelet más erőforrásokhoz is hozzáférhet az Azure-ban. Ha nem ad meg felhasználó által hozzárendelt felügyelt identitást a kubelethez, az AKS létrehoz egy rendszer által hozzárendelt kubelet-identitást a csomópont erőforráscsoportjában.

A felügyelt identitásokról további információt az Azure-erőforrások felügyelt identitásai című témakörben talál.

Áttekintés

Az AKS-fürtök felügyelt identitással kérnek jogkivonatokat a Microsoft Entra-tól. Ezek a jogkivonatok az Azure-ban futó más erőforrásokhoz való hozzáférés engedélyezésére szolgálnak. Azure RBAC-szerepkört rendelhet hozzá egy felügyelt identitáshoz, hogy a fürt számára engedélyeket biztosítson adott erőforrások eléréséhez. Ha például a fürtnek hozzá kell férnie egy Azure-kulcstartó titkos kulcsaihoz, hozzárendelhet egy Azure RBAC-szerepkört a fürt felügyelt identitásához, amely megadja ezeket az engedélyeket.

A felügyelt identitások rendszerhez vagy felhasználóhoz rendelhetők. A felügyelt identitások e két típusa abban hasonlít, hogy bármelyik típussal engedélyezheti az Azure-erőforrásokhoz való hozzáférést az AKS-fürtből. A fő különbség köztük az, hogy a rendszer által hozzárendelt felügyelt identitás egyetlen Azure-erőforráshoz, például egy AKS-fürthöz van társítva, míg a felhasználó által hozzárendelt felügyelt identitás maga önálló Azure-erőforrás. A felügyelt identitástípusok közötti különbségekről további információt az Azure-erőforrások felügyelt identitásaiban található felügyelt identitástípusokban talál.

A felügyelt identitások mindkét típusát az Azure platform felügyeli, így anélkül engedélyezheti a hozzáférést az alkalmazásokból, hogy titkos kulcsokat kellene kiépítenie vagy elforgatnia. Az Azure kezeli az identitás hitelesítő adatait.

AKS-fürt üzembe helyezésekor a rendszer alapértelmezés szerint létrehoz egy rendszer által hozzárendelt felügyelt identitást. A fürtöt felhasználó által hozzárendelt felügyelt identitással is létrehozhatja.

Emellett létrehozhat egy olyan fürtöt is, amely egy alkalmazásszolgáltatás-taggal rendelkezik, és nem egy felügyelt identitással. A felügyelt identitások használata ajánlott szolgáltatásneveken keresztül a biztonság és a könnyű használat érdekében. A fürt szolgáltatásnévvel való létrehozásáról további információt az Azure Kubernetes Service (AKS) szolgáltatásnév használata című témakörben talál.

Egy meglévő fürtöt frissíthet úgy, hogy egy alkalmazásszolgáltatás-tagból származó felügyelt identitást használjon. Egy meglévő fürtöt más típusú felügyelt identitásra is frissíthet. Ha a fürt már használ felügyelt identitást, és az identitás módosult, például ha a fürt identitástípusát a rendszer által hozzárendeltről a felhasználó által hozzárendeltre frissítette, akkor a vezérlősík összetevői késéssel váltanak az új identitásra. A vezérlősík összetevői a jogkivonat lejáratáig továbbra is a régi identitást használják. A jogkivonat frissítése után átváltanak az új identitásra. Ez a folyamat több órát is igénybe vehet.

A rendszer által hozzárendelt és a felhasználó által hozzárendelt identitástípusok eltérnek a Microsoft Entra Számítási feladat identitástól, amelyet podon futó alkalmazás használ.

Mielőtt elkezdené

A cikkben szereplő példák futtatása előtt állítsa be az előfizetést aktuális aktív előfizetésként az az account set parancs meghívásával és az előfizetés azonosítójának átadásával.

az account set --subscription <subscription-id>

Ha még nem rendelkezik ilyen erőforráscsoporttal, hozzon létre egy Azure-erőforráscsoportot a az group create parancs meghívásával.

az group create \
    --name myResourceGroup \
    --location westus2

Rendszer által hozzárendelt felügyelt identitás engedélyezése

A rendszer által hozzárendelt felügyelt identitás egy AKS-fürthöz vagy egy másik Azure-erőforráshoz társított identitás. A rendszer által hozzárendelt felügyelt identitás a fürt életciklusához van kötve. A fürt törlésekor a rendszer által hozzárendelt felügyelt identitás is törlődik.

Az AKS-fürt a rendszer által hozzárendelt felügyelt identitással engedélyezheti az Azure-ban futó egyéb erőforrásokhoz való hozzáférést. Azure RBAC-szerepkört rendelhet a rendszer által hozzárendelt felügyelt identitáshoz, hogy a fürt engedélyt adjon adott erőforrások eléréséhez. Ha például a fürtnek hozzá kell férnie egy Azure-kulcstartó titkos kulcsaihoz, a rendszer által hozzárendelt felügyelt identitáshoz hozzárendelhet egy Azure RBAC-szerepkört, amely megadja ezeket az engedélyeket.

Rendszer által hozzárendelt felügyelt identitás engedélyezése új AKS-fürtön

Ha egy rendszer által hozzárendelt felügyelt identitást szeretne engedélyezni egy új fürtön, hívja meg a az aks create. A rendszer által hozzárendelt felügyelt identitás alapértelmezés szerint engedélyezve van az új fürtön.

Hozzon létre egy AKS-fürtöt a az aks create paranccsal.

az aks create \
    --resource-group myResourceGroup \
    --name myManagedCluster \
    --generate-ssh-keys

Annak ellenőrzéséhez, hogy a rendszer által hozzárendelt felügyelt identitás engedélyezve van-e a fürt számára a létrehozása után, tekintse meg , hogy a fürt milyen típusú felügyelt identitást használ.

Meglévő AKS-fürt frissítése rendszer által hozzárendelt felügyelt identitás használatára

Ha egy meglévő AKS-fürtöt szeretne frissíteni, amely szolgáltatásnévvel használ rendszer által hozzárendelt felügyelt identitást, futtassa a az aks update parancsot a --enable-managed-identity paraméterrel.

az aks update \
    --resource-group myResourceGroup \
    --name myManagedCluster \
    --enable-managed-identity

Miután frissítette a fürtöt, hogy szolgáltatásnév helyett rendszer által hozzárendelt felügyelt identitást használjon, a vezérlősík és a podok a rendszer által hozzárendelt felügyelt identitást használják az engedélyezéshez, amikor más Azure-szolgáltatásokhoz férnek hozzá. A Kubelet továbbra is használja a szolgáltatásnevet, amíg ön nem frissíti az ügynökkészletet. A csomópontok parancsával az aks nodepool upgrade --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-image-only frissíthet egy felügyelt identitásra. A csomópontkészletek frissítése állásidőt okoz az AKS-fürt számára, mivel a csomópontkészletek csomópontjai kordonozottak, üríthetők és újra rendszerképezhetők.

Feljegyzés

A fürt frissítésekor tartsa szem előtt az alábbi információkat:

  • A frissítés csak akkor működik, ha egy VHD-frissítést fel kell használni. Ha a legújabb VHD-t futtatja, meg kell várnia, amíg a következő virtuális merevlemez elérhetővé válik a frissítés végrehajtásához.

  • Az Azure CLI biztosítja, hogy a bővítmény engedélye megfelelően legyen beállítva az áttelepítés után. Ha nem az Azure CLI-t használja a migrálási művelet végrehajtásához, akkor egyedül kell kezelnie a bővítményi identitás engedélyét. Azure Resource Manager-sablont használó példáért lásd: Azure-szerepkörök hozzárendelése ARM-sablonokkal.

  • Ha a fürt az Azure Container Registryből (ACR) származó rendszerképek lekérését használta --attach-acr , a fürt frissítése után futtatnia kell a az aks update --resource-group myResourceGroup --name myAKSCluster --attach-acr <ACR resource ID> parancsot, hogy a felügyelt identitáshoz használt újonnan létrehozott kubelet megkapja az engedélyt az ACR-ből való lekérésre. Ellenkező esetben a frissítés után nem tud lekérni az ACR-ből.

Szerepkör-hozzárendelés hozzáadása rendszer által hozzárendelt felügyelt identitáshoz

Hozzárendelhet egy Azure RBAC-szerepkört a rendszer által hozzárendelt felügyelt identitáshoz, hogy egy másik Azure-erőforrás fürtengedélyeit biztosítsa. Az Azure RBAC támogatja mind a beépített, mind az egyéni szerepkördefiníciókat, amelyek engedélyszinteket határoznak meg. Az Azure RBAC-szerepkörök hozzárendelésével kapcsolatos további információkért tekintse meg az Azure-szerepkörök hozzárendelésének lépéseit.

Ha Azure RBAC-szerepkört rendel egy felügyelt identitáshoz, meg kell határoznia a szerepkör hatókörét. Általában ajánlott a szerepkörök hatókörét a felügyelt identitás által megkövetelt minimális jogosultságokra korlátozni. Az Azure RBAC-szerepkörök hatókörének megismeréséhez tekintse meg az Azure RBAC hatókörét.

Ha saját virtuális hálózatot, csatlakoztatott Azure-lemezeket, statikus IP-címet, útvonaltáblát vagy felhasználó által hozzárendelt kubelet-identitást hoz létre és használ, ahol az erőforrások a feldolgozó csomópont erőforráscsoportján kívül vannak, az Azure CLI automatikusan hozzáadja a szerepkör-hozzárendelést. Ha ARM-sablont vagy más módszert használ, a felügyelt identitás egyszerű azonosítójával hajthat végre szerepkör-hozzárendelést.

Ha nem az Azure CLI-t használja, de saját virtuális hálózatot, csatlakoztatott Azure-lemezeket, statikus IP-címet, útvonaltáblát vagy felhasználó által hozzárendelt kubelet-identitást használ, amely kívül esik a feldolgozó csomópont erőforráscsoportján, javasoljuk, hogy a vezérlősíkhoz használjon felhasználó által hozzárendelt felügyelt identitást. Ha a vezérlősík rendszer által hozzárendelt felügyelt identitást használ, az identitás a fürttel egy időben jön létre, így a szerepkör-hozzárendelés csak a fürt létrehozása után hajtható végre.

A rendszer által hozzárendelt felügyelt identitás főazonosítójának lekérése

Ha Azure RBAC-szerepkört szeretne hozzárendelni egy fürt rendszer által hozzárendelt felügyelt identitásához, először szüksége lesz a felügyelt identitás egyszerű azonosítójára. Kérje le a fürt rendszer által hozzárendelt felügyelt identitásának egyszerű azonosítóját a az aks show parancs meghívásával.

# Get the principal ID for a system-assigned managed identity.
CLIENT_ID=$(az aks show \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --query identity.principalId \
    --output tsv)

Azure RBAC-szerepkör hozzárendelése a rendszer által hozzárendelt felügyelt identitáshoz

Ha rendszer által hozzárendelt felügyelt identitásengedélyeket szeretne adni egy Azure-beli erőforrásnak, hívja meg a az role assignment create parancsot, hogy rendeljen hozzá egy Azure RBAC-szerepkört a felügyelt identitáshoz.

Az alapértelmezett feldolgozócsomópont-erőforráscsoporton kívüli virtuális hálózat, csatolt Azure-lemez, statikus IP-cím vagy útvonaltábla esetében hozzá kell rendelnie a Contributor szerepkört az egyéni erőforráscsoporthoz.

Rendelje hozzá például a szerepkört Contributor az egyéni erőforráscsoporthoz a az role assignment create paranccsal. --scope A paraméterhez adja meg a fürt erőforráscsoportjának erőforrás-azonosítóját.

az role assignment create \
    --assignee $CLIENT_ID \
    --role "Contributor" \
    --scope "<resource-group-id>"

Feljegyzés

A fürt felügyelt identitásához megadott engedélyek propagálása akár 60 percet is igénybe vehet.

Felhasználó által hozzárendelt felügyelt identitás engedélyezése

A felhasználó által hozzárendelt felügyelt identitás egy önálló Azure-erőforrás. Amikor a vezérlősíkhoz felhasználó által hozzárendelt felügyelt identitással rendelkező fürtöt hoz létre, a felhasználó által hozzárendelt felügyelt identitáserőforrásnak léteznie kell a fürt létrehozása előtt. Ez a funkció olyan forgatókönyveket tesz lehetővé, mint például a fürt létrehozása egyéni virtuális hálózattal vagy a felhasználó által definiált útválasztás (UDR) kimenő típusával.

Felhasználó által hozzárendelt felügyelt identitás létrehozása

Ha még nem rendelkezik felhasználó által hozzárendelt felügyelt identitás erőforrással, hozzon létre egyet a az identity create paranccsal.

az identity create \
    --name myIdentity \
    --resource-group myResourceGroup

A kimenetnek a következő példakimenethez kell hasonlítania:

{                                  
  "clientId": "<client-id>",
  "clientSecretUrl": "<clientSecretUrl>",
  "id": "/subscriptions/<subscriptionid>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", 
  "location": "westus2",
  "name": "myIdentity",
  "principalId": "<principal-id>",
  "resourceGroup": "myResourceGroup",                       
  "tags": {},
  "tenantId": "<tenant-id>",
  "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
}

A felhasználó által hozzárendelt felügyelt identitás egyszerű azonosítójának lekérése

A felhasználó által hozzárendelt felügyelt identitás egyszerű azonosítójának lekéréséhez hívja meg az identity show-t és a lekérdezést a principalId tulajdonságon:

CLIENT_ID=$(az identity show \
    --name myIdentity \
    --resource-group myResourceGroup \
    --query principalId \
    --output tsv)

A felhasználó által hozzárendelt felügyelt identitás erőforrás-azonosítójának lekérése

Ha felhasználó által hozzárendelt felügyelt identitással rendelkező fürtöt szeretne létrehozni, szüksége lesz az új felügyelt identitás erőforrás-azonosítóra. A felhasználó által hozzárendelt felügyelt identitás erőforrás-azonosítójának lekéréséhez hívja meg az az aks show-t és lekérdezést a id tulajdonságon:

RESOURCE_ID=$(az identity show \
    --name myIdentity \
    --resource-group myResourceGroup \
    --query id \
    --output tsv)

Azure RBAC-szerepkör hozzárendelése a felhasználó által hozzárendelt felügyelt identitáshoz

A fürt létrehozása előtt adjon hozzá egy szerepkör-hozzárendelést a felügyelt identitáshoz a az role assignment create parancs meghívásával.

Az alábbi példa a Key Vault titkos kulcsainak felhasználói szerepkörét rendeli hozzá a felhasználó által hozzárendelt felügyelt identitáshoz, hogy engedélyeket adjon neki a kulcstartó titkos kulcsainak eléréséhez. A szerepkör-hozzárendelés hatóköre a Key Vault-erőforrásra terjed ki:

az role assignment create \
    --assignee $CLIENT_ID \
    --role "Key Vault Secrets User" \
    --scope "<keyvault-resource-id>"

Feljegyzés

A fürt felügyelt identitásához megadott engedélyek propagálása akár 60 percet is igénybe vehet.

Fürt létrehozása a felhasználó által hozzárendelt felügyelt identitással

Ha AKS-fürtöt szeretne létrehozni a felhasználó által hozzárendelt felügyelt identitással, hívja meg a az aks create parancsot. Adja meg a paramétert --assign-identity , és adja meg a felhasználó által hozzárendelt felügyelt identitás erőforrás-azonosítóját:

az aks create \
    --resource-group myResourceGroup \
    --name myManagedCluster \
    --network-plugin azure \
    --vnet-subnet-id <subnet-id> \
    --dns-service-ip 10.2.0.10 \
    --service-cidr 10.2.0.0/24 \
    --assign-identity $RESOURCE_ID \
    --generate-ssh-keys

Feljegyzés

Az Azure US Government-felhőBEN található USDOD Central, USDOD East és USGov Iowa régiók nem támogatják a felhasználó által hozzárendelt felügyelt identitással rendelkező fürtök létrehozását.

Meglévő fürt frissítése felhasználó által hozzárendelt felügyelt identitás használatára

Ha egy meglévő fürtöt felhasználó által hozzárendelt felügyelt identitás használatára szeretne frissíteni, hívja meg a az aks update parancsot. Adja meg a paramétert --assign-identity , és adja meg a felhasználó által hozzárendelt felügyelt identitás erőforrás-azonosítóját:

az aks update \
    --resource-group myResourceGroup \
    --name myManagedCluster \
    --enable-managed-identity \
    --assign-identity $RESOURCE_ID

A felhasználó által hozzárendelt felügyelt identitást használó sikeres fürtfrissítés kimenetének a következő példakimenethez kell hasonlítania:

  "identity": {
    "principalId": null,
    "tenantId": null,
    "type": "UserAssigned",
    "userAssignedIdentities": {
      "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity": {
        "clientId": "<client-id>",
        "principalId": "<principal-id>"
      }
    }
  },

Feljegyzés

Ha a vezérlősík felügyelt identitását a rendszer által hozzárendelt felhasználóhoz rendeli, a vezérlősík és az ügynökkészletek leállását nem eredményezi. A vezérlősík összetevői a rendszer által hozzárendelt régi identitást akár több órán keresztül is tovább folytatják a következő jogkivonat frissítéséig.

Annak meghatározása, hogy a fürt milyen típusú felügyelt identitást használ

Annak megállapításához, hogy a meglévő AKS-fürt milyen típusú felügyelt identitást használ, hívja meg az az aks show parancsot és lekérdezést az identitás típustulajdonságához.

az aks show \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --query identity.type \
    --output tsv       

Ha a fürt felügyelt identitást használ, a típustulajdonság értéke SystemAssigned vagy UserAssigned lesz.

Ha a fürt szolgáltatásnevet használ, a típustulajdonság értéke null lesz. Fontolja meg a fürt felügyelt identitás használatára való frissítését.

Előre létrehozott kubelet felügyelt identitás használata

Az előre létrehozott kubelet-identitás egy felhasználó által hozzárendelt felügyelt identitás, amely a fürt létrehozása előtt létezik. Ez a funkció olyan forgatókönyveket tesz lehetővé, mint például az Azure Container Registry (ACR) csatlakoztatása a fürt létrehozása során.

Feljegyzés

Az AKS létrehoz egy felhasználó által hozzárendelt kubelet-identitást a csomópont erőforráscsoportjában, ha nem adja meg a saját kubelet felügyelt identitását.

Ha a felhasználó által hozzárendelt kubelet-identitás az alapértelmezett feldolgozó csomópont erőforráscsoportján kívül van, a felügyelt identitáskezelő szerepkört kell hozzárendelnie a kubelet-identitáshoz a vezérlősík felügyelt identitásához.

kubelet felügyelt identitás

Ha nem rendelkezik kubelet felügyelt identitással, hozzon létre egyet a az identity create paranccsal.

az identity create \
    --name myKubeletIdentity \
    --resource-group myResourceGroup

A kimenetnek a következő példakimenethez kell hasonlítania:

{
  "clientId": "<client-id>",
  "clientSecretUrl": "<clientSecretUrl>",
  "id": "/subscriptions/<subscriptionid>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myKubeletIdentity", 
  "location": "westus2",
  "name": "myKubeletIdentity",
  "principalId": "<principal-id>",
  "resourceGroup": "myResourceGroup",                       
  "tags": {},
  "tenantId": "<tenant-id>",
  "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
}

RBAC-szerepkör hozzárendelése a kubelet által felügyelt identitáshoz

Rendelje hozzá a Managed Identity Operator szerepkört a kubelet-identitáshoz a az role assignment create paranccsal. Adja meg a kubelet-identitás egyszerű azonosítóját a $KUBELET_CLIENT_ID változóhoz.

az role assignment create \
    --assignee $KUBELET_CLIENT_ID \
    --role "Managed Identity Operator" \
    --scope "<kubelet-identity-resource-id>"

Fürt létrehozása a kubelet-identitás használatához

Most már létrehozhatja az AKS-fürtöt a meglévő identitásokkal. Az argumentum és a kubelet felügyelt identitás argumentum használatával adja meg a vezérlősík assign-identity felügyelt identitásának erőforrás-azonosítóját assign-kubelet-identity .

Hozzon létre egy AKS-fürtöt a meglévő identitásokkal a az aks create parancs használatával.

az aks create \
    --resource-group myResourceGroup \
    --name myManagedCluster \
    --network-plugin azure \
    --vnet-subnet-id <subnet-id> \
    --dns-service-ip 10.2.0.10 \
    --service-cidr 10.2.0.0/24 \
    --assign-identity <identity-resource-id> \
    --assign-kubelet-identity <kubelet-identity-resource-id> \
    --generate-ssh-keys

A kubelet felügyelt identitást használó sikeres AKS-fürtlétrehozásnak az alábbihoz hasonló kimenetet kell eredményeznie:

  "identity": {
    "principalId": null,
    "tenantId": null,
    "type": "UserAssigned",
    "userAssignedIdentities": {
      "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity": {
        "clientId": "<client-id>",
        "principalId": "<principal-id>"
      }
    }
  },
  "identityProfile": {
    "kubeletidentity": {
      "clientId": "<client-id>",
      "objectId": "<object-id>",
      "resourceId": "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myKubeletIdentity"
    }
  },

Meglévő fürt frissítése a kubelet-identitás használatára

Ha frissíteni szeretne egy meglévő fürtöt a kubelet által felügyelt identitás használatára, először szerezze be az AKS-fürt aktuális vezérlősíkjának felügyelt identitását.

Figyelmeztetés

A kubelet felügyelt identitásának frissítése frissíti az AKS-fürt csomópontkészleteit, ami állásidőt okoz a fürt számára, mivel a csomópontkészletekben lévő csomópontok kordonnal vannak elküldve/kiürítve és újraimagázva.

  1. Ellenőrizze, hogy az AKS-fürt a felhasználó által hozzárendelt felügyelt identitást használja-e a az aks show parancs használatával.

    az aks show \
        --resource-group <RGName> \
        --name <ClusterName> \
        --query "servicePrincipalProfile"
    

    Ha a fürt felügyelt identitást használ, a kimenet msi értékkel jelenik megclientId. Egy szolgáltatásnevet használó fürt objektumazonosítót jelenít meg. Példa:

    # The cluster is using a managed identity.
    {
      "clientId": "msi"
    }
    
  2. Miután meggyőződett arról, hogy a fürt felügyelt identitást használ, keresse meg a felügyelt identitás erőforrás-azonosítóját a az aks show paranccsal.

    az aks show --resource-group <RGName> \
        --name <ClusterName> \
        --query "identity"
    

    Felhasználó által hozzárendelt felügyelt identitás esetén a kimenetnek az alábbi példakimenethez hasonlóan kell kinéznie:

    {
      "principalId": null,
      "tenantId": null,
      "type": "UserAssigned",
      "userAssignedIdentities": <identity-resource-id>
          "clientId": "<client-id>",
          "principalId": "<principal-id>"
    },
    
  3. Frissítse a fürtöt a meglévő identitásokkal a az aks update parancs használatával. Adja meg az argumentum vezérlősíkjának felhasználó által hozzárendelt felügyelt identitásának erőforrás-azonosítóját assign-identity . Adja meg az argumentum kubelet által felügyelt identitásának erőforrás-azonosítóját assign-kubelet-identity .

    az aks update \
        --resource-group myResourceGroup \
        --name myManagedCluster \
        --enable-managed-identity \
        --assign-identity <identity-resource-id> \
        --assign-kubelet-identity <kubelet-identity-resource-id>
    

A saját kubelet felügyelt identitást használó sikeres fürtfrissítés kimenetének a következő példakimenethez kell hasonlítania:

  "identity": {
    "principalId": null,
    "tenantId": null,
    "type": "UserAssigned",
    "userAssignedIdentities": {
      "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity": {
        "clientId": "<client-id>",
        "principalId": "<principal-id>"
      }
    }
  },
  "identityProfile": {
    "kubeletidentity": {
      "clientId": "<client-id>",
      "objectId": "<object-id>",
      "resourceId": "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myKubeletIdentity"
    }
  },

Feljegyzés

Ha a fürt lemezképeket használt --attach-acr az Azure Container Registryből, futtassa a parancsot a az aks update --resource-group myResourceGroup --name myAKSCluster --attach-acr <ACR Resource ID> fürt frissítése után, hogy a felügyelt identitáshoz használt újonnan létrehozott kubelet megkapja a lekérési engedélyt az ACR-ből. Ellenkező esetben a frissítés után nem tud lekérni az ACR-ből.

A kubelet-identitás tulajdonságainak lekérése

A kubelet-identitás tulajdonságainak lekéréséhez hívja meg az az aks show-t és lekérdezést a identityProfile.kubeletidentity tulajdonságon.

az aks show \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --query "identityProfile.kubeletidentity"

Előre létrehozott kubelet-identitáskorlátozások

Vegye figyelembe az előre létrehozott kubelet-identitásra vonatkozó alábbi korlátozásokat:

  • Az előre létrehozott kubelet-identitásnak felhasználó által hozzárendelt felügyelt identitásnak kell lennie.
  • A Microsoft Azure 21Vianet által üzemeltetett keleti és kínai északi régiója nem támogatott.

Az AKS által használt felügyelt identitások összegzése

Az AKS számos felügyelt identitást használ a beépített szolgáltatásokhoz és bővítményekhez.

Identitás Név Használati eset Alapértelmezett engedélyek Saját identitás létrehozása
Vezérlősík AKS-fürt neve Az AKS vezérlősík-összetevői használják a fürterőforrások kezelésére, beleértve a bejövő terheléselosztókat és az AKS által felügyelt nyilvános IP-címeket, a fürt automatikus skálázását, az Azure Disket, a Fájlokat és a Blob CSI-illesztőprogramokat. Közreműködői szerepkör a Csomópont erőforráscsoporthoz Támogatott
Kubelet AKS-fürt név-ügynökkészlete Hitelesítés az Azure Container Registry (ACR) használatával. N/A (kubernetes v1.15+) Támogatott
Alkalmazáson belüli AzureNPM Nincs szükség identitásra. n/a Nem
Alkalmazáson belüli AzureCNI hálózatfigyelés Nincs szükség identitásra. n/a Nem
Alkalmazáson belüli azure-policy (gatekeeper) Nincs szükség identitásra. n/a Nem
Alkalmazáson belüli azure-policy Nincs szükség identitásra. n/a Nem
Alkalmazáson belüli Calico Nincs szükség identitásra. n/a Nem
Alkalmazáson belüli alkalmazás-útválasztás Azure DNS- és Azure Key Vault-tanúsítványok kezelése A Key Vault titkos kulcstartójának felhasználói szerepköre, a DNS-zónák DNZ-zóna közreműködői szerepköre, saját DNS privát DNS-zónák zóna-közreműködői szerepköre Nem
Alkalmazáson belüli HTTPApplicationRouting Kezeli a szükséges hálózati erőforrásokat. Olvasói szerepkör a csomópont erőforráscsoportjában, a DNS-zóna közreműködői szerepköre Nem
Alkalmazáson belüli Bejövő alkalmazásátjáró Kezeli a szükséges hálózati erőforrásokat. Közreműködői szerepkör a csomópont erőforráscsoporthoz Nem
Alkalmazáson belüli omsagent AKS-metrikák azure monitorba küldésére szolgál. Metrika közzétevői szerepkör figyelése Nem
Alkalmazáson belüli Virtuális csomópont (ACIConnector) Kezeli az Azure Container Instances (ACI) szükséges hálózati erőforrásait. Közreműködői szerepkör a csomópont erőforráscsoporthoz Nem
Alkalmazáson belüli Költségelemzés Költségfelosztási adatok gyűjtésére szolgál
Számítási feladatok identitása Microsoft Entra számítási feladat azonosítója Lehetővé teszi az alkalmazások számára a felhőbeli erőforrások biztonságos elérését a Microsoft Entra számítási feladatazonosítójával. n/a Nem

Fontos

Az Azure Kubernetes Service nyílt forráskód Microsoft Entra pod által felügyelt identitása (előzetes verzió) 2022.10.24-én elavult, a projekt pedig 2023 szeptemberében archiválva lett. További információt az elavulásról szóló közleményben talál. Az AKS által felügyelt bővítmény 2024 szeptemberében kezdi elavulni.

Javasoljuk, hogy tekintse át Microsoft Entra Számítási feladat ID. Az Entra Számítási feladat ID-hitelesítés felváltja az elavult pod által felügyelt identitás (előzetes verzió) funkciót. Az Entra Számítási feladat ID az ajánlott módszer, amely lehetővé teszi, hogy egy podon futó alkalmazás hitelesítse magát más, azt támogató Azure-szolgáltatásokon.

Korlátozások

  • A felügyelt identitás-kompatibilis fürtök áthelyezése vagy áttelepítése egy másik bérlőbe nem támogatott.

  • Ha a fürtben engedélyezve van a Microsoft Entra pod által felügyelt identitás (aad-pod-identity) használata, a csomópontok által felügyelt identitás (NMI) podjai módosítják a csomópontok iptable-jait, hogy elfogják az Azure-példány metaadatainak (IMDS) végpontjára irányuló hívásokat. Ez a konfiguráció azt jelenti, hogy az IMDS-végpontra irányuló kéréseket az NMI elfogja, még akkor is, ha egy adott pod nem használ aad-pod-identity.

    Az AzurePodIdentityException egyéni erőforrásdefiníció (CRD) konfigurálható úgy, hogy a CRD-ben definiált podmegfeleltetési címkékből származó IMDS-végpontra irányuló kérelmeket az NMI-ben történő feldolgozás nélkül kell létrehozni. Az AzurePodIdentityException CRD konfigurálásával zárja ki a kube-system névtérben aad-pod-identity lévő címkével rendelkező kubernetes.azure.com/managedby: aks rendszer podokat. További információ: Microsoft Entra pod által felügyelt identitások használata az Azure Kubernetes Service-ben.

    A kivétel konfigurálásához telepítse a mikrofonkivételi YAML-t.

  • Az AKS nem támogatja a rendszer által hozzárendelt felügyelt identitás használatát egyéni privát DNS-zóna használatakor.

Következő lépések

  • Az Azure Resource Manager-sablonok használatával felügyelt identitás-kompatibilis fürtöt hozhat létre.
  • Megtudhatja, hogyan használhatja a kubelogint az AKS összes támogatott Microsoft Entra hitelesítési módszeréhez.