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


Az Azure Arc által engedélyezett AKS hozzáférési és identitásbeállításai

A következőkre vonatkozik: AKS az Azure Stack HCI 23H2-n

A Kubernetes-fürtökhöz való hozzáférést többféleképpen hitelesítheti, engedélyezheti, biztonságossá teheti és szabályozhatja:

  • A Kubernetes szerepköralapú hozzáférés-vezérlésével (Kubernetes RBAC) csak a szükséges Kubernetes-erőforrásokhoz adhat hozzáférést a felhasználóknak, csoportoknak és szolgáltatásfiókoknak.
  • Ha az AKS-fürtök engedélyezve van az Azure RBAC-vel, a Microsoft Entra ID és az Azure RBAC használatával tovább javíthatja a biztonsági és engedélystruktúrát.

A Kubernetes RBAC és az Azure RBAC segítségével biztonságossá teheti a fürthozzáférést, és csak a minimálisan szükséges engedélyeket biztosíthatja a fejlesztőknek és operátoroknak.

Ez a cikk bemutatja azokat az alapvető fogalmakat, amelyek segítenek az AKS-ben való hitelesítésben és engedélyek hozzárendelésében.

A Kubernetes szerepköralapú hozzáférés-vezérlése (RBAC)

A Kubernetes RBAC részletes szűrést biztosít a felhasználói műveletekre. Ezzel a vezérlési mechanizmussal:

  • Felhasználókat vagy felhasználói csoportokat rendelhet hozzá az erőforrások létrehozásához és módosításához, illetve naplók megtekintéséhez az alkalmazás számítási feladatainak futtatásával.
  • Az engedélyek hatóköre egyetlen névtérre vagy a teljes AKS-fürtre terjedhet ki.
  • Szerepköröket hozhat létre az engedélyek definiálásához, majd ezeket a szerepköröket szerepkörkötésekkel rendelkező felhasználókhoz rendelheti.

További információ: Kubernetes RBAC-hitelesítés használata.

Szerepkörök és fürtrolok

Szerepkörök

Mielőtt engedélyeket rendel a Kubernetes RBAC-vel rendelkező felhasználókhoz, szerepkörként kell meghatároznia a felhasználói engedélyeket. Engedélyek megadása Egy Kubernetes-névtérben szerepkörök használatával.

A Kubernetes-szerepkörök engedélyeket adnak; nem tagadják meg az engedélyeket. Ha az egész fürtre vagy egy adott névtéren kívüli fürterőforrásra szeretne engedélyeket adni, használhatja a ClusterRoles-t.

ClusterRoles

A ClusterRole engedélyeket ad és alkalmaz a teljes fürt erőforrásaira, nem pedig egy adott névtérre.

RoleBindings és ClusterRoleBindings

Miután meghatározta az erőforrások engedélyeinek megadásához szükséges szerepköröket, ezeket a Kubernetes RBAC-engedélyeket egy RoleBindinggel rendelheti hozzá. Ha az AKS-fürt integrálva van a Microsoft Entra-azonosítóval, a RoleBindings engedélyt ad a Microsoft Entra-felhasználóknak a fürtön belüli műveletek végrehajtására. Lásd: Hozzáférés szabályozása a Microsoft Entra ID és a Kubernetes RBAC használatával

RoleBindings

Szerepkörök hozzárendelése egy adott névtér felhasználóihoz a RoleBindings használatával. A RoleBindings használatával logikailag elkülöníthet egy AKS-fürtöt, és csak a felhasználók férhetnek hozzá az alkalmazás erőforrásaihoz a hozzárendelt névtérben.

Ha a szerepköröket a teljes fürtben vagy egy adott névtéren kívüli fürterőforráshoz szeretné kötni, használja a ClusterRoleBindings parancsot.

ClusterRoleBinding

