Sdílet prostřednictvím


Použití spravované identity ve službě Azure Kubernetes Service (AKS)

Clustery Azure Kubernetes Service (AKS) vyžadují identitu Microsoft Entra pro přístup k prostředkům Azure, jako jsou nástroje pro vyrovnávání zatížení a spravované disky. Spravované identity pro prostředky Azure představují doporučený způsob autorizace přístupu z clusteru AKS k jiným službám Azure.

Spravovanou identitu můžete použít k autorizaci přístupu z clusteru AKS ke každé službě, která podporuje autorizaci Microsoft Entra, aniž byste museli spravovat přihlašovací údaje nebo je zahrnout do kódu. Spravované identitě přiřadíte roli řízení přístupu na základě role v Azure (Azure RBAC), abyste jí udělili oprávnění k určitému prostředku v Azure. Můžete například udělit oprávnění spravované identitě pro přístup k tajným kódům v trezoru klíčů Azure pro použití clusterem. Další informace o Azure RBAC najdete v tématu Co je řízení přístupu na základě role v Azure (Azure RBAC)?

Tento článek ukazuje, jak povolit následující typy spravovaných identit v novém nebo existujícím clusteru AKS:

  • Spravovaná identita přiřazená systémem Spravovaná identita přiřazená systémem je přidružená k jednomu prostředku Azure, jako je cluster AKS. Existuje pouze pro životní cyklus clusteru.
  • Spravovaná identita přiřazená uživatelem Spravovaná identita přiřazená uživatelem je samostatný prostředek Azure, který může cluster AKS použít k autorizaci přístupu k jiným službám Azure. Trvá odděleně od clusteru AKS a může ho používat několik prostředků Azure.
  • Předem vytvořená spravovaná identita kubeletu Předem vytvořená spravovaná identita kubeletu je volitelná identita přiřazená uživatelem, kterou kubelet může použít pro přístup k dalším prostředkům v Azure. Pokud pro kubelet nezadáte spravovanou identitu přiřazenou uživatelem, AKS vytvoří identitu kubeletu přiřazenou systémem ve skupině prostředků uzlu.

Další informace o spravovaných identitách najdete v tématu Spravované identity pro prostředky Azure.

Přehled

Cluster AKS používá spravovanou identitu k vyžádání tokenů z Microsoft Entra. Tyto tokeny slouží k autorizaci přístupu k jiným prostředkům běžícím v Azure. Roli Azure RBAC můžete přiřadit spravované identitě a udělit tak clusteru oprávnění pro přístup ke konkrétním prostředkům. Pokud například váš cluster potřebuje přístup k tajným kódům v trezoru klíčů Azure, můžete k spravované identitě clusteru přiřadit roli Azure RBAC, která tato oprávnění uděluje.

Spravovaná identita může být přiřazená systémem nebo přiřazená uživatelem. Tyto dva typy spravovaných identit jsou podobné tomu, že k autorizaci přístupu k prostředkům Azure z clusteru AKS můžete použít některý typ. Klíčovým rozdílem mezi nimi je, že spravovaná identita přiřazená systémem je přidružená k jednomu prostředku Azure, jako je cluster AKS, zatímco spravovaná identita přiřazená uživatelem je sama o sobě samostatným prostředkem Azure. Další podrobnosti o rozdílech mezi typy spravovaných identit najdete v tématu Typy spravovaných identit ve spravovaných identitách pro prostředky Azure.

Obě typy spravovaných identit spravuje platforma Azure, takže můžete autorizovat přístup z aplikací bez nutnosti zřizovat nebo obměňovat tajné kódy. Azure spravuje přihlašovací údaje identity za vás.

Když nasadíte cluster AKS, ve výchozím nastavení se pro vás vytvoří spravovaná identita přiřazená systémem. Cluster můžete vytvořit také se spravovanou identitou přiřazenou uživatelem.

Cluster s instančním objektem aplikace je také možné vytvořit spíše jako spravovanou identitu. Spravované identity se doporučují nad instančními objekty pro zabezpečení a snadné použití. Další informace o vytvoření clusteru s instančním objektem najdete v tématu Použití instančního objektu se službou Azure Kubernetes Service (AKS).

