Microsoft Entra Számítási feladat ID használata az Azure Kubernetes Service-lel (AKS)
Az Azure Kubernetes Services -fürtökön üzembe helyezett számítási feladatokhoz Microsoft Entra-alkalmazás hitelesítő adataira 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. Microsoft Entra Számítási feladat ID integrálható a Kubernetes natív képességeivel a külső identitásszolgáltatókkal való összevonáshoz.
Microsoft Entra Számítási feladat ID szolgáltatásfiók-jogkivonat mennyiségi kivetítését használja, amely lehetővé teszi, hogy a podok Kubernetes-identitást (vagyis szolgáltatásfiókot) használjanak. 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-val a 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 a Az Azure Identity-ügyfélkódtárak és a Microsoft Authentication Library (MSAL) gyűjtemény, ha alkalmazásregisztrációt használ. 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 ezt az új hitelesítési funkciót, és áttekinti a projektstratégia megtervezéséhez és a Microsoft Entra pod által felügyelt identitásból való lehetséges migráláshoz rendelkezésre álló lehetőségeket.
Feljegyzés
Ahelyett, hogy manuálisan konfigurálja az összes lépést, van egy másik, Service Csatlakozás or nevű implementáció, amely segít bizonyos lépések automatikus konfigurálásában. Lásd még: Mi az a Service Csatlakozás or?
Függőségek
- Az AKS támogatja az 1.22-es és újabb verziójú Microsoft Entra Számítási feladat ID.
- Az Azure CLI 2.47.0-s vagy újabb verziója. Futtassa
az --version
a verziót, és futtassaaz 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
DefaultAzureCredential
, amely megpróbálja használni aWorkloadIdentityCredential
. - Hozzon létre egy példányt
ChainedTokenCredential
, amely tartalmazza a következőtWorkloadIdentityCredential
: . - Közvetlenül használható
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 |
Go | azidentity | 1.3.0 |
Java | azure-identity | 1.9.0 |
Node.js | @azure/identitás | 3.2.0 |
Python | azure-identity | 1.13.0 |
A következő kódmintákban DefaultAzureCredential
használatos. Ez a hitelesítő adattípus az Azure Workload Identity által a webhook által injektált környezeti változókat használja az Azure Key Vaulttal való hitelesítéshez.
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 |
Láncszem | Igen |
Go | Microsoft Authentication Library –for-go | ghcr.io/azure/azure-workload-identity/msal-go:latest |
Láncszem | Igen |
Java | Microsoft Authentication Library-for-java | ghcr.io/azure/azure-workload-identity/msal-java:latest |
Láncszem | Nem |
JavaScript | Microsoft Authentication Library for-js | ghcr.io/azure/azure-workload-identity/msal-node:latest |
Láncszem | Nem |
Python | Microsoft Authentication Library for-python | ghcr.io/azure/azure-workload-identity/msal-python:latest |
Láncszem | Nem |
Korlátozások
- Felügyelt identitásonként csak 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 Kubelet nyílt forráskód projekten alapuló virtuális csomópontok hozzáadása nem támogatott.
- Az összevont identitás hitelesítő adatainak létrehozása ezekben a régiókban nem támogatott a felhasználó által hozzárendelt felügyelt identitásokon.
Hogyan működik?
Ebben a biztonsági modellben az AKS-fürt jogkivonatkibocsátóként működik, a Microsoft Entra ID OpenID Csatlakozás használatával felderíti a nyilvános aláíró kulcsokat, és ellenőrzi a szolgáltatásfiók-jogkivonat hitelességét, mielőtt kicseréli azt egy Microsoft Entra-jogkivonatra. A számítási feladat az Azure Identity ügyfélkódtár vagy a Microsoft Authentication-kódtár használatával kicserélheti a kötetére kivetített szolgáltatásfiók-jogkivonatot egy Microsoft Entra-jogkivonatra.
Az alábbi táblázat a Microsoft Entra Számítási feladat ID szükséges OIDC-kiállító végpontjait ismerteti:
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 Csatlakozás használatával összegzi a hitelesítési sorozatot.
Webhook tanúsítvány automatikus elforgatása
A többi webhook-bővítményhez hasonlóan a tanúsítványt a fürttanúsítvány automatikus rotálási művelete rotálta.
Szolgáltatásfiókok címkéi és széljegyzetei
Microsoft Entra Számítási feladat ID egy szolgáltatásfiókhoz kapcsolódó alábbi leképezéseket támogatja:
- Egy az egyhez, ahol egy szolgáltatásfiók egy Microsoft Entra-objektumra hivatkozik.
- Több az egyhez, 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ó megjegyzésének módosításával. További információ: Több identitás összevonása Kubernetes-szolgáltatásfiókkal.
Feljegyzé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-identitásként kell tekintenie, kivéve, ha egy szolgáltatásfiók az alapvető Kubernetes API része, nem pedig egyéni erőforrásdefiníció (CRD). Az alábbiakban felsoroljuk azokat az elérhető címkéket és széljegyzeteket, amelyek a Microsoft Entra hozzáférési jogkivonat szolgáltatásfiók-jogkivonatának cseréjekor konfigurálhatók.
Szolgáltatásfiók széljegyzetei
Az összes széljegyzet megadása nem kötelező. Ha nincs megadva a széljegyzet, a rendszer az alapértelmezett értéket használja.
Jegyzet | 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 előrejelzett szolgáltatásfiók-jogkivonat. Ez egy nem kötelező mező, amelyet konfigurálhat az állásidő megelőzé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
Feljegyzés
A számítási feladat identitását használó alkalmazások esetében fel kell venni a címkét azure.workload.identity/use: "true"
a pod specifikációjára az AKS-hez a számítási feladatok identitásának feladatbezárási forgatókönyvbe való áthelyezéséhez, hogy konzisztens és megbízható viselkedést biztosítson a számítási feladat identitását használó podok számára. Ellenkező esetben a podok újraindításuk után meghiúsulnak.
Címke | Leírás | Javasolt érték | Kötelező |
---|---|---|---|
azure.workload.identity/use |
Ez a címke szükséges a podsablon specifikációjában. Csak az ezzel a címkével rendelkező podokat mutálja az azure-workload-identity, amely a belépési webhookot mutálja az Azure-specifikus környezeti változók és a tervezett szolgáltatásfiók-jogkivonat-kötet injektálásához. | true | Igen |
Pod-széljegyzetek
Az összes széljegyzet megadása nem kötelező. Ha nincs megadva a széljegyzet, a rendszer az alapértelmezett értéket használja.
Jegyzet | Leírás | Alapértelmezett |
---|---|---|
azure.workload.identity/service-account-token-expiration |
expirationSeconds A tervezett szolgáltatásfiók jogkivonatának mezője. Ez egy nem kötelező mező, amelyet úgy konfigurál, hogy megakadályozza a szolgáltatásfiók jogkivonatának frissítése során fellépő hibák által okozott állásidőt. 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 rendszer hozzáadja a tervezett szolgáltatásfiók-jogkivonat-kötetet az összes tárolóhoz, ha a szolgáltatásfiók címkéje azure.workload.identity/use: true a következő: . |
azure.workload.identity/inject-proxy-sidecar |
Proxy init tárolót és proxyoldali kocsit injektál a podba. A proxyoldali 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ő adataival rendelkező felhasználó nevében. | true |
azure.workload.identity/proxy-sidecar-port |
A proxy oldalkocsijának portját jelöli. | 8000 |
1 Elsőbbséget élvez, ha a szolgáltatásfiókot is széljegyzetek fűzik hozzá.
Migrálás számítási feladat identitására
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. Csak megjegyzéseket kell fűznie a szolgáltatásfiókhoz a névtérben az identitással, és lehetővé teszi a számítási feladatok identitásának, hogy a széljegyzeteket a podokba fecskendezze.
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 Csatlakozás (OIDC) való 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áson belüli migrálási oldalkocsi futtatása az alkalmazás IMDS-tranzakcióit OIDC-nek proxyja. 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.
Eset | 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 mintaerőforrások: - Számítási feladatok identitásának üzembe helyezése és konfigurálása új fürtön - Oktatóanyag: Számítási feladatok identitásának használata egy alkalmazással az AKS-en |
Az új vagy meglévő fürttelepítés az Azure Identity ügyfélkódtá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.
- Tekintse meg az Azure Kubernetes Service (AKS) számítási feladatok identitásának használata egy alkalmazással való használatát ismertető oktatóanyagot, amely segít üzembe helyezni egy Azure Kubernetes Service-fürtöt, és konfigurálni egy mintaalkalmazást számítási feladatok identitásának használatára.