A ClusterRoleBinding használatával szerepköröket köthet a felhasználókhoz, és a teljes fürt erőforrásaira alkalmazhat, nem pedig egy adott névtérre. Ezzel a módszerrel hozzáférést biztosíthat a rendszergazdáknak vagy a támogatási mérnököknek az AKS-fürt összes erőforrásához.

Kubernetes-szolgáltatásfiókok

A szolgáltatásfiókok a Kubernetes egyik elsődleges felhasználói típusa. A Kubernetes API szolgáltatásfiókokat tárol és kezel. A szolgáltatásfiók hitelesítő adatai Kubernetes-titkos kulcsként vannak tárolva, így az arra jogosult podok használhatják őket az API-kiszolgálóval való kommunikációhoz. A legtöbb API-kérés hitelesítési jogkivonatot biztosít egy szolgáltatásfiókhoz vagy egy normál felhasználói fiókhoz.

A normál felhasználói fiókok hagyományosabb hozzáférést biztosítanak az emberi rendszergazdák vagy fejlesztők számára, nem csak a szolgáltatásokhoz és a folyamatokhoz. Bár a Kubernetes nem biztosít identitáskezelési megoldást a normál felhasználói fiókok és jelszavak tárolására, a külső identitáskezelési megoldásokat integrálhatja a Kubernetesbe. Az AKS-fürtök esetében ez az integrált identitásmegoldás a Microsoft Entra ID.

További információ a Kubernetes identitásbeállításairól: Kubernetes-hitelesítés.

Azure szerepköralapú hozzáférés-vezérlő

Az Azure Szerepköralapú Hozzáférés-vezérlés (RBAC) az Azure Resource Managerre épülő engedélyezési rendszer, amely az Azure-erőforrások részletes hozzáférés-kezelését biztosítja.

RBAC rendszer Leírás
Kubernetes RBAC Úgy tervezték, hogy kubernetes-erőforrásokon dolgozzon az AKS-fürtön belül.
Azure RBAC-vel Úgy tervezték, hogy az Azure-előfizetésen belüli erőforrásokon dolgozzon.

Az Azure RBAC-vel létrehoz egy szerepkördefiníciót , amely felvázolja az alkalmazandó engedélyeket. Ezután hozzárendelhet egy felhasználót vagy csoportosíthatja ezt a szerepkördefiníciót egy adott hatókörhöz tartozó szerepkör-hozzárendeléssel. A hatókör lehet egyéni erőforrás, erőforráscsoport vagy az előfizetés egésze.

További információ: Mi az Azure szerepköralapú hozzáférés-vezérlése (Azure RBAC)?

Az AKS Arc-fürt teljes működéséhez két hozzáférési szint szükséges:

  • Az AKS-erőforrás elérése az Azure-előfizetésben.
    • A fürt skálázásának vagy frissítésének szabályozása az Azure Arc API-k által engedélyezett AKS használatával.
    • Kérje le a rendszergazdai, tanúsítványalapú kubeconfigot.
    • Kérje le az Entra-azonosítóval kompatibilis kubeconfigot.
  • Hozzáférés a Kubernetes API-hoz. Ezt a hozzáférést a következők vezérlik:
    • Kubernetes RBAC vagy
    • Az Azure RBAC integrálása az AKS-sel a Kubernetes-engedélyezéshez.

Azure RBAC az AKS-erőforráshoz való hozzáférés engedélyezéséhez

Az Azure RBAC-vel részletes hozzáférést biztosíthat a felhasználóknak (vagy identitásoknak) az AKS-erőforrásokhoz egy vagy több előfizetésben. Ehhez a vezérlősík-művelethez három szerepkör érhető el: az Azure Kubernetes Service Arc-fürt rendszergazdai szerepköre, az Azure Kubernetes Service Arc-fürt felhasználói szerepköre és az Azure Kubernetes Service Arc közreműködői szerepköre. Minden szerepkör eltérő engedélyhatókörrel rendelkezik a tárolók azure-beli beépített szerepköreiben leírtak szerint. Az Azure Kubernetes Service Arc közreműködői szerepkörével például létrehozhatja, méretezheti és frissítheti a fürtöt. Eközben az Azure Kubernetes Service Arc-fürt rendszergazdai szerepkörrel rendelkező másik felhasználó csak engedéllyel rendelkezik a rendszergazdai kubeconfig lekérésére.

Azure RBAC kubernetes-engedélyezéshez

Az Azure RBAC-integrációval az AKS egy Kubernetes engedélyezési webhook-kiszolgálót használ, így a Microsoft Entra integrált Kubernetes-fürterőforrás-engedélyeit és hozzárendeléseit Azure-szerepkördefiníciók és szerepkör-hozzárendelések használatával kezelheti.

Az engedélyezési folyamat ábrája.

Ahogy az ebben a diagramban is látható, az Azure RBAC-integráció használatakor a Kubernetes API-ba irányuló összes kérés ugyanazt a hitelesítési folyamatot követi, mint a Microsoft Entra-integrációban leírtak.

Ha a kérést küldő identitás megtalálható a Microsoft Entra-azonosítóban, az Azure a Kubernetes RBAC-vel együttműködve engedélyezi a kérést. Ha az identitás a Microsoft Entra-azonosítón (például egy Kubernetes-szolgáltatásfiókon) kívül létezik, az engedélyezés a normál Kubernetes RBAC-hez ütközik.

Ebben a forgatókönyvben azure RBAC-mechanizmusokkal és API-kkal rendelhet hozzá beépített szerepköröket a felhasználókhoz, vagy egyéni szerepköröket hozhat létre, ugyanúgy, mint a Kubernetes-szerepkörök esetében.

Ezzel a funkcióval nem csak az előfizetések közötti AKS-erőforráshoz adhat engedélyeket a felhasználóknak, hanem a Kubernetes API-hozzáférést vezérlő fürtökben is konfigurálhatja a szerepkört és az engedélyeket. Ehhez az adatsík-művelethez négy beépített szerepkör érhető el, amelyek mindegyike saját engedélyekkel rendelkezik, a beépített szerepkörök szakaszban leírtak szerint.

Fontos

A szerepkör-hozzárendelés végrehajtása előtt engedélyeznie kell az Azure RBAC-t a Kubernetes-engedélyezéshez. További részletekért és lépésenkénti útmutatásért tekintse meg az Azure RBAC használata a Kubernetes-hitelesítéshez című témakört.

Beépített szerepkörök

Az Arc által engedélyezett AKS az alábbi öt beépített szerepkört biztosítja. Hasonlóak a Kubernetes beépített szerepköreihez , néhány különbséggel, például a CRD-k támogatásával. Tekintse meg az egyes Beépített Azure-szerepkörök által engedélyezett műveletek teljes listáját.

Szerepkör Leírás
Azure Arc-kompatibilis Kubernetes-fürtfelhasználó Lehetővé teszi a fürt connect-alapú kubeconfig fájljának lekérését a fürtök bárhonnan történő kezeléséhez.
Azure Arc Kubernetes Viewer Az írásvédett hozzáférés lehetővé teszi a névtérben lévő objektumok többségének megtekintését.
Nem engedélyezi a titkos kódok megtekintését, mert a titkos kódok olvasási engedélye lehetővé teszi a ServiceAccount hitelesítő adatainak elérését a névtérben. Ezek a hitelesítő adatok viszont lehetővé teszik az API-hozzáférést ezen a ServiceAccount-értéken keresztül (a jogosultságok eszkalálásának egy formája).
Azure Arc Kubernetes-író Olvasási/írási hozzáférést tesz lehetővé a névtérben lévő legtöbb objektumhoz.
Nem engedélyezi a szerepkörök vagy szerepkörkötések megtekintését vagy módosítását. Ez a szerepkör azonban lehetővé teszi a titkos kulcsok elérését és a podok futtatását a névtér bármely ServiceAccount-értékeként , így bármely ilyen ServiceAccount-érték API-hozzáférési szintjei a névtérben megszerezhetők.
Azure Arc Kubernetes-rendszergazda Engedélyezi a rendszergazdai hozzáférést. A névtérben a RoleBinding használatával adható meg. Ha a RoleBindingben használja, az olvasási/írási hozzáférést tesz lehetővé a névtérben lévő legtöbb erőforráshoz, beleértve a szerepkörök és szerepkörkötések névtéren belüli létrehozását is. Ez a szerepkör nem teszi lehetővé az erőforráskvóta vagy a névtér írási hozzáférését.
Az Azure Arc Kubernetes-fürt rendszergazdája Engedélyezi a "superuser" hozzáférést bármely erőforráson végrehajtott műveletek végrehajtásához. Amikor a ClusterRoleBindingben használja, teljes körű vezérlést biztosít a fürt és az összes névtér összes erőforrása felett. Amikor a RoleBindingben használja, teljes körű vezérlést biztosít a szerepkörkötési névtér összes erőforrása felett, beleértve magát a névteret is.

Microsoft Entra-integráció

Az AKS-fürt biztonságának javítása a Microsoft Entra-integrációval. A vállalati identitáskezelési élményre épülő Microsoft Entra ID egy több-bérlős, felhőalapú címtár- és identitáskezelési szolgáltatás, amely egyesíti az alapvető címtárszolgáltatásokat, az alkalmazáshozzáférés-kezelést és az identitásvédelmet. A Microsoft Entra ID-val integrálhatja a helyszíni identitásokat az AKS-fürtökbe, hogy egyetlen forrást biztosítson a fiókkezeléshez és a biztonsághoz.

Entra-integrációt bemutató folyamatábra.

A Microsoft Entra integrált AKS-fürtöivel hozzáférést biztosíthat a felhasználóknak vagy csoportoknak a Kubernetes-erőforrásokhoz egy névtérben vagy a fürtön belül.

  • Kubectl-konfigurációs környezet beszerzéséhez futtassa az az aksarc get-credentials parancsot.
  • Amikor egy felhasználó kubectl használatával kommunikál az AKS-fürttel, a rendszer kérni fogja, hogy jelentkezzen be a Microsoft Entra hitelesítő adataival.

Ez a megközelítés egyetlen forrást biztosít a felhasználói fiókok kezeléséhez és a jelszó hitelesítő adataihoz. A felhasználó csak a Kubernetes-fürt rendszergazdája által meghatározott erőforrásokhoz férhet hozzá.

A Microsoft Entra-hitelesítés az OpenID Connecttel rendelkező AKS-fürtök számára biztosított. Az OpenID Connect egy identitásréteg, amely az OAuth 2.0 protokollra épül. Az OpenID Connectről további információt az OpenID Connect dokumentációjában talál. A Kubernetes-fürtben a Webhook Token Authentication a hitelesítési jogkivonatok ellenőrzésére szolgál. A webhook-jogkivonat-hitelesítés az AKS-fürt részeként van konfigurálva és felügyelve.

Összegzés

Az alábbi táblázat összefoglalja, hogy a felhasználók hogyan hitelesíthetik magukat a Kubernetesben a Microsoft Entra-integráció engedélyezésekor. A parancsok sorrendje minden esetben a következő:

  1. Futtassa az login a hitelesítést az Azure-ban.
  2. Futtassa az aksarc get-credentials a Kubernetes-fürt hitelesítő adatainak letöltéséhez a következőbe .kube/config: .
  3. Parancsok futtatása kubectl .
    • Az első parancs elindíthatja a böngészőalapú hitelesítést a Kubernetes-fürtön való hitelesítéshez, az alábbi táblázatban leírtak szerint.
Leírás Szerepkör-engedélyezés szükséges Fürtadminisztrátor Microsoft Entra-csoportjai Mikor érdemes használni?
Rendszergazdai bejelentkezés ügyféltanúsítvány használatával Azure Kubernetes Service Arc-fürt rendszergazdai szerepköre. Ez a szerepkör lehetővé teszi az aksarc get-credentials a --admin jelölő használatát, amely letölt egy nem Microsoft Entra-fürt rendszergazdai tanúsítványát a felhasználó .kube/config fájljába. Ez az Azure Kubernetes-rendszergazdai szerepkör egyetlen célja. n.a. Ha véglegesen letiltja, hogy nem fér hozzá egy érvényes Microsoft Entra-csoporthoz a fürthöz való hozzáféréssel.
Microsoft Entra ID manuális (fürt) RoleBindings szolgáltatással Azure Kubernetes Service Arc-fürt felhasználói szerepköre. A Felhasználói szerepkör az aksarc get-credentials jelölő nélkül --admin használható. Ez az Azure Kubernetes szolgáltatásfürt felhasználói szerepkörének egyetlen célja.) Az eredmény egy Microsoft Entra ID-kompatibilis fürtön egy üres bejegyzés letöltése a .kube/config fájlba, amely a kubectl első használatakor aktiválja a böngészőalapú hitelesítést. Mivel a felhasználó nincs fürtadminisztrátori csoportban, a jogosultságokat teljes egészében a fürt rendszergazdái által beállított RoleBindings vagy ClusterRoleBindings szabályozza. A (fürt)RoleBindings a Microsoft Entra-felhasználókat vagy a Microsoft Entra-csoportokat jelöli tárgyként. Ha nincsenek ilyen kötések beállítva, a felhasználó nem tudja kizárni a kubectl-parancsokat . Ha részletes hozzáférés-vezérlést szeretne, és nem az Azure RBAC-t használja a Kubernetes-engedélyezéshez. Vegye figyelembe, hogy a kötéseket létrehozó felhasználónak a táblázatban felsorolt egyéb módszerek egyikével kell bejelentkeznie.
Microsoft Entra-azonosító a Microsoft Entra-csoport fürtadminisztrátora szerint (jelölő beállítása --aad-admin-group-object-ids az Azure CLI-ben) Ugyanaz, mint az előző. A felhasználó az itt felsorolt csoportok egyikének tagja. Az AKS automatikusan létrehoz egy ClusterRoleBindinget, amely az összes felsorolt csoportot a cluster-admin Kubernetes-szerepkörhöz köti. Így az ezekben a csoportokban lévő felhasználók az összes kubectl parancsot futtathatják.cluster-admin Ha teljes körű rendszergazdai jogokat szeretne biztosítani a felhasználóknak, és nem használja az Azure RBAC-t a Kubernetes-hitelesítéshez.
Microsoft Entra-azonosító az Azure RBAC-vel Kubernetes-engedélyezéshez Két szerepkör:
Azure Kubernetes Service Arc-fürt felhasználói szerepköre (a korábban leírtak szerint).
A korábban ismertetett Azure Arc Kubernetes-szerepkörök egyike, vagy saját egyéni alternatíva.
A Konfiguráció lap rendszergazdai szerepkörök mezője nem releváns, ha engedélyezve van az Azure RBAC for Kubernetes-engedélyezés. Az Azure RBAC-t használja a Kubernetes-engedélyezéshez. Ez a megközelítés részletes vezérlést biztosít, anélkül, hogy be kellene állítania a RoleBindings vagy a ClusterRoleBindings parancsot.

Következő lépések

  • A Kubernetes RBAC kubernetes-hitelesítéshez való használatának első lépéseit a Microsoft Entra ID és a Kubernetes RBAC használatával történő hozzáférés szabályozása című témakörben tekintheti meg.
  • Az Azure RBAC kubernetes-alapú engedélyezésének első lépéseit az Azure RBAC használata a Kubernetes-engedélyezéshez című témakörben talál .