Existující cluster můžete aktualizovat tak, aby používal spravovanou identitu z instančního objektu aplikace. Existující cluster můžete také aktualizovat na jiný typ spravované identity. Pokud už váš cluster používá spravovanou identitu a identita se změnila, například pokud jste aktualizovali typ identity clusteru ze systému přiřazeného uživatelem, dojde ke zpoždění, zatímco komponenty řídicí roviny přejdou na novou identitu. Komponenty řídicí roviny nadále používají starou identitu, dokud jeho token nevyprší. Po aktualizaci tokenu přejdou na novou identitu. Tento proces může trvat několik hodin.

Typy identit přiřazené systémem a uživatelem se liší od identity úloh Microsoft Entra, která je určena aplikací spuštěnou na podu.

Než začnete

  • Ujistěte se, že máte nainstalované Azure CLI verze 2.23.0 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

  • Pokud chcete použít předem vytvořenou spravovanou identitu kubeletu, musíte mít nainstalované Rozhraní příkazového řádku Azure CLI verze 2.26.0 nebo novější.

  • Pokud chcete existující cluster aktualizovat tak, aby používal spravovanou identitu přiřazenou systémem nebo spravovanou identitu přiřazenou uživatelem, musíte mít nainstalované Azure CLI verze 2.49.0 nebo novější.

Před spuštěním příkladů v tomto článku nastavte své předplatné jako aktuální aktivní předplatné zavoláním příkazu az account set a předáním ID předplatného.

az account set --subscription <subscription-id>

Pokud ještě skupinu prostředků Azure nemáte, vytvořte ji voláním az group create příkazu.

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

Povolení spravované identity přiřazené systémem

Spravovaná identita přiřazená systémem je identita přidružená ke clusteru AKS nebo jinému prostředku Azure. Spravovaná identita přiřazená systémem je svázaná s životním cyklem clusteru. Po odstranění clusteru se odstraní také spravovaná identita přiřazená systémem.

Cluster AKS může použít spravovanou identitu přiřazenou systémem k autorizaci přístupu k dalším prostředkům spuštěným v Azure. Roli Azure RBAC můžete přiřadit spravované identitě přiřazené systémem a udělit tak oprávnění clusteru pro přístup ke konkrétním prostředkům. Pokud například váš cluster potřebuje přístup k tajným kódům v trezoru klíčů Azure, můžete k spravované identitě přiřazené systémem přiřadit roli Azure RBAC, která tato oprávnění uděluje.

Povolení spravované identity přiřazené systémem v novém clusteru AKS

Pokud chcete povolit spravovanou identitu přiřazenou systémem v novém clusteru, zavolejte .az aks create Spravovaná identita přiřazená systémem je ve výchozím nastavení povolená v novém clusteru.

Pomocí příkazu vytvořte cluster az aks create AKS.

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

Pokud chcete ověřit, jestli je pro cluster po vytvoření povolená spravovaná identita přiřazená systémem, přečtěte si téma Určení typu spravované identity, kterou cluster používá.

Aktualizace existujícího clusteru AKS tak, aby používal spravovanou identitu přiřazenou systémem

Pokud chcete aktualizovat existující cluster AKS, který používá instanční objekt, aby místo toho používal spravovanou identitu přiřazenou systémem, spusťte az aks update příkaz s parametrem --enable-managed-identity .

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

Po aktualizaci clusteru tak, aby používal spravovanou identitu přiřazenou systémem místo instančního objektu, řídicí rovina a pody používají spravovanou identitu přiřazenou systémem k autorizaci při přístupu k jiným službám v Azure. Kubelet nadále používá instanční objekt, dokud neupgradujete fond agentů. Příkaz na uzlech můžete použít az aks nodepool upgrade --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-image-only k aktualizaci na spravovanou identitu. Upgrade fondu uzlů způsobí výpadek vašeho clusteru AKS, protože uzly ve fondech uzlů jsou vyprázdněné, vyprázdněné a znovu image.

Poznámka:

