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 Azure Kubernetes Services (AKS) fürtön üzembe helyezett számítási feladatokhoz Microsoft Entra alkalmazás-hitelesítő adatokra vagy felügyelt identitásokra van szükség a Microsoft Entra által védett erőforrások, például az Azure Key Vault és a Microsoft Graph eléréséhez. A Microsoft Entra Munkaterhelés ID integrálódik a Kubernetes natív képességeivel a külső identitásszolgáltatókkal való összevonás érdekében.
Microsoft Entra Feladatazonosító a Szolgáltatásfiók-jogkivonat Mennyiségi Vetületét (azaz szolgáltatásfiókot) használja, hogy engedélyezze a podok számára a Kubernetes-identitás használatát. A rendszer egy Kubernetes-jogkivonatot bocsát ki, és az OIDC-összevonás lehetővé teszi, hogy a Kubernetes-alkalmazások biztonságosan elérhessék az Azure-erőforrásokat a Microsoft Entra ID azonosítójával, jegyzetekkel ellátott szolgáltatásfiókok alapján.
Microsoft Entra Számítási feladat ID különösen jól működik az Azure Identity-ügyfélkódtárakkal vagy a Microsoft Authentication Library-k (MSAL) gyűjteményével, valamint az alkalmazásregisztrációval. A számítási feladat ezen kódtárak bármelyikével zökkenőmentesen hitelesítheti és elérheti az Azure-felhőbeli erőforrásokat.
Ez a cikk segít megérteni a Microsoft Entra Munka ID-t, és áttekinti a projektstratégia megtervezésére és a Microsoft Entra pod-menedzselt identitásból való lehetséges migrálásra rendelkezésre álló lehetőségeket.
Megjegyzés
A Service Connector segítségével automatikusan konfigurálhat néhány lépést. Lásd még: Mi az a Service Connector?
Függőségek
- Az AKS támogatja a Microsoft Entra Workload ID az 1.22 és újabb verzióban.
- Az Azure CLI 2.47.0-s vagy újabb verziója. Futtassa a
az --version
, hogy megtudja a verziószámot, és futtassa aaz upgrade
a verzió frissítéséhez. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.
Azure Identity-ügyfélkódtárak
Az Azure Identity-ügyfélkódtárakban válasszon az alábbi módszerek közül:
- Használja a
DefaultAzureCredential
-t, amely megpróbálja aWorkloadIdentityCredential
-t használni. - Hozzon létre egy
ChainedTokenCredential
példányt, beleértveWorkloadIdentityCredential
. - Használja közvetlenül
WorkloadIdentityCredential
.
Az alábbi táblázat az egyes nyelvi ökoszisztémák ügyfélkódtárához szükséges minimális csomagverziót tartalmazza.
Ökoszisztéma | Könyvtár | Minimális verzió |
---|---|---|
.NET | Azure.Identity | 1.9.0 |
C++ | azure-identity-cpp | 1.6.0 |
Menj | azidentity | 1.3.0 |
Java | azure-identity | 1.9.0 |
Node.js | @azure/identity | 3.2.0 |
Python | azure-identity | 1.13.0 |
A következő kódmintákban DefaultAzureCredential
használatos. Ez a hitelesítő adattípus a környezeti változókat használja, amelyeket az Azure Workload Identity átalakító webhook injektál, hogy hitelesítse az Azure Key Vaulttal való kapcsolatot. Ha a mintákat a többi módszer egyikével szeretné megtekinteni, tekintse meg a fenti ökoszisztéma-specifikus ügyfélkódtár-hivatkozásokat.
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;
string keyVaultUrl = Environment.GetEnvironmentVariable("KEYVAULT_URL");
string secretName = Environment.GetEnvironmentVariable("SECRET_NAME");
var client = new SecretClient(
new Uri(keyVaultUrl),
new DefaultAzureCredential());
KeyVaultSecret secret = await client.GetSecretAsync(secretName);
Microsoft Authentication Library (MSAL)
Az alábbi ügyfélkódtárak a minimálisan szükséges verziójúak.
Ökoszisztéma | Könyvtár | Kép | Példa | Windows rendszerű |
---|---|---|---|---|
.NET | Microsoft Authentication Library for-dotnet | ghcr.io/azure/azure-workload-identity/msal-net:latest |
Link | Igen |
Menj | Microsoft Authentication Library-for-go | ghcr.io/azure/azure-workload-identity/msal-go:latest |
Link | Igen |
Java | Microsoft Authentication Library-for-java | ghcr.io/azure/azure-workload-identity/msal-java:latest |
Link | Nem |
JavaScript | Microsoft Authentication Library for-js | ghcr.io/azure/azure-workload-identity/msal-node:latest |
Link | Nem |
Python | Microsoft Authentication Library for-python | ghcr.io/azure/azure-workload-identity/msal-python:latest |
Link | Nem |
Korlátozások
- Felügyelt identitásonként legfeljebb 20 összevont identitás hitelesítő adatokkal rendelkezhet.
- Az összevont identitás hitelesítő adatának propagálása néhány másodpercet vesz igénybe a kezdeti hozzáadását követően.
- A virtuális csomópontok kiegészítő, a Virtual Kubelet projekt nyílt forráskód alapján, nem támogatott.
- Az federált identitáshitelesítő adatok létrehozása ezekben a régiókban nem támogatott a felhasználó által hozzárendelt kezelt identitásokkal.
Hogyan működik?
Ebben a biztonsági modellben az AKS-fürt token-kibocsátóként működik. A Microsoft Entra ID az OpenID Connect használatával felderíti a nyilvános aláíró kulcsokat, és ellenőrzi a szolgáltatásfiók jogkivonatának hitelességét, mielőtt kicseréli azt egy Microsoft Entra-jogkivonatra. A munkafolyamat az Azure Identity klienskönyvtár vagy a Microsoft Authentication Library (MSAL) használatával kicserélheti a kötetéhez kivetített szolgáltatásfiók-jogkivonatot egy Microsoft Entra-jogkivonatra.
Az alábbi táblázat ismerteti a Microsoft Entra terhelésazonosítójához szükséges OIDC-kiállító végpontokat.
Végpont | Leírás |
---|---|
{IssuerURL}/.well-known/openid-configuration |
Más néven OIDC felderítési dokumentum. Ez tartalmazza a kiállító konfigurációinak metaadatait. |
{IssuerURL}/openid/v1/jwks |
Ez tartalmazza a Microsoft Entra ID által a szolgáltatásfiók-jogkivonat hitelességének ellenőrzéséhez használt nyilvános aláíró kulcsot(ok). |
Az alábbi ábra az OpenID Connect használatával összefoglalja a hitelesítési sorrendet.
Webhook tanúsítvány automatikus elforgatása
A többi webhook-bővítményhez hasonlóan a tanúsítvány rotálása a fürttanúsítvány automatikus forgatási műveletével történik.
Szolgáltatásfiókok címkéi és széljegyzetei
Microsoft Entra feladatazonosító a következő szolgáltatásfiókhoz kapcsolódó társításokat támogatja:
- Egy az egyhez, ahol egy szolgáltatásfiók egy Microsoft Entra-objektumra hivatkozik.
- Több-az-egyhez kapcsolat esetén, ahol több szolgáltatásfiók is ugyanarra a Microsoft Entra-objektumra hivatkozik.
- Egy a többhöz, ahol egy szolgáltatásfiók több Microsoft Entra objektumra hivatkozik az ügyfél-azonosító jegyzetének módosításával. További információ: Több identitás összevonása Kubernetes-szolgáltatásfiókkal.
Megjegyzés
Ha a szolgáltatásfiók széljegyzetei frissülnek, újra kell indítania a podot a módosítások érvénybe lépéséhez.
Ha a Microsoft Entra pod által felügyelt identitást használta, egy szolgáltatásfiókot azure-beli biztonsági tagként tekinthet, azzal a kivételrel, hogy egy szolgáltatásfiók az alapvető Kubernetes API része, nem pedig egy egyéni erőforrásdefiníció (CRD). A következő szakaszok az elérhető címkék és jegyzetek listáját ismertetik, amelyek a viselkedés konfigurálására használhatók, amikor a szolgáltatásfiók-jogkivonatot Microsoft Entra hozzáférési jogkivonatra cserélik.
Szolgáltatásfiók széljegyzetei
Az összes megjegyzés megadása nem szükséges. Ha nincs megadva a széljegyzet, a rendszer az alapértelmezett értéket használja.
Megjegyzés | Leírás | Alapértelmezett |
---|---|---|
azure.workload.identity/client-id |
A Microsoft Entra-alkalmazást jelöli a podhoz használandó ügyfélazonosító. |
|
azure.workload.identity/tenant-id |
Azt az Azure-bérlőazonosítót jelöli, ahol a A Microsoft Entra alkalmazás regisztrálva van. |
AZURE_TENANT_ID kinyert környezeti változó ConfigMap-ből azure-wi-webhook-config . |
azure.workload.identity/service-account-token-expiration |
A expirationSeconds mezőt képviselitervezett szolgáltatási fiók-jogkivonat. Ez egy opcionális mező, amelyet konfigurálhat az üzemszünet elkerülésére. a szolgáltatásfiók jogkivonatának frissítése során fellépő hibák okozzák. A Kubernetes szolgáltatásfiók jogkivonatának lejárata nem korrelál a Microsoft Entra-jogkivonatokkal. A Microsoft Entra-jogkivonatok a kibocsátásuk után 24 órán belül lejárnak. |
3600 A támogatott tartomány 3600-86400. |
Podcímkék
Megjegyzés
A workload identity-t használó alkalmazások esetében a pod specifikációjához hozzá kell adni a azure.workload.identity/use: "true"
címkét, hogy az AKS a workload identity-t a Fail Close forgatókönyvbe helyezze át. Ezzel biztosítható a konzisztens és megbízható működés azoknak a podoknak, amelyeknek szükségük van a workload identity használatára. Ellenkező esetben a podok újraindításuk után meghibásodnak.
Címke | Leírás | Javasolt érték | Kötelező |
---|---|---|---|
azure.workload.identity/use |
Ez a címke kötelező a podsablon specifikációjában. Csak az e címkével rendelkező podokat módosítja az azure-workload-identity módosító belépési webhook, hogy beillessze az Azure-specifikus környezeti változókat és a kivetített szolgáltatásfiók token kötetet. | igaz | Igen |
Pod-annotációk
Az összes megjegyzés megadása nem szükséges. Ha nincs megadva a széljegyzet, a rendszer az alapértelmezett értéket használja.
Megjegyzés | Leírás | Alapértelmezett |
---|---|---|
azure.workload.identity/service-account-token-expiration |
A expirationSeconds mezőt képviseli a tervezett szolgáltatásfiók-jogkivonathoz. Ez egy nem kötelező mező, amelyet úgy konfigurál, hogy kiküszöbölje azokat a kieséseket, amelyeket a hibák okozhatnak a szolgáltatásfiók-token frissítése során. A Kubernetes szolgáltatásfiók jogkivonatának lejárata nem korrelál a Microsoft Entra-jogkivonatokkal. A Microsoft Entra-jogkivonatok a kibocsátásuk után 24 órán belül lejárnak.
1 |
3600 A támogatott tartomány 3600-86400. |
azure.workload.identity/skip-containers |
A tárolók pontosvesszővel tagolt listáját jelöli, amely kihagyja a tervezett szolgáltatásfiók-jogkivonat-kötet hozzáadását. Például: container1;container2 . |
Alapértelmezés szerint a projekciós szolgáltatásfiók-jogkivonat térfogata hozzáadódik az összes tárolóhoz, ha a pod címkéje azure.workload.identity/use: true . |
azure.workload.identity/inject-proxy-sidecar |
Proxy init konténert és proxy oldalkonténert injektál a podba. A proxy oldalkocsi az IMDS-nek küldött jogkivonat-kérések elfogására és egy Microsoft Entra-jogkivonat beszerzésére szolgál az összevont identitású hitelesítő adatokkal rendelkező felhasználó nevében. | igaz |
azure.workload.identity/proxy-sidecar-port |
A proxy sidecar portját jelöli. | 8000 |
1 Elsőbbséget élvez, ha a szolgáltatásfiók is annotálva van.
Hogyan lehet átmigrálni a Microsoft Entra Munka Terhelés ID-re?
Egy pod által felügyelt identitást futtató fürtön kétféleképpen konfigurálhatja a számítási feladat identitásának használatára. Az első lehetőség lehetővé teszi, hogy ugyanazt a konfigurációt használja, amelyet a pod által felügyelt identitáshoz implementált. A névtérben annotálhatja a szolgáltatásfiókot az identitással, hogy engedélyezze a Microsoft Entra Munkaterhelési ID-t, és beillesztheti az annotációkat a podokba.
A második lehetőség az alkalmazás újraírása az Azure Identity-ügyfélkódtár legújabb verziójának használatára.
A migrálási folyamat egyszerűsítése és megkönnyítése érdekében kifejlesztettünk egy migrálási oldalkocsit, amely átalakítja az alkalmazás által az OpenID Connectre (OIDC) irányuló IMDS-tranzakciókat. A migrálási oldalkocsi nem hosszú távú megoldás, hanem a számítási feladatok identitásának gyors üzembe helyezésének módja. Az alkalmazás mellékszolgáltatásának futtatása közvetíti az alkalmazás IMDS tranzakcióit az OIDC felé. Az alternatív módszer az Azure Identity ügyfélkódtár támogatott verziójára való frissítés, amely támogatja az OIDC-hitelesítést.
Az alábbi táblázat összefoglalja a számítási feladatok identitására vonatkozó migrálási vagy üzembehelyezési javaslatokat.
Forgatókönyv | Leírás |
---|---|
Az új vagy meglévő fürttelepítés az Azure Identity-ügyfélkódtár támogatott verzióját futtatja | Nincs szükség áttelepítési lépésekre. Üzembehelyezési erőforrások mintája: Munkafolyamat identitásának üzembe helyezése és konfigurálása új klaszteren |
Az új vagy meglévő fürttelepítés az Azure Identity ügyfélkönyvtár nem támogatott verzióját futtatja | Frissítse a tárolórendszerképet az Azure Identity SDK támogatott verziójának használatára, vagy használja a migrálási oldalkocsit. |
Következő lépések
- Ha tudni szeretné, hogyan állíthatja be a podot a számítási feladatok identitásának migrálási lehetőségként való hitelesítéséhez, olvassa el az alkalmazáshitelesítés modernizálása számítási feladat identitásával című témakört.
- Lásd: AKS-fürt üzembe helyezése és konfigurálása számítási feladat identitásával, amely segít üzembe helyezni egy Azure Kubernetes Service-fürtöt, és konfigurálni egy mintaalkalmazást a számítási feladatok identitásának használatára.
Azure Kubernetes Service