Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Integrace klientské knihovny Azure pro ASP.NET Core (Microsoft.Extensions.Azure) podporuje vytváření různých Azure.Core.TokenCredential typů z párů klíč-hodnota definovaných v appsettings.json a dalších konfiguračních souborech. Přihlašovací údaje odpovídají podmnožině tříd přihlašovacích údajů v klientské knihovně azure Identity. Tento článek popisuje podporu různých TokenCredential typů a způsob konfigurace požadovaných párů klíč-hodnota pro každý typ.
Podpora přihlašovacích údajů Azure prostřednictvím konfigurace
Microsoft.Extensions.Azure může automaticky poskytovat klientům služeb Azure třídu TokenCredential tím, že vyhledá hodnoty přihlašovacích údajů v konfiguračních souborech, jako je appsettings.json, pomocí abstrakce pro .NET. Tento přístup umožňuje vývojářům explicitně nastavit hodnoty přihlašovacích údajů v různých prostředích prostřednictvím konfigurace, nikoli přímo prostřednictvím kódu aplikace.
Pomocí konfigurace je možné vytvořit následující přihlašovací údaje:
- AzurePipelinesCredential
- Certifikát Klienta
- ClientSecretCredential
- DefaultAzureCredential
- ManagedIdentityCredential
- WorkloadIdentityCredential
Konfigurace přihlašovacích údajů Azure
Klienti služby Azure zaregistrovaní v metodě AddAzureClients se automaticky konfigurují s instancí, pokud DefaultAzureCredential prostřednictvím metody rozšíření nejsou zadány WithCredential žádné explicitní přihlašovací údaje. Globální DefaultAzureCredential můžete také přepsat pomocí hodnot přihlašovacích údajů z konfiguračních souborů při registraci klienta k vytvoření specifických přihlašovacích údajů.
builder.Services.AddAzureClients(clientBuilder =>
{
// Register BlobServiceClient using credential from appsettings.json
clientBuilder.AddBlobServiceClient(builder.Configuration.GetSection("Storage"));
// Register ServiceBusClient using the fallback DefaultAzureCredential
clientBuilder.AddServiceBusClientWithNamespace(
"<your_namespace>.servicebus.windows.net");
});
Přidružený soubor appsettings.json :
"Storage": {
"serviceUri": "<service_uri>",
"credential": "managedidentity",
"clientId": "<client_id>"
}
Následující přihlašovací údaje také podporují AdditionallyAllowedTenants vlastnost, která určuje tenanty Microsoft Entra nad rámec výchozího tenanta, pro kterého mohou přihlašovací údaje získat tokeny:
- AzurePipelinesCredential
- Certifikát Klienta
- ClientSecretCredential
- DefaultAzureCredential
- WorkloadIdentityCredential
Přidejte hodnotu * zástupného znaku, která umožní přihlašovacím údajům získat tokeny pro jakéhokoli tenanta Microsoft Entra, ke které má přihlášený účet přístup. Pokud nejsou zadána žádná ID tenanta, tato možnost nemá žádný vliv na tuto metodu ověřování a přihlašovací údaje při použití této metody získají tokeny pro libovolného požadovaného tenanta.
{
"additionallyAllowedTenants": "<tenant_ids_separated_by_semicolon>"
}
Vytvoření instance ManagedIdentityCredential
Přihlašovací údaje můžete nakonfigurovat tak, aby využívaly spravovanou identitu následujícími způsoby pomocí hodnot konfigurace:
- Spravovaná identita přiřazená systémem
- Spravovaná identita přiřazená uživatelem
- Spravovaná identita jako přihlašovací údaje federované identity
Pokud chcete vytvořit instanci Azure.Identity.ManagedIdentityCredential, přidejte do souboruappsettings.json následující páry klíčů a hodnot.
Spravovaná identita přiřazená systémem
{
"credential": "managedidentity"
}
Spravovaná identita přiřazená uživatelem
Spravovanou identitu přiřazenou uživatelem je možné použít zadáním ID klienta, ID prostředku nebo ID objektu.
- ID klienta
- Identifikátor prostředku
- ID objektu
{
"credential": "managedidentity",
"managedIdentityClientId": "<managed_identity_client_id>"
}
Spravovaná identita jako přihlašovací údaje federované identity
Spravovaná identita jako přihlašovací údaj federované identity je podporována ve Microsoft.Extensions.Azure verzích 1.12.0 a novějších. Tato funkce nefunguje se spravovanou identitou přiřazenou systémem. Přihlašovací údaje je možné nakonfigurovat pomocí spravované identity přiřazené uživatelem zadáním ID klienta, ID prostředku nebo ID objektu.
- ID klienta
- Identifikátor prostředku
- ID objektu
{
"credential": "managedidentityasfederatedidentity",
"azureCloud": "<azure_cloud>",
"tenantId": "<tenant_id>",
"clientId": "<client_id>",
"managedIdentityClientId": "<managed_identity_client_id>"
}
Hodnota azureCloud klíče se používá k nastavení oboru přístupového tokenu Microsoft Entra. Může to být jedna z následujících hodnot:
-
publicpro veřejný cloud Azure -
usgovpro cloud Azure pro vládu USA -
chinapro Azure provozovaný společností 21Vianet
Vytvoření instance AzurePipelinesCredential
Pokud chcete vytvořit instanci Azure.Identity.AzurePipelinesCredential, přidejte do souboru appsettings.json následující páry klíč-hodnota:
{
"credential": "azurepipelines",
"clientId": "<client_id>",
"tenantId": "<tenant_id>",
"serviceConnectionId": "<service_connection_id>",
"systemAccessToken": "<system_access_token>"
}
Důležité
AzurePipelinesCredential podporuje se ve Microsoft.Extensions.Azure verzích 1.11.0 a novějších.
Vytvoření instance WorkloadIdentityCredential
Pokud chcete vytvořit instanci Azure.Identity.WorkloadIdentityCredential, přidejte do souboru appsettings.json následující páry klíč-hodnota:
{
"credential": "workloadidentity",
"tenantId": "<tenant_id>",
"clientId": "<client_id>",
"tokenFilePath": "<token_file_path>"
}
Vytvoření instance ClientSecretCredential
Pokud chcete vytvořit instanci Azure.Identity.ClientSecretCredential, přidejte do souboru appsettings.json následující páry klíč-hodnota:
{
"tenantId": "<tenant_id>",
"clientId": "<client_id>",
"clientSecret": "<client_secret>"
}
Vytvoření instance ClientCertificateCredential
Pokud chcete vytvořit instanci Azure.Identity.ClientCertificateCredential, přidejte do souboru appsettings.json následující páry klíč-hodnota:
{
"tenantId": "<tenant_id>",
"clientId": "<client_id>",
"clientCertificate": "<client_certificate>",
"clientCertificateStoreLocation": "<client_certificate_store_location>"
}
Poznámka:
Klíč clientCertificateStoreLocation je volitelný. Pokud klíč:
- Pokud je přítomna a má prázdnou hodnotu, je ignorována.
- Není k dispozici, výchozí hodnota
CurrentUserse používá z výčtu X509Credentials.StoreLocation .
Vytvoření instance DefaultAzureCredential
Pokud chcete vytvořit instanci Azure.Identity.DefaultAzureCredential, přidejte do souboru appsettings.json následující páry klíč-hodnota:
{
"tenantId": "<tenant_id>",
"clientId": "<client_id>",
"managedIdentityResourceId": "<managed_identity_resource_id>"
}