Při aktualizaci clusteru mějte na paměti následující informace:

  • Aktualizace funguje jenom v případě, že se používá aktualizace virtuálního pevného disku. Pokud používáte nejnovější virtuální pevný disk, musíte počkat, až bude k dispozici další virtuální pevný disk, abyste mohli provést aktualizaci.

  • Azure CLI zajišťuje správné nastavení oprávnění doplňku po migraci. Pokud k provedení operace migrace nepoužíváte Azure CLI, musíte oprávnění doplňku zpracovat sami. Příklad použití šablony Azure Resource Manageru (ARM) najdete v tématu Přiřazení rolí Azure pomocí šablon ARM.

  • Pokud váš cluster používal --attach-acr k načítání z imagí ze služby Azure Container Registry (ACR), musíte po aktualizaci clusteru spustit az aks update --resource-group myResourceGroup --name myAKSCluster --attach-acr <ACR resource ID> příkaz, aby nově vytvořený kubelet použitý pro spravovanou identitu získal oprávnění k vyžádání z ACR. Jinak nebudete moct po aktualizaci načíst z ACR.

Přidání přiřazení role pro spravovanou identitu přiřazenou systémem

Roli Azure RBAC můžete přiřadit spravované identitě přiřazené systémem a udělit tak oprávnění clusteru k jinému prostředku Azure. Azure RBAC podporuje integrované i vlastní definice rolí, které určují úrovně oprávnění. Další informace o přiřazování rolí Azure RBAC najdete v tématu Postup přiřazení role Azure.

Když přiřadíte roli Azure RBAC spravované identitě, musíte definovat obor role. Obecně se doporučuje omezit rozsah role na minimální oprávnění požadovaná spravovanou identitou. Další informace o určení rozsahu rolí Azure RBAC najdete v tématu Vysvětlení oboru pro Azure RBAC.

Když vytvoříte a použijete vlastní virtuální síť, připojené disky Azure, statickou IP adresu, směrovací tabulku nebo identitu kubeletu přiřazenou uživatelem, ve které jsou prostředky mimo skupinu prostředků pracovního uzlu, Azure CLI přidá přiřazení role automaticky. Pokud používáte šablonu ARM nebo jinou metodu, použijte k přiřazení role ID objektu zabezpečení spravované identity.

Pokud nepoužíváte Azure CLI, ale používáte vlastní virtuální síť, připojené disky Azure, statickou IP adresu, směrovací tabulku nebo identitu kubeletu přiřazenou uživatelem mimo skupinu prostředků pracovního uzlu, doporučujeme pro řídicí rovinu použít spravovanou identitu přiřazenou uživatelem. Pokud řídicí rovina používá spravovanou identitu přiřazenou systémem, vytvoří se identita současně s clusterem, takže přiřazení role se nedá provést, dokud se cluster nevytvořil.

Získání ID objektu zabezpečení spravované identity přiřazené systémem

Pokud chcete přiřadit roli Azure RBAC spravované identitě přiřazené systémem clusteru, potřebujete nejprve ID objektu zabezpečení pro spravovanou identitu. Získejte ID objektu zabezpečení spravované identity přiřazené systémem clusteru az aks show zavoláním příkazu.

# 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)

Přiřazení role Azure RBAC ke spravované identitě přiřazené systémem

Pokud chcete spravované identitě přiřazené systémem udělit oprávnění k prostředku v Azure, zavolejte az role assignment create příkaz pro přiřazení role Azure RBAC spravované identitě.

Pro virtuální síť, připojený disk Azure, statickou IP adresu nebo směrovací tabulku mimo výchozí skupinu prostředků pracovního uzlu musíte přiřadit Contributor roli pro vlastní skupinu prostředků.

Pomocí příkazu například přiřaďte Contributor roli ve vlastní skupině az role assignment create prostředků. --scope Pro parametr zadejte ID prostředku pro skupinu prostředků clusteru.

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

Poznámka:

Rozšíření oprávnění udělených spravované identitě clusteru může trvat až 60 minut.

Povolení spravované identity přiřazené uživatelem

Spravovaná identita přiřazená uživatelem je samostatný prostředek Azure. Když vytvoříte cluster se spravovanou identitou přiřazenou uživatelem pro řídicí rovinu, musí před vytvořením clusteru existovat prostředek spravované identity přiřazené uživatelem. Tato funkce umožňuje scénáře, jako je vytvoření clusteru s vlastní virtuální sítí nebo odchozím typem uživatelem definovaného směrování (UDR).

