Szerkesztés

Share via


Kubernetes számítási feladat identitása és hozzáférése

Microsoft Entra ID
Azure Kubernetes Service (AKS)

Ez a cikk azt ismerteti, hogy az Amazon Elastic Kubernetes Service (Amazon EKS) és az Azure Kubernetes Service (AKS) hogyan biztosít identitást a Kubernetes számítási feladatai számára a felhőplatform-szolgáltatások eléréséhez. Az Amazon Web Services (AWS) identity and Access Management (IAM) és a Microsoft Entra ID részletes összehasonlítását lásd:

Ez az útmutató bemutatja, hogy az AKS-fürtök, a beépített szolgáltatások és a bővítmények hogyan használják a felügyelt identitásokat az Azure-erőforrások, például a terheléselosztók és a felügyelt lemezek eléréséhez. A cikk azt is bemutatja, hogyan használhatja a Microsoft Entra Számítási feladat ID, hogy az AKS-számítási feladatok kapcsolati sztring, hozzáférési kulcs vagy felhasználói hitelesítő adatok nélkül férhessenek hozzá az Azure-erőforrásokhoz.

Feljegyzés

Ez a cikk egy cikksorozat része, amely segít az Amazon EKS-t ismerő szakembereknek az AKS megértésében.

Amazon EKS-identitás- és hozzáférés-kezelés

Az Amazon EKS két natív lehetőséggel hívhatja meg az AWS-szolgáltatásokat egy Kubernetes-podon belül: a szolgáltatásfiókok IAM-szerepkörei és az Amazon EKS szolgáltatáshoz társított szerepkörei.

A szolgáltatásfiókok IAM-szerepkörei egy Kubernetes-szolgáltatásfiókhoz társítják az IAM-szerepköröket. Ez a szolgáltatásfiók AWS-engedélyeket biztosít a szolgáltatásfiókot használó podok tárolóihoz. A szolgáltatásfiókok IAM-szerepkörei a következő előnyöket biztosítják:

  • Minimális jogosultság: Az AWS API-k meghívásához nem kell kiterjesztett engedélyeket adnia a csomópont IAM-szerepköréhez az adott csomópont podjai számára. Hatókörbe helyezheti az IAM-engedélyeket egy szolgáltatásfiókra, és csak a szolgáltatásfiókot használó podok férhetnek hozzá ezekhez az engedélyekhez. Ez a funkció azt is kiküszöböli, hogy szükség van külső megoldásokra, például kiam vagy kube2iam.

  • Hitelesítő adatok elkülönítése: A tárolók csak a hozzá tartozó szolgáltatásfiókhoz társított IAM-szerepkör hitelesítő adatait tudják lekérni. A tárolók soha nem férnek hozzá egy másik podhoz tartozó tároló hitelesítő adataihoz.

  • Naplózás: Az Amazon CloudTrail hozzáférést és eseménynaplózást biztosít a visszamenőleges naplózás biztosításához.

Az Amazon EKS szolgáltatáshoz társított szerepkörei egyedi IAM-szerepkörök, amelyek közvetlenül az Amazon EKS-hez vannak társítva. A szolgáltatáshoz társított szerepköröket az Amazon EKS előre definiálja, és tartalmazza a szerepkör nevében más AWS-szolgáltatások meghívásához szükséges összes engedélyt. Az Amazon EKS-csomópont IAM-szerepköre esetében az Amazon EKS-csomópont kubelet démonja meghívja az AWS API-kat a csomópont nevében. A csomópontok egy IAM-példányprofilból és a kapcsolódó szabályzatokból kapják meg az api-hívásokhoz szükséges engedélyeket.

AKS-fürt által felügyelt identitások

Az AKS-fürtökhöz 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. Ez az identitás lehet felügyelt identitás vagy szolgáltatásnév. Alapértelmezés szerint az AKS-fürt létrehozása automatikusan létrehoz egy rendszer által hozzárendelt felügyelt identitást. Az Azure platform kezeli az identitást, és nem kell titkos kulcsokat kiépítenie vagy elforgatnia. A Microsoft Entra által 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.

Az AKS nem hozza létre automatikusan a szolgáltatásnevet , ezért ha szolgáltatásnevet szeretne használni, létre kell hoznia. A szolgáltatásnév végül lejár, és a fürt működéséhez meg kell újítania. A szolgáltatásnevek kezelése összetettebbé teszi a szolgáltatást, így egyszerűbb a felügyelt identitások használata.

A felügyelt identitások lényegében olyan egyszerű szolgáltatásnevek köré vannak burkolva, amelyek leegyszerűsítik a felügyeletet. Ugyanezek az engedélykövetelmények vonatkoznak a szolgáltatásnevekre és a felügyelt identitásokra is. A felügyelt identitások tanúsítványalapú hitelesítést használnak. Minden felügyelt identitás hitelesítő adatainak lejárata 90 nap, és 45 nap után rotálódik.

