Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az AKS-fürthöz Microsoft Entra szolgáltatási név vagy felügyelt identitás szükséges, hogy más Azure-erőforrásokat, mint például az Azure Load Balancer vagy az Azure Container Registry (ACR), dinamikusan létrehozzon és kezeljen.
Az optimális biztonság és a könnyű használat érdekében a Microsoft azt javasolja, hogy a szolgáltatásnevek helyett felügyelt identitásokat használjon az AKS-fürtökről más Azure-erőforrásokhoz való hozzáférés engedélyezéséhez. A felügyelt identitás egy speciális szolgáltatásnévtípus, amely a Microsoft Entra hitelesítő adatainak beszerzésére használható anélkül, hogy a hitelesítő adatokat kezelnie és biztonságossá kellene tenni. A felügyelt identitás fürttel való használatáról további információt a Felügyelt identitás használata az AKS-ben című témakörben talál.
Ez a cikk bemutatja, hogyan hozhat létre és használhat szolgáltatási főazonosítót az AKS-fürtökkel.
Mielőtt hozzákezdene
Microsoft Entra-szolgáltatásnév létrehozásához rendelkeznie kell engedéllyel ahhoz, hogy regisztráljon egy alkalmazást a Microsoft Entra-bérlőjénél, és hozzárendelje az alkalmazást egy szerepkörhöz az előfizetésében. Ha nem rendelkezik a szükséges engedélyekkel, meg kell kérnie a Microsoft Entra ID vagy az előfizetés adminisztrátorát, hogy rendelje hozzá a szükséges engedélyeket, vagy előre hozzon létre egy szolgáltatásnevet az AKS-fürthöz való használatra.
Ha egy másik Microsoft Entra-bérlőtől származó szolgáltatásnevet használ, a fürt üzembe helyezésekor az elérhető engedélyek tekintetében további szempontokat is figyelembe kell venni. Előfordulhat, hogy nem rendelkezik a címtáradatok olvasására és írására vonatkozó megfelelő engedélyekkel. További információ: Mik az alapértelmezett felhasználói engedélyek a Microsoft Entra-azonosítóban?
Előfeltételek
- Az Azure CLI használata esetén az Azure CLI 2.0.59-es vagy újabb verziójára lesz szüksége. A verzió azonosításához futtassa a következőt:
az --version
. Ha telepítenie vagy frissítenie kell, tekintse meg az Azure CLI telepítését. - Az Azure PowerShell használata esetén az Azure PowerShell 5.0.0-s vagy újabb verziójára lesz szüksége. A verzió azonosításához futtassa a következőt:
Get-InstalledModule -Name Az
. Ha telepítenie vagy frissítenie kell, olvassa el az Azure Az PowerShell-modul telepítését ismertető témakört.
Szolgáltatási főszereplő létrehozása
Hozzon létre egy szolgáltatási elvenyomatot a fürt létrehozása előtt.
Hozzon létre egy szolgáltatásnevet a
az ad sp create-for-rbac
paranccsal.az ad sp create-for-rbac --name myAKSClusterServicePrincipal
A kimenetnek hasonlónak kell lennie a következő példakimenethez:
{ "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "displayName": "myAKSClusterServicePrincipal", "name": "http://myAKSClusterServicePrincipal", "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }
Másolja ki a
appId
és apassword
értékeit a kimenetből. Ezeket akkor használja, ha AKS-fürtöt hoz létre a következő szakaszban.
Adjon meg egy szolgáltatásfiókot egy AKS-fürthöz
Használjon egy meglévő szolgáltatási főazonosítót egy új AKS-fürthöz a
az aks create
paranccsal, és a--service-principal
és--client-secret
paraméterekkel adja meg az előző szakaszban kapottappId
éspassword
kimeneteket.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --service-principal <appId> \ --client-secret <password> \ --generate-ssh-keys
Megjegyzés:
Ha egy meglévő szolgáltatásnevet használ testre szabott titkos kóddal, győződjön meg arról, hogy a titkos kód nem hosszabb 190 bájtnál.
Hozzáférés delegálása más Azure-erőforrásokhoz
Az AKS-fürt szolgáltatásazonosítójával más erőforrásokhoz is hozzáférhet. Ha például egy meglévő Azure-beli virtuális hálózati alhálózaton szeretné üzembe helyezni az AKS-fürtöt, csatlakozni szeretne az Azure Container Registry (ACR) szolgáltatáshoz, vagy hozzáférne kulcsokhoz vagy titkokhoz egy kulcstartóból a fürtből, akkor az erőforrásokhoz való hozzáférést delegálnia kell a szolgáltatásazonosítónak. A hozzáférés delegálásához rendeljen hozzá egy Azure szerepköralapú hozzáférés-vezérlési (Azure RBAC) szerepkört a szolgáltatás fő példányhoz.
Fontos
A fürthöz társított szolgáltatásnévnek adott engedélyek propagálása akár 60 percet is igénybe vehet.
Szerepkör-hozzárendelés létrehozása a
az role assignment create
paranccsal. Adja meg a szolgáltatási főszereplő appID-jának értékét aappId
paraméterhez. Adja meg a szerepkör-hozzárendelés hatókörét, például egy erőforráscsoportot vagy egy virtuális hálózati erőforrást. A szerepkör hozzárendelése határozza meg, hogy a szolgáltatási főelem milyen engedélyekkel rendelkezik az erőforráson és milyen hatókörben.Ha például a kulcstartóban lévő titkokhoz rendeli hozzá a szolgáltatási főazonosító engedélyeit, a következő parancsot használhatja:
az role assignment create \ --assignee <appId> \ --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>" \ --role "Key Vault Secrets User"
Megjegyzés:
Egy
--scope
erőforráshoz teljes erőforrás-azonosítónak kell lennie, például /subscriptions/<guid>/resourceGroups/myResourceGroup vagy /subscriptions/<guid>/resourceGroups/myResourceGroupVnet/providers/Microsoft.Network/virtualNetworks/myVnet.
Az alábbi szakaszok részletesen ismertetik azokat a gyakori delegálásokat, amelyeket hozzárendelnie kell egy szolgáltatási főszereplőhöz.
Azure Container Registry (konténer-regisztrációs szolgáltatás)
Ha az Azure Container Registryt (ACR) használja tárolórendszerkép-tárolóként, engedélyeket kell adnia az AKS-fürt szolgáltatásnevének a rendszerképek olvasásához és lekéréséhez. Javasoljuk, hogy a az aks create
vagy az aks update
parancsot használja egy beállításjegyzékbe való integráláshoz, és rendeljen hozzá megfelelő szerepkört a szolgáltatási főszereplőnek. Részletes lépésekért lásd: Hitelesítés az Azure Container Registryvel az Azure Kubernetes Service-ből.
Kapcsolatteremtés
Használhat speciális hálózatkezelést, ha a virtuális hálózat és az alhálózat vagy a nyilvános IP-címek egy másik erőforráscsoportban találhatók. Rendelje hozzá a Hálózati Közreműködő alapértelmezett szerepkört a virtuális hálózaton belüli alhálózathoz. Másik lehetőségként létrehozhat egy egyéni szerepkört , amely engedélyekkel rendelkezik az adott erőforráscsoportban lévő hálózati erőforrások eléréséhez. További információ: AKS szolgáltatásengedélyek.
Raktározás
Ha egy másik erőforráscsoport meglévő lemezerőforrásait kell elérnie, rendelje hozzá a következő szerepkör-engedélyek egyikét:
- Hozzon létre egy egyéni szerepkört, és határozza meg a Microsoft.Compute/disks/read és a Microsoft.Compute/disks/write szerepkör engedélyeit, vagy
- Rendelje hozzá a Virtual Machine Contributor beépített szerepkörét az erőforráscsoporthoz.
Azure-tartálypéldányok
Ha a Virtual Kubelet használatával integrál az AKS-sel, és úgy dönt, hogy az Azure Container Instances (ACI) szolgáltatást külön erőforráscsoportban futtatja az AKS-fürttől, akkor az AKS-fürt szolgáltatásnévnek közreműködői engedélyeket kell kapnia az ACI erőforráscsoport számára.
Egyéb szempontok
Az AKS és a Microsoft Entra szolgáltatásazonosító használatakor vegye figyelembe a következőket:
- A Kubernetes szolgáltatásazonosító része a fürtkonfigurációnak, de ne használja ezt az azonosítót a fürt telepítéséhez.
- Alapértelmezés szerint a szolgáltatás főazonosító hitelesítő adatai egy évig érvényesek. A szolgáltatásfiók hitelesítő adatait bármikor frissítheti vagy megváltoztathatja.
- Minden szolgáltatásnév egy Microsoft Entra-alkalmazáshoz van társítva. Egy Kubernetes-fürt szolgáltatás-azonosítóját bármely érvényes Microsoft Entra-alkalmazásnévvel társíthatja (például:
https://www.contoso.org/example
). Az alkalmazás URL-címének nem kell valódi végpontnak lennie. - Amikor megadja a szolgáltatásnév ügyfélazonosítóját, használja a
appId
értékét. - A Kubernetes-fürt ügynökcsomópontjain lévő virtuális gépeken a szolgáltatási fő azonosító hitelesítő adatai a
/etc/kubernetes/azure.json
fájlban vannak tárolva. - A
az aks create
parancs használatával létrehozott AKS-fürt törlésekor a létrehozott szolgáltatási főnév nem törlődik automatikusan.A szolgáltatásnév törléséhez, kérdezze le a fürt servicePrincipalProfile.clientId azonosítóját, majd törölje azt a
az ad sp delete
parancs használatával. Cserélje le az-g
erőforráscsoport nevének és-n
a fürtnév paraméterének értékeit:az ad sp delete --id $(az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query servicePrincipalProfile.clientId \ --output tsv)
Hibaelhárítás
Az Azure CLI gyorsítótárazza az AKS-fürtök szolgáltatásnév-hitelesítő adatait. Ha ezek a hitelesítő adatok lejárnak, hibák léphetnek fel az AKS-fürt üzembe helyezése során. Ha futtatja a az aks create
parancsot, és a következőhöz hasonló hibaüzenetet kap, az a gyorsítótárazott szolgáltatásnév hitelesítő adataival kapcsolatos problémát jelezhet:
Operation failed with status: 'Bad Request'.
Details: The credentials in ServicePrincipalProfile were invalid. Please see https://aka.ms/aks-sp-help for more details.
(Details: adal: Refresh request failed. Status Code = '401'.
A szolgáltatás főszereplő hitelesítő adatainak lejárati dátumát a az ad app credential list
parancs és a "[].endDateTime"
lekérdezés használatával ellenőrizheti.
az ad app credential list \
--id <app-id> \
--query "[].endDateTime" \
--output tsv
A szolgáltatásnév-hitelesítő adatok alapértelmezett lejárati ideje egy év. Ha a hitelesítő adatai egy évnél régebbiek, alaphelyzetbe állíthatja a meglévő hitelesítő adatokat , vagy létrehozhat egy új szolgáltatásnevet.
Az Azure CLI általános hibaelhárítása
Az Azure CLI több rendszerhéj-környezetben is futtatható, de kisebb formátumváltozatokkal. Ha az Azure CLI-parancsokkal nem várt eredményeket kap, olvassa el az Azure CLI sikeres használatát ismertető témakört.
Következő lépések
A Microsoft Entra szolgáltatási főelneveivel kapcsolatos további információkért tekintse meg az alkalmazás- és szolgáltatási főnév-objektumokat.
A hitelesítő adatok frissítéséről további információt az AKS szolgáltatásnév hitelesítő adatainak frissítése vagy elforgatása című témakörben talál.
Azure Kubernetes Service