Vytvoření spravované identity přiřazené uživatelem

Pokud ještě nemáte prostředek spravované identity přiřazené uživatelem, vytvořte ho az identity create pomocí příkazu.

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

Výstup by měl vypadat podobně jako v následujícím příkladu výstupu:

{                                  
  "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"
}

Získání ID objektu zabezpečení spravované identity přiřazené uživatelem

Pokud chcete získat ID objektu zabezpečení spravované identity přiřazené uživatelem, zavolejte příkaz az identity show a dotaz na principalId vlastnost:

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

Získání ID prostředku spravované identity přiřazené uživatelem

Pokud chcete vytvořit cluster se spravovanou identitou přiřazenou uživatelem, budete potřebovat ID prostředku pro novou spravovanou identitu. Id prostředku spravované identity přiřazené uživatelem získáte voláním příkazu az aks show a dotazem na id vlastnost:

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

Přiřazení role Azure RBAC ke spravované identitě přiřazené uživatelem

Před vytvořením clusteru přidejte přiřazení role pro spravovanou identitu voláním az role assignment create příkazu.

Následující příklad přiřadí roli Uživatele tajných kódů služby Key Vault spravované identitě přiřazené uživatelem, která jí udělí oprávnění pro přístup k tajným kódům v trezoru klíčů. Přiřazení role je vymezeno na prostředek trezoru klíčů:

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

Poznámka:

Rozšíření oprávnění udělených spravované identitě clusteru může trvat až 60 minut.

Vytvoření clusteru se spravovanou identitou přiřazenou uživatelem

Pokud chcete vytvořit cluster AKS se spravovanou identitou přiřazenou uživatelem, zavolejte az aks create příkaz. Zahrňte --assign-identity parametr a předejte ID prostředku pro spravovanou identitu přiřazenou uživatelem:

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

Poznámka:

Oblasti Iowa USA – střed, USDOD – střed, USDOD – východ a USGov v cloudu Azure US Government nepodporují vytváření clusteru s spravovanou identitou přiřazenou uživatelem.

Aktualizace existujícího clusteru tak, aby používal spravovanou identitu přiřazenou uživatelem

Pokud chcete aktualizovat existující cluster tak, aby používal spravovanou identitu přiřazenou uživatelem, zavolejte az aks update příkaz. Zahrňte --assign-identity parametr a předejte ID prostředku pro spravovanou identitu přiřazenou uživatelem:

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

Výstup úspěšné aktualizace clusteru pro použití spravované identity přiřazené uživatelem by měl vypadat podobně jako v následujícím příkladu výstupu:

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

Poznámka:

Migrace spravované identity pro řídicí rovinu ze systému přiřazeného uživateli nemá za následek žádný výpadek řídicí roviny a fondů agentů. Komponenty řídicí roviny pokračují do staré identity přiřazené systémem až po několik hodin až do další aktualizace tokenu.

Určení typu spravované identity, kterou cluster používá

Pokud chcete zjistit, jaký typ spravované identity váš existující cluster AKS používá, zavolejte příkaz az aks show a zadejte dotaz na vlastnost typu identity.

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

Pokud cluster používá spravovanou identitu, hodnota vlastnosti typu bude buď SystemAssigned , nebo UserAssigned.

Pokud cluster používá instanční objekt, hodnota vlastnosti typu bude null. Zvažte upgrade clusteru tak, aby používal spravovanou identitu.

Použití předem vytvořené spravované identity kubeletu

Předem vytvořená identita kubeletu je spravovaná identita přiřazená uživatelem, která existuje před vytvořením clusteru. Tato funkce umožňuje scénáře, jako je připojení ke službě Azure Container Registry (ACR) během vytváření clusteru.

Poznámka:

AKS vytvoří identitu kubeletu přiřazenou uživatelem ve skupině prostředků uzlu, pokud nezadáte vlastní spravovanou identitu kubeletu.

Pro identitu kubeletu přiřazenou uživatelem mimo výchozí skupinu prostředků pracovního uzlu musíte přiřadit roli operátora spravované identity na identitě kubeletu pro spravovanou identitu řídicí roviny.

spravovaná identita kubeletu

Pokud nemáte spravovanou identitu kubelet, vytvořte ji pomocí az identity create příkazu.

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