Az AKS mind a rendszer által hozzárendelt, mind a felhasználó által hozzárendelt felügyelt identitástípusokat használja, és ezek az identitások nem módosíthatók. Ha AKS virtuális hálózatot, csatlakoztatott Azure-lemezt, statikus IP-címet, útvonaltáblát vagy felhasználó által hozzárendelt kubelet identitást hoz létre vagy használ a csomópont erőforráscsoporton kívüli erőforrásokkal, az Azure CLI automatikusan hozzáadja a szerepkör-hozzárendelést.

Ha egy másik módszerrel hozza létre az AKS-fürtöt, például egy Bicep-sablont, az Azure Resource Manager-sablont vagy a Terraform-modult, a fürt által felügyelt identitás egyszerű azonosítójával kell szerepkör-hozzárendelést végeznie. Az AKS-fürt identitásának legalább hálózati közreműködői szerepkörrel kell rendelkeznie a virtuális hálózaton belüli alhálózaton. Ha egyéni szerepkört szeretne definiálni a beépített hálózati közreműködői szerepkör használata helyett, a következő engedélyekre van szüksége:

  • Microsoft.Network/virtualNetworks/subnets/join/action
  • Microsoft.Network/virtualNetworks/subnets/read

Ha a fürt identitásának hozzá kell férnie egy meglévő erőforráshoz, például amikor egy AKS-fürtöt helyez üzembe egy meglévő virtuális hálózaton, felhasználó által hozzárendelt felügyelt identitást kell használnia. Ha rendszer által hozzárendelt vezérlősík-identitást használ, az erőforrás-szolgáltató nem tudja lekérni az egyszerű azonosítóját a fürt létrehozása előtt, így a fürt kiépítése előtt lehetetlen létrehozni a megfelelő szerepkör-hozzárendeléseket.

Felügyelt identitások összegzése

Az AKS a következő felhasználó által hozzárendelt felügyelt identitásokat használja 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 Fürterőforrásokat kezel, 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, valamint az Azure Disk és az Azure File 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 használatával NA (kubernetes v1.15+) Támogatott
Alkalmazáson belüli HTTPApplicationRouting A szükséges hálózati erőforrások kezelése 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ó A szükséges hálózati erőforrások kezelése Közreműködői szerepkör a csomópont erőforráscsoporthoz Nem
Alkalmazáson belüli omsagent AKS-metrikák küldése az Azure Monitorba Metrika közzétevői szerepkör figyelése Nem
Alkalmazáson belüli Virtuális csomópont (ACI Csatlakozás or) Az Azure Container Instances szükséges hálózati erőforrásainak kezelése Közreműködői szerepkör a csomópont erőforráscsoporthoz Nem

További információ: Felügyelt identitás használata az Azure Kubernetes Service-ben.

Microsoft Entra Számítási feladat ID a Kuberneteshez

A Kubernetes számítási feladataihoz a Microsoft Entra alkalmazás hitelesítő adatai szükségesek a Microsoft Entra ID által védett erőforrások, például az Azure Key Vault és a Microsoft Graph eléréséhez. A fejlesztők számára gyakori kihívás a titkos kódok és hitelesítő adatok kezelése a megoldás különböző összetevői közötti kommunikáció biztonságossá tételéhez.

Microsoft Entra Számítási feladat ID a Kubernetes esetében szükségtelenné teszi a hitelesítő adatok kezelését olyan felhőszolgáltatások eléréséhez, mint az Azure Cosmos DB, az Azure Key Vault vagy az Azure Blob Storage. Az AKS által üzemeltetett számítási feladatokhoz tartozó alkalmazások Microsoft Entra Számítási feladat ID használhatnak az Azure által felügyelt szolgáltatások eléréséhez Egy Microsoft Entra biztonsági jogkivonat használatával, ahelyett, hogy explicit hitelesítő adatokat, például kapcsolati sztring, felhasználónevet és jelszót vagy elsődleges kulcsot használnak.

Az alábbi ábrán látható módon a Kubernetes-fürt biztonsági jogkivonat-kiállítóvá válik, amely jogkivonatokat ad ki a Kubernetes szolgáltatásfiókjainak. Ezeket a jogkivonatokat úgy konfigurálhatja, hogy megbízhatók legyenek a Microsoft Entra-alkalmazásokban. A jogkivonatok ezután az Azure Identity SDK-k vagy a Microsoft Authentication Library (MSAL) használatával válthatók a Microsoft Entra hozzáférési jogkivonatokra.

