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 uživatelem 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čená pro použití 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 spustitaz 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 Network Contributor
roli pro vlastní skupinu prostředků.
Pomocí příkazu například přiřaďte Network 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 "Network 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
ACRPull
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 a zadejte ID registru ACR pro proměnnou $ACR_REGISTRY_ID.
az role assignment create \
--assignee $KUBELET_CLIENT_ID \
--role "acrpull" \
--scope "$ACR_REGISTRY_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é.
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" }
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>" },
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 argumentuassign-identity
. Zadejte ID prostředku spravované identity kubelet proassign-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 identitu
aad-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 takaad-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.
Azure Kubernetes Service