Výstup by měl vypadat podobně jako v následujícím příkladu výstupu:

{
  "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"
}

Přiřazení role RBAC spravované identitě kubeletu

Managed Identity Operator Pomocí příkazu přiřaďte roli pro identitu kubeletuaz role assignment create. Zadejte ID objektu zabezpečení identity kubelet pro proměnnou $KUBELET_CLIENT_ID.

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

Vytvoření clusteru pro použití identity kubelet

Teď můžete vytvořit cluster AKS s existujícími identitami. Nezapomeňte zadat ID prostředku spravované identity pro řídicí rovinu zahrnutím argumentu assign-identity a spravované identity kubelet pomocí argumentu assign-kubelet-identity .

Pomocí příkazu vytvořte cluster AKS s existujícími identitami az aks create .

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

Úspěšné vytvoření clusteru AKS pomocí spravované identity kubelet by mělo mít za následek výstup podobný následujícímu:

  "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"
    }
  },

Aktualizace existujícího clusteru tak, aby používala identitu kubeletu

Pokud chcete aktualizovat existující cluster tak, aby používal spravovanou identitu kubeletu, nejprve získejte aktuální spravovanou identitu řídicí roviny pro váš cluster AKS.

Upozorňující

Aktualizace spravované identity kubelet upgraduje fondy uzlů clusteru AKS, což způsobí výpadek clusteru, protože uzly ve fondech uzlů jsou prostoje a vyprázdněné a poškozované.

  1. Pomocí příkazu ověřte, že cluster AKS používá spravovanou identitu přiřazenou uživatelem az aks show .

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

    Pokud váš cluster používá spravovanou identitu, výstup se zobrazí clientId s hodnotou MSI. Cluster používající instanční objekt zobrazuje ID objektu. Příklad:

    # The cluster is using a managed identity.
    {
      "clientId": "msi"
    }
    
  2. Po potvrzení, že cluster používá spravovanou identitu, pomocí příkazu vyhledejte ID az aks show prostředku spravované identity.

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

    U spravované identity přiřazené uživatelem by měl výstup vypadat podobně jako v následujícím příkladu výstupu:

    {
      "principalId": null,
      "tenantId": null,
      "type": "UserAssigned",
      "userAssignedIdentities": <identity-resource-id>
          "clientId": "<client-id>",
          "principalId": "<principal-id>"
    },
    
  3. Pomocí příkazu aktualizujte cluster pomocí existujících identit az aks update . Zadejte ID prostředku spravované identity přiřazené uživatelem pro řídicí rovinu argumentu assign-identity . Zadejte ID prostředku spravované identity kubelet pro assign-kubelet-identity argument.

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

Výstup úspěšné aktualizace clusteru s použitím vlastní spravované identity kubeletu by měl vypadat jako v následujícím příkladu výstupu:

  "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"
    }
  },

Poznámka:

Pokud váš cluster používal --attach-acr k načtení z imagí ze služby Azure Container Registry, spusťte az aks update --resource-group myResourceGroup --name myAKSCluster --attach-acr <ACR Resource ID> příkaz po aktualizaci clusteru, aby nově vytvořený kubelet používaný pro spravovanou identitu získal oprávnění k vyžádání z ACR. Jinak nebudete moct po upgradu načíst Z ACR.

Získání vlastností identity kubeletu

Pokud chcete získat vlastnosti identity kubelet, zavolejte az aks show a dotaz na identityProfile.kubeletidentity vlastnost.

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

Předem vytvořená omezení identity kubeletu

Všimněte si následujících omezení pro předem vytvořenou identitu kubeletu:

  • Předem vytvořená identita kubeletu musí být spravovaná identita přiřazená uživatelem.
  • Oblasti Čína – východ a Čína – sever v Microsoft Azure provozované společností 21Vianet se nepodporují.

Souhrn spravovaných identit používaných službou AKS

AKS používá několik spravovaných identit pro integrované služby a doplňky.

Identita Název Případ použití Výchozí oprávnění Používání vlastní identity
Řídicí rovina Název clusteru AKS Komponenty řídicí roviny AKS používají ke správě prostředků clusteru, včetně nástrojů pro vyrovnávání zatížení příchozího přenosu dat a veřejných IP adres spravovaných službou AKS, automatického škálování clusteru, disku Azure, souboru, ovladačů CSI objektů blob. Role přispěvatele pro skupinu prostředků Node Podporováno
Kubelet Fond názvů clusteru AKS Ověřování pomocí služby Azure Container Registry (ACR). Není k dispozici (pro Kubernetes v1.15+) Podporováno
doplněk AzureNPM Nevyžaduje se žádná identita. No
doplněk Monitorování sítě AzureCNI Nevyžaduje se žádná identita. No
doplněk azure-policy (gatekeeper) Nevyžaduje se žádná identita. No
doplněk azure-policy Nevyžaduje se žádná identita. No
doplněk Kaliko Nevyžaduje se žádná identita. No
doplněk směrování aplikací Spravuje certifikáty Azure DNS a Azure Key Vault. Role uživatele tajných kódů služby Key Vault pro službu Key Vault, role Přispěvatel zóny DNZ pro zóny DNS, role přispěvatele zóny Privátní DNS pro privátní zóny DNS No
doplněk HttpApplicationRouting Spravuje požadované síťové prostředky. Role čtenáře pro skupinu prostředků uzlu, role přispěvatele pro zónu DNS No
doplněk Příchozí přenos dat služby Application Gateway Spravuje požadované síťové prostředky. Role přispěvatele pro skupinu prostředků uzlu No
doplněk omsagent Používá se k odesílání metrik AKS do služby Azure Monitor. Monitorování role vydavatele metrik No
doplněk Virtuální uzel (ACIConnector) Spravuje požadované síťové prostředky pro Azure Container Instances (ACI). Role přispěvatele pro skupinu prostředků uzlu No
doplněk Analýza nákladů Používá se ke shromažďování dat o alokaci nákladů.
Identita úloh ID úlohy Microsoft Entra Umožňuje aplikacím bezpečně přistupovat ke cloudovým prostředkům pomocí ID úlohy Microsoft Entra. No

Důležité

Opensourcová identita spravovaná podem Microsoft Entra (Preview) ve službě Azure Kubernetes Service byla vyřazena 24. září 2022 a projekt archivovaný v září 2023. Další informace najdete v oznámení o vyřazení. Spravovaný doplněk AKS se zahájí v září 2024.

Doporučujeme, abyste zkontrolovali ID úloh Microsoft Entra. Entra ID úloh ověřování nahrazuje zastaralou funkci identity spravované podem (Preview). Entra ID úloh je doporučená metoda, která umožňuje aplikaci běžící na podu ověřit se v jiných službách Azure, které ji podporují.

Omezení

  • Přesun nebo migrace clusteru s podporou spravované identity do jiného tenanta se nepodporuje.

  • Pokud má cluster povolenou identituaad-pod-identity spravovanou podem () Microsoft Entra, pody NMI (Node-Managed Identity) upraví iptables uzlů tak, aby zachytily volání koncového bodu Azure Instance Metadata (IMDS). Tato konfigurace znamená, že NMI zachytí všechny požadavky na koncový bod IMDS, a to i v případě, že konkrétní pod nepoužívá aad-pod-identity.

    Definici vlastního prostředku (CRD) AzurePodIdentityException je možné nakonfigurovat tak, aby určila, že požadavky na koncový bod IMDS, který pochází z popisků odpovídajících podům definovaným v CRD, by se měly posílat bez jakéhokoli zpracování v NMI. Vylučte systémové pody s kubernetes.azure.com/managedby: aks popiskem v oboru názvů kube-system tak aad-pod-identity , že nakonfigurujete CRD AzurePodIdentityException. Další informace najdete v tématu Použití identit spravovaných podem Microsoftu ve službě Azure Kubernetes Service.

    Pokud chcete nakonfigurovat výjimku, nainstalujte YAML s výjimkou mikrofonu.

  • AKS nepodporuje použití spravované identity přiřazené systémem při použití vlastní privátní zóny DNS.

Další kroky

  • Pomocí šablon Azure Resource Manageru vytvořte cluster s podporou spravované identity.
  • Zjistěte, jak používat kubelogin pro všechny podporované metody ověřování Microsoft Entra v AKS.