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


Microsoft Entra hitelesítő adatok típusainak létrehozása konfigurációs fájlok használatával

A Microsoft.Extensions.Azure kódtár támogatja a appsettings.json és más konfigurációs fájlokban definiált kulcs-érték párok különböző Azure.Core.TokenCredential típusainak létrehozását. A hitelesítő adatok típusai az Azure Identity ügyfélkódtár hitelesítő osztályainak egy részhalmazának felelnek meg. Ez a cikk a különböző TokenCredential típusok támogatását és az egyes típusokhoz szükséges kulcs-érték párok konfigurálását ismerteti.

Azure-hitelesítő adatok támogatása konfigurációval

A Microsoft.Extensions.Azure kódtár a .NET absztrakciójával automatikusan biztosíthatja az Azure-szolgáltatás ügyfeleinek az TokenCredential osztályt, ha a .NET absztrakciójával keres appsettings.json vagy más konfigurációs fájlokat hitelesítő IConfiguration adatokhoz. Ez a módszer lehetővé teszi a fejlesztők számára, hogy a hitelesítő adatok értékeit a konfiguráción keresztül, és nem közvetlenül az alkalmazáskódon keresztül állítsa be a különböző környezetekben.

A konfiguráció a következő hitelesítőadat-típusokat támogatja:

Azure-hitelesítő adatok konfigurálása

A AddAzureClients metódussal regisztrált Azure-szolgáltatásügyfelek automatikusan konfigurálva lesznek egy példánysal DefaultAzureCredential , ha a bővítménymetódus nem WithCredential ad meg explicit hitelesítő adatokat. A konfigurációs fájlok hitelesítő adataival felülbírálhatja a globálist DefaultAzureCredential is, amikor regisztrál egy ügyfelet egy adott hitelesítő adattípus létrehozásához:

builder.Services.AddAzureClients(clientBuilder =>
{
    // Register BlobServiceClient using credentials from appsettings.json
    clientBuilder.AddBlobServiceClient(builder.Configuration.GetSection("Storage"));

    // Register ServiceBusClient using the fallback DefaultAzureCredential credentials
    clientBuilder.AddServiceBusClientWithNamespace(
        "<your_namespace>.servicebus.windows.net");
});

A társított appsettings.json fájl:

"Storage": {
    "serviceUri": "<service_uri>",
    "credential": "managedidentity",
    "clientId":  "<clientId>"
}

A következő hitelesítő adattípusok is támogatják a AdditionallyAllowedTenants tulajdonságot, amely további Microsoft Entra-bérlőket határoz meg azon az alapértelmezett bérlőn túl, amelyhez a hitelesítő adat jogkivonatokat szerezhet be:

Adja hozzá a "*" helyettesítő karaktert, hogy a hitelesítő adatok jogkivonatokat szerezzenek be minden Olyan Microsoft Entra-bérlőhöz, amelyhez a bejelentkezett fiók hozzáfér. Ha nincs megadva bérlőazonosító, ez a beállítás nem lesz hatással erre a hitelesítési módszerre, és a hitelesítő adatok jogkivonatokat szereznek be a kért bérlőkhöz a metódus használatakor.

{
    "additionallyAllowedTenants":  "<tenant-ids-separated-by-semicolon>"
}

ManagedIdentityCredential Típus létrehozása

A konfigurációs értékek használatával a felhasználó által hozzárendelt és a rendszer által hozzárendelt felügyelt identitásokat is létrehozhatja. Adja hozzá a következő kulcs-érték párokat a appsettings.json fájlhoz egy példány Azure.Identity.ManagedIdentityCredentiallétrehozásához.

Felhasználó által hozzárendelt felügyelt identitás

A felhasználó által hozzárendelt felügyelt identitás ügyfél-azonosító, erőforrás-azonosító vagy objektumazonosító megadásával használható:

  • Ügyfél-azonosító:

    {
        "credential": "managedidentity",
        "clientId":  "<clientId>"
    }
    
  • Erőforrás-azonosító:

    {
        "credential": "managedidentity",
        "managedIdentityResourceId":  "<managedIdentityResourceId>"
    }
    

    Az erőforrás-azonosító az űrlapot veszi fel /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.

  • Objektumazonosító:

    {
        "credential": "managedidentity",
        "managedIdentityObjectId":  "<managedIdentityObjectId>"
    }    
    

    Fontos

    A managedIdentityObjectId JSON tulajdonság az 1.8.0-s és újabb verziókban Microsoft.Extensions.Azure támogatott.

Rendszer által hozzárendelt felügyelt identitás

{
    "credential": "managedidentity"
}

WorkloadIdentityCredential Típus létrehozása

Adja hozzá a következő kulcs-érték párokat a appsettings.json fájlhoz:Azure.Identity.WorkloadIdentityCredential

{
    "credential": "workloadidentity",
    "tenantId":  "<tenantId>",
    "clientId":  "<clientId>",
    "tokenFilePath": "<tokenFilePath>"
}

ClientSecretCredential Típus létrehozása

Adja hozzá a következő kulcs-érték párokat a appsettings.json fájlhoz:Azure.Identity.ClientSecretCredential

{
    "tenantId":  "<tenantId>",
    "clientId":  "<clientId>",
    "clientSecret": "<clientSecret>"
}

ClientCertificateCredential Típus létrehozása

Adja hozzá a következő kulcs-érték párokat a appsettings.json fájlhoz:Azure.Identity.ClientCertificateCredential

{
    "tenantId":  "<tenantId>",
    "clientId":  "<clientId>",
    "clientCertificate": "<clientCertificate>",
    "clientCertificateStoreLocation": "<clientCertificateStoreLocation>",
    "additionallyAllowedTenants": "<tenant-ids-separated-by-semicolon>"
}

Feljegyzés

A clientCertificateStoreLocation kulcs-érték additionallyAllowedTenants párok nem kötelezőek. Ha a kulcsok jelen vannak, és üres értékekkel rendelkeznek, a rendszer figyelmen kívül hagyja őket. Ha nincs clientCertificateStoreLocation megadva, a rendszer az alapértelmezett CurrentUser értéket használja az X509Credentials.StoreLocation enumerálásból.

DefaultAzureCredential Típus létrehozása

Adja hozzá a következő kulcs-érték párokat a appsettings.json fájlhoz:Azure.Identity.DefaultAzureCredential

{
    "tenantId":  "<tenantId>",
    "clientId":  "<clientId>",
    "managedIdentityResourceId": "<managedIdentityResourceId>"
}