Egy pod által felügyelt identitás egyszerűsített munkafolyamatát bemutató ábra az Azure-ban.

  1. Az kubelet ügynök egy szolgáltatásfiók-jogkivonatot ad ki a számítási feladatnak egy konfigurálható fájlútvonalon.
  2. A Kubernetes számítási feladat elküldi a tervezett, aláírt szolgáltatásfiók-jogkivonatot a Microsoft Entra-azonosítónak, és hozzáférési jogkivonatot kér.
  3. A Microsoft Entra ID egy OIDC felderítési dokumentum használatával ellenőrzi a felhasználó által definiált felügyelt identitás vagy regisztrált alkalmazás megbízhatóságát, és ellenőrzi a bejövő jogkivonatot.
  4. A Microsoft Entra ID biztonsági hozzáférési jogkivonatot ad ki.
  5. A Kubernetes számítási feladatai a Microsoft Entra hozzáférési jogkivonat használatával férnek hozzá az Azure-erőforrásokhoz.

Microsoft Entra Számítási feladat ID Kubernetes-összevonás jelenleg csak a Microsoft Entra-alkalmazások esetében támogatott, de ugyanez a modell az Azure által felügyelt identitásokra is kiterjedhet.

A Microsoft Entra Számítási feladat ID további információi, automatizálása és dokumentációja:

Példa számítási feladatra

A példa számítási feladat egy előtérbeli és egy háttérszolgáltatást futtat egy AKS-fürtön. A számítási feladatok szolgáltatásai Microsoft Entra Számítási feladat ID használnak a következő Azure-szolgáltatások eléréséhez a Microsoft Entra biztonsági jogkivonatok használatával:

  • Azure Key Vault
  • Azure Cosmos DB
  • Azure Storage-fiók
  • Azure Service Bus-névtér

Előfeltételek

  1. Állítson be egy AKS-fürtöt, amelyen engedélyezve van az OIDC-kiállító .
  2. Telepítse a mutációs felvételi webhookot.
  3. Hozzon létre egy Kubernetes-szolgáltatásfiókot a számítási feladatokhoz.
  4. Hozzon létre egy Microsoft Entra-alkalmazást a rövid útmutatóban látható módon.
  5. A megfelelő engedélyekkel rendelkező szerepkörök hozzárendelése a szükséges Microsoft Entra regisztrált alkalmazásokhoz.
  6. Összevont identitás-hitelesítő adatok létrehozása a Microsoft Entra-alkalmazás és a szolgáltatásfiók kiállítója és tárgya között.
  7. Helyezze üzembe a számítási feladatot az AKS-fürtben.

Microsoft Entra Számítási feladat ID üzenetfolyam

Az AKS-alkalmazások biztonsági jogkivonatokat kapnak a szolgáltatásfiókjukhoz az AKS-fürt OIDC-kiállítójától . Microsoft Entra Számítási feladat ID a biztonsági jogkivonatokat a Microsoft Entra ID által kibocsátott biztonsági jogkivonatokkal cseréli, és az alkalmazások a Microsoft Entra id által kibocsátott biztonsági jogkivonatokat használják az Azure-erőforrások eléréséhez.

Az alábbi ábra bemutatja, hogy az előtér- és háttéralkalmazások hogyan szereznek be Microsoft Entra biztonsági jogkivonatokat az Azure-platform szolgáltatásként (PaaS) való használatához.

Microsoft Entra Számítási feladat ID használó példaalkalmazást bemutató diagram.

Töltse le az architektúra Visio-fájlját.

  1. A Kubernetes egy jogkivonatot ad ki a podnak, amikor az ütemezve van egy csomóponton a pod vagy az üzembe helyezési specifikáció alapján.
  2. A pod elküldi az OIDC által kibocsátott jogkivonatot a Microsoft Entra-azonosítónak, hogy Microsoft Entra-jogkivonatot kérjen az adott appId és erőforráshoz.
  3. A Microsoft Entra ID ellenőrzi az alkalmazás megbízhatóságát, és ellenőrzi a bejövő jogkivonatot.
  4. A Microsoft Entra ID biztonsági jogkivonatot ad ki: {sub: appId, aud: requested-audience}.
  5. A pod a Microsoft Entra-jogkivonatot használja a cél Azure-erőforrás eléréséhez.

Kubernetes-fürtön Microsoft Entra Számítási feladat ID végpontok közötti használata:

  1. Konfigurálja az AKS-fürtöt jogkivonatok kiadására, és közzé kell tennie egy OIDC felderítési dokumentumot a jogkivonatok érvényesítésének engedélyezéséhez.
  2. A Microsoft Entra-alkalmazásokat úgy konfigurálja, hogy megbízzanak a Kubernetes-jogkivonatokban.
  3. A fejlesztők úgy konfigurálják az üzemelő példányokat, hogy a Kubernetes-szolgáltatásfiókokat használják a Kubernetes-jogkivonatok lekéréséhez.
  4. Microsoft Entra Számítási feladat ID a Kubernetes-jogkivonatokat Microsoft Entra-jogkivonatokra cseréli.
  5. Az AKS-fürt számítási feladatai a Microsoft Entra-jogkivonatokkal férnek hozzá a védett erőforrásokhoz, például a Microsoft Graphhoz.

Közreműködők

Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.

Fő szerzők:

Egyéb közreműködők:

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések