Ajánlott eljárások hitelesítéshez és engedélyezéshez az Azure Kubernetes Service-ben (AKS)
Amikor fürtöket helyez üzembe és tart fenn az Azure Kubernetes Service-ben (AKS), implementálhatja az erőforrásokhoz és szolgáltatásokhoz való hozzáférés kezelését. A következő vezérlők nélkül:
- A fiókok hozzáférhetnek a szükségtelen erőforrásokhoz és szolgáltatásokhoz.
- A módosítások elvégzéséhez használt hitelesítő adatok nyomon követése nehéz lehet.
Ebben a cikkben bemutatjuk, hogy milyen ajánlott eljárásokat követhet egy fürtoperátor az AKS-fürtök hozzáférésének és identitásának kezeléséhez. A következőket fogja megtanulni:
- Az AKS-fürt felhasználóinak hitelesítése a Microsoft Entra-azonosítóval.
- Az erőforrásokhoz való hozzáférés szabályozása a Kubernetes szerepköralapú hozzáférés-vezérlésével (Kubernetes RBAC).
- Az Azure RBAC használatával részletesen szabályozhatja az AKS-erőforráshoz, a Kubernetes API-hoz való hozzáférést nagy méretekben és a
kubeconfig
. - Számítási feladatok identitásának használatával érheti el az Azure-erőforrásokat a podokból.
Figyelmeztetés
Az Azure Kubernetes Service nyílt forráskód Microsoft Entra pod által felügyelt identitása (előzetes verzió) 2022. 10. 24-én elavult.
Ha engedélyezve van a Microsoft Entra pod által felügyelt identitás az AKS-fürtön, vagy fontolgatja annak implementálását, javasoljuk, hogy tekintse át a számítási feladatok identitását áttekintő cikket, hogy megismerje a fürt Microsoft Entra Számítási feladat ID (előzetes verzió) használatára való beállítására vonatkozó javaslatainkat és lehetőségeinket. Ez a hitelesítési módszer felváltja a pod által felügyelt identitást (előzetes verzió), amely integrálható a Kubernetes natív képességeivel a külső identitásszolgáltatókkal való összevonáshoz.
A Microsoft Entra-azonosító használata
Ajánlott eljárások útmutatója
AKS-fürtök üzembe helyezése a Microsoft Entra-integrációval. A Microsoft Entra ID használata központosítja az identitáskezelési réteget. A felhasználói fiók vagy a csoport állapotának bármilyen módosítása automatikusan frissül az AKS-fürthöz való hozzáféréskor. A felhasználók vagy csoportok hatóköre a minimális engedélymennyiségre szerepkörök, clusterRoles vagy kötések használatával.
A Kubernetes-fürt fejlesztőinek és alkalmazástulajdonosainak különböző erőforrásokhoz kell hozzáférnie. A Kubernetes nem rendelkezik identitáskezelési megoldással, amellyel szabályozhatja azokat az erőforrásokat, amelyekkel a felhasználók interakcióba léphetnek. Ehelyett integrálhatja a fürtöt egy meglévő identitáskezelési megoldással, például a Microsoft Entra ID-val, amely egy nagyvállalati szintű identitáskezelési megoldás.
Az AKS-ben integrált Microsoft Entra-fürtökkel szerepköröket vagy fürtrolokat hozhat létre, amelyek meghatározzák az erőforrásokhoz való hozzáférési engedélyeket. Ezután a szerepköröket a Microsoft Entra-azonosítóból származó felhasználókhoz vagy csoportokhoz köti . Ezekről a Kubernetes RBAC-ről a következő szakaszban olvashat bővebben. A Microsoft Entra integrációja és az erőforrásokhoz való hozzáférés szabályozása az alábbi ábrán látható:
- A fejlesztő a Microsoft Entra-azonosítóval hitelesít.
- A Microsoft Entra-jogkivonat kiállítási végpontja kiadja a hozzáférési jogkivonatot.
- A fejlesztő végrehajt egy műveletet a Microsoft Entra-jogkivonat használatával, például
kubectl create pod
. - A Kubernetes a Microsoft Entra-azonosítóval érvényesíti a jogkivonatot, és lekéri a fejlesztő csoporttagságait.
- A Kubernetes RBAC és a fürtszabályzatok érvényesek.
- A fejlesztő kérése a Microsoft Entra-csoporttagság, a Kubernetes RBAC és szabályzatok korábbi ellenőrzése alapján sikeres.
A Microsoft Entra ID-t használó AKS-fürt létrehozásához lásd : Microsoft Entra ID integrálása az AKS-sel.
A Kubernetes szerepköralapú hozzáférés-vezérlésének használata (Kubernetes RBAC)
Ajánlott eljárások útmutatója
Felhasználói vagy csoportengedélyek definiálása fürterőforrásokhoz a Kubernetes RBAC-vel. Olyan szerepköröket és kötéseket hozhat létre, amelyek a minimálisan szükséges engedélyeket rendelik hozzá. Integrálható a Microsoft Entra-azonosítóval a felhasználói állapotok vagy csoporttagságok módosításának automatikus frissítéséhez, valamint a fürterőforrásokhoz való hozzáférés naprakészen tartásához.
A Kubernetesben részletes hozzáférés-vezérlést biztosít a fürterőforrásokhoz. Az engedélyeket a fürt szintjén vagy adott névtereken határozhatja meg. Ön határozza meg, hogy mely erőforrások kezelhetők, és milyen engedélyekkel. Ezután ezeket a szerepköröket kötéssel rendelkező felhasználókra vagy csoportokra alkalmazza. A szerepkörökről, a ClusterRolesről és a kötésekről további információt az Azure Kubernetes Service (AKS) hozzáférési és identitásbeállításai című témakörben talál.
Létrehozhat például egy olyan szerepkört, amely teljes hozzáféréssel rendelkezik az erőforrásokhoz a finance-app névtérben, ahogyan az a következő YAML-jegyzékben is látható:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: finance-app-full-access-role
namespace: finance-app
rules:
- apiGroups: [""]
resources: ["*"]
verbs: ["*"]
Ezután létre kell hoznia egy RoleBinding-et , és hozzá kell kötnie a Microsoft Entra-felhasználót developer1@contoso.com az alábbi YAML-jegyzékben látható módon:
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: finance-app-full-access-role-binding
namespace: finance-app
subjects:
- kind: User
name: developer1@contoso.com
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: finance-app-full-access-role
apiGroup: rbac.authorization.k8s.io
Ha developer1@contoso.com az AKS-fürtön hitelesítik őket, teljes engedélyekkel rendelkeznek a pénzügyi alkalmazás névterében lévő erőforrásokhoz. Ily módon logikailag elkülönítheti és szabályozhatja az erőforrásokhoz való hozzáférést. A Kubernetes RBAC használata a Microsoft Entra ID-integrációval.
Ha tudni szeretné, hogyan szabályozhatja a Kubernetes-erőforrásokhoz való hozzáférést a Kubernetes RBAC használatával a Microsoft Entra-csoportok használatával, olvassa el a fürterőforrások hozzáférésének szabályozása szerepköralapú hozzáférés-vezérléssel és Microsoft Entra-identitásokkal az AKS-ben című témakört.
Az Azure RBAC használata
Ajánlott eljárások útmutatója
Az Azure RBAC használatával definiálhatja az AKS-erőforrásokhoz minimálisan szükséges felhasználói és csoportengedélyeket egy vagy több előfizetésben.
Az AKS-fürtök 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.
Ez a hozzáférési szint lehetővé teszi a következőt:
- A fürt skálázásának vagy frissítésének szabályozása az AKS API-k használatával
- Húzza le a
kubeconfig
.
Az AKS-erőforráshoz és a
kubeconfig
fürtkonfigurációs fájlhoz való hozzáférés korlátozásával kapcsolatos tudnivalókért lásd : Hozzáférés korlátozása a fürtkonfigurációs fájlhoz.Hozzáférés a Kubernetes API-hoz.
Ezt a hozzáférési szintet a következők vezérlik:
- Kubernetes RBAC (hagyományosan) vagy
- Az Azure RBAC és az AKS integrálásával a kubernetes-engedélyezéshez.
A Kubernetes API-nak az Azure RBAC használatával történő részletes engedélyezéséről további információt az Azure RBAC használata a Kubernetes-engedélyezéshez című témakörben talál.
Pod által felügyelt identitások használata
Figyelmeztetés
Az Azure Kubernetes Service nyílt forráskód Microsoft Entra pod által felügyelt identitása (előzetes verzió) 2022. 10. 24-én elavult.
Ha engedélyezve van a Microsoft Entra pod által felügyelt identitás az AKS-fürtön, vagy fontolgatja annak implementálását, javasoljuk, hogy tekintse át a számítási feladatok identitását áttekintő cikket, hogy megismerje a fürt Microsoft Entra Számítási feladat ID (előzetes verzió) használatára való beállítására vonatkozó javaslatainkat és lehetőségeinket. Ez a hitelesítési módszer felváltja a pod által felügyelt identitást (előzetes verzió), amely integrálható a Kubernetes natív képességeivel a külső identitásszolgáltatókkal való összevonáshoz.
Ne használjon rögzített hitelesítő adatokat a podokon vagy tárolólemezképeken belül, mert azok ki vannak téve az expozíciónak vagy a visszaélésnek. Ehelyett pod-identitások használatával automatikusan kérjen hozzáférést a Microsoft Entra ID használatával.
Más Azure-erőforrások, például az Azure Cosmos DB, a Key Vault vagy a Blob Storage eléréséhez a podnak hitelesítési hitelesítő adatokra van szüksége. Megadhatja a hitelesítési hitelesítő adatokat a tároló lemezképével, vagy kubernetes-titkos kódként is beszúrhatja őket. Akárhogy is, manuálisan kell létrehoznia és hozzárendelnie őket. Ezeket a hitelesítő adatokat általában újra felhasználják a podok között, és nem forgatják rendszeresen.
Az Azure-erőforrások pod által felügyelt identitásaival (előzetes verzió) automatikusan hozzáférést kérhet a szolgáltatásokhoz a Microsoft Entra-azonosítón keresztül. A pod által felügyelt identitások jelenleg előzetes verzióban érhetőek el az AKS-hez. Első lépésként tekintse meg a Microsoft Entra pod által felügyelt identitások használatát az Azure Kubernetes Service (előzetes verzió) dokumentációjában.
A Microsoft Entra pod által felügyelt identitás (előzetes verzió) két működési módot támogat:
Standard mód: Ebben a módban a következő 2 összetevő van üzembe helyezve az AKS-fürtben:
Managed Identity Controller(MIC): Kubernetes-vezérlő, amely a Kubernetes API-kiszolgálón keresztül figyeli a podok, az AzureIdentity és az AzureIdentityBinding módosításait. Ha releváns módosítást észlel, a MIC szükség szerint hozzáadja vagy törli az AzureAssignedIdentitást . Konkrétan egy pod ütemezésekor a MIC hozzárendeli a felügyelt identitást az Azure-ban a csomópontkészlet által a létrehozási fázisban használt mögöttes virtuálisgép-méretezési csoporthoz. Az identitást használó összes pod törlésekor eltávolítja az identitást a csomópontkészlet virtuálisgép-méretezési csoportjából, kivéve, ha ugyanazt a felügyelt identitást más podok használják. A MIC hasonló műveleteket hajt végre az AzureIdentity vagy az AzureIdentityBinding létrehozásakor vagy törlésekor.
Csomópontalapú felügyelt identitás (NMI): egy pod, amely DaemonSetként fut az AKS-fürt minden csomópontján. Az NMI minden csomóponton elfogja a biztonsági jogkivonat-kérelmeket az Azure Instance Metadata Service-hez . Átirányítja a kéréseket önmagának, és ellenőrzi, hogy a pod rendelkezik-e hozzáféréssel ahhoz az identitáshoz, amelyhez jogkivonatot kér, és lekéri a jogkivonatot a Microsoft Entra-bérlőtől az alkalmazás nevében.
Felügyelt mód: Ebben a módban csak NMI van. Az identitást a felhasználónak manuálisan kell hozzárendelnie és felügyelnie. További információ: Pod Identity felügyelt módban. Ebben a módban, amikor az az aks pod-identity add paranccsal ad hozzá podidentitást egy Azure Kubernetes Service-fürthöz (AKS- fürthöz), a paraméter által
--namespace
megadott névtérben hozza létre az AzureIdentity és az AzureIdentityBinding metódust, míg az AKS-erőforrás-szolgáltató a paraméter által--identity-resource-id
megadott felügyelt identitást az AKS-fürt egyes csomópontkészleteinek virtuálisgép-méretezési csoportjához rendeli hozzá.
Feljegyzés
Ha ehelyett úgy dönt, hogy a Microsoft Entra pod által felügyelt identitást telepíti az AKS-fürt bővítményével, a beállítás a managed
módot használja.
A managed
mód a következő előnyöket nyújtja a standard
következőkhöz képest:
- A csomópontkészlet virtuálisgép-méretezési csoportjának identitás-hozzárendelése akár 40-60-as éveket is igénybe vehet. Az identitáshoz hozzáférést igénylő és a hozzárendelés késleltetését nem tűrő cronjobs vagy alkalmazások esetén a legjobb
managed
mód, mivel az identitást előre hozzárendelték a csomópontkészlet virtuálisgép-méretezési csoportjához. Manuálisan vagy az az aks pod-identity add paranccsal. standard
Módban a MIC írási engedélyeket igényel az AKS-fürt által használt virtuálisgép-méretezési csoporthoz ésManaged Identity Operator
a felhasználó által hozzárendelt felügyelt identitásokhoz. Ha be van futvamanaged mode
, mivel nincs mikrofon, a szerepkör-hozzárendelések nem szükségesek.
A podok hitelesítő adatainak manuális megadása helyett a pod által felügyelt identitások valós időben kérnek hozzáférési jogkivonatot, és csak a hozzájuk rendelt erőforrásokhoz férnek hozzá. Az AKS-ben két összetevő kezeli a műveleteket, amelyek lehetővé teszik a podok számára a felügyelt identitások használatát:
- A Csomópontkezelési identitás (NMI) kiszolgáló egy pod, amely DaemonSetként fut az AKS-fürt minden csomópontján. Az NMI-kiszolgáló figyeli az Azure-szolgáltatások podkéréseit.
- Az Azure Resource Provider lekérdezi a Kubernetes API-kiszolgálót, és egy podnak megfelelő Azure-identitásleképezést keres.
Amikor a podok biztonsági jogkivonatot kérnek a Microsoft Entra ID-tól egy Azure-erőforráshoz való hozzáféréshez, a hálózati szabályok átirányítják a forgalmat az NMI-kiszolgálóra.
Az NMI-kiszolgáló:
- Azonosítja azOkat a podokat, amelyek távoli címük alapján hozzáférést kérnek az Azure-erőforrásokhoz.
- Lekérdezi az Azure-erőforrás-szolgáltatót.
Az Azure Resource Provider ellenőrzi az Azure-identitásleképezéseket az AKS-fürtben.
Az NMI-kiszolgáló hozzáférési jogkivonatot kér a Microsoft Entra-azonosítótól a pod identitásleképezése alapján.
A Microsoft Entra ID hozzáférést biztosít az NMI-kiszolgálóhoz, amelyet a rendszer visszaad a podnak.
- Ezt a hozzáférési jogkivonatot a pod használhatja, hogy ezután hozzáférést kérjen az Azure-beli erőforrásokhoz.
A következő példában egy fejlesztő létrehoz egy podot, amely felügyelt identitással kér hozzáférést az Azure SQL Database-hez:
- A fürt operátora létrehoz egy szolgáltatásfiókot az identitások leképezéséhez, amikor a podok hozzáférést kérnek az erőforrásokhoz.
- Az NMI-kiszolgáló üzembe van helyezve, hogy továbbítsa a podkérelmeket az Azure Resource Providerrel együtt a Microsoft Entra ID-hoz való hozzáférési jogkivonatokhoz.
- A fejlesztő egy felügyelt identitással rendelkező podot helyez üzembe, amely hozzáférési jogkivonatot kér az NMI-kiszolgálón keresztül.
- A jogkivonat visszakerül a podra, és az Azure SQL Database elérésére szolgál
Pod által felügyelt identitások használatához lásd : Microsoft Entra pod által felügyelt identitások használata az Azure Kubernetes Service-ben (előzetes verzió).
Következő lépések
Ez az ajánlott eljárásokkal foglalkozó cikk a fürt és az erőforrások hitelesítésére és engedélyezésére összpontosított. Az ajánlott eljárások némelyikének implementálásához tekintse meg az alábbi cikkeket:
- A Microsoft Entra ID integrálása az AKS-sel
- Microsoft Entra pod által felügyelt identitások használata az Azure Kubernetes Service-ben (előzetes verzió)
Az AKS-fürtműveletekkel kapcsolatos további információkért tekintse meg az alábbi ajánlott eljárásokat:
Azure Kubernetes Service