Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’intégration de la bibliothèque cliente Azure pour ASP.NET Core (Microsoft.Extensions.Azure) prend en charge la création de différents Azure.Core.TokenCredential types à partir de paires clé-valeur définies dans appsettings.json et d’autres fichiers de configuration. Les informations d’identification correspondent à un sous-ensemble des classes d’informations d’identification dans la bibliothèque cliente Azure Identity. Cet article décrit la prise en charge des différents types TokenCredential et la configuration des paires clé-valeur requises pour chaque type.
Prise en charge des informations d’identification Azure par le biais de la configuration
Microsoft.Extensions.Azure peut automatiquement fournir aux clients des services Azure une classe TokenCredential en recherchant appsettings.json ou d'autres fichiers de configuration pour les valeurs de credentials grâce à l'abstraction IConfiguration pour .NET. Cette approche permet aux développeurs de définir explicitement des valeurs d’informations d’identification dans différents environnements via la configuration plutôt que directement via le code d’application.
Les informations d’identification suivantes peuvent être créées via la configuration :
- AzurePipelinesCredential
- ClientCertificateCredential
- ClientSecretCredential
- DefaultAzureCredential
- ManagedIdentityCredential
- WorkloadIdentityCredential
Configurer les informations d’identification Azure
Les clients de service Azure inscrits avec la méthode AddAzureClients sont automatiquement configurés avec une instance de DefaultAzureCredential si aucune information d’identification explicite n’est fournie via la méthode d’extension WithCredential. Vous pouvez également remplacer le global DefaultAzureCredential à l’aide de valeurs d’informations d’identification à partir de fichiers de configuration lors de l’inscription d’un client pour créer des informations d’identification spécifiques :
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");
});
Fichier appsettings.json associé :
"Storage": {
"serviceUri": "<service_uri>",
"credential": "managedidentity",
"clientId": "<client_id>"
}
Les informations d’identification suivantes prennent également en charge la propriété AdditionallyAllowedTenants, qui spécifie les locataires Microsoft Entra au-delà du locataire par défaut pour lequel les informations d’identification peuvent acquérir des jetons :
- AzurePipelinesCredential
- ClientCertificateCredential
- ClientSecretCredential
- DefaultAzureCredential
- WorkloadIdentityCredential
Ajoutez la valeur de caractère générique * pour permettre à l’information d’identification d’acquérir des jetons pour tous les locataires Microsoft Entra auxquels le compte connecté peut accéder. Si aucun ID de locataire n’est spécifié, cette option n’a aucun effet sur cette méthode d’authentification, et le justificatif obtiendra des tokens pour tout locataire demandé lors de l’utilisation de cette méthode.
{
"additionallyAllowedTenants": "<tenant_ids_separated_by_semicolon>"
}
Créer une instance de ManagedIdentityCredential
Vous pouvez configurer des informations d’identification pour utiliser une identité managée de la manière suivante à l’aide de valeurs de configuration :
- Identité gérée attribuée par le système
- Identité gérée assignée par l’utilisateur
- Identité gérée comme justificatif d'identité fédérée
Pour créer une instance de Azure.Identity.ManagedIdentityCredential, ajoutez les paires clé-valeur suivantes à votre fichier appsettings.json .
Identité gérée attribuée par le système
{
"credential": "managedidentity"
}
Identité gérée assignée par l’utilisateur
Une identité managée affectée par l’utilisateur peut être utilisée en fournissant un ID client, un ID de ressource ou un ID d’objet.
{
"credential": "managedidentity",
"managedIdentityClientId": "<managed_identity_client_id>"
}
Identité gérée comme justificatif d'identité fédérée
L'identité managée en tant que fonction de justificatif d'identité fédérée est prise en charge dans les Microsoft.Extensions.Azure versions 1.12.0 et ultérieures. La fonctionnalité ne fonctionne pas avec l’identité managée affectée par le système. Les informations d’identification peuvent être configurées avec une identité managée affectée par l’utilisateur en fournissant un ID client, un ID de ressource ou un ID d’objet.
{
"credential": "managedidentityasfederatedidentity",
"azureCloud": "<azure_cloud>",
"tenantId": "<tenant_id>",
"clientId": "<client_id>",
"managedIdentityClientId": "<managed_identity_client_id>"
}
La azureCloud valeur de clé est utilisée pour définir l’étendue du jeton d’accès Microsoft Entra. Ce peut être l’une des valeurs suivantes :
-
publicpour le cloud public Azure -
usgovpour Azure US Government Cloud -
chinapour Azure géré par 21Vianet
Créer une instance de AzurePipelinesCredential
Pour créer une instance de Azure.Identity.AzurePipelinesCredential, ajoutez les paires clé-valeur suivantes à votre fichier appsettings.json :
{
"credential": "azurepipelines",
"clientId": "<client_id>",
"tenantId": "<tenant_id>",
"serviceConnectionId": "<service_connection_id>",
"systemAccessToken": "<system_access_token>"
}
Importante
AzurePipelinesCredential est pris en charge dans les Microsoft.Extensions.Azure versions 1.11.0 et ultérieures.
Créer une instance de WorkloadIdentityCredential
Pour créer une instance de Azure.Identity.WorkloadIdentityCredential, ajoutez les paires clé-valeur suivantes à votre fichier appsettings.json :
{
"credential": "workloadidentity",
"tenantId": "<tenant_id>",
"clientId": "<client_id>",
"tokenFilePath": "<token_file_path>"
}
Créer une instance de ClientSecretCredential
Pour créer une instance de Azure.Identity.ClientSecretCredential, ajoutez les paires clé-valeur suivantes à votre fichier appsettings.json :
{
"tenantId": "<tenant_id>",
"clientId": "<client_id>",
"clientSecret": "<client_secret>"
}
Créer une instance de ClientCertificateCredential
Pour créer une instance de Azure.Identity.ClientCertificateCredential, ajoutez les paires clé-valeur suivantes à votre fichier appsettings.json :
{
"tenantId": "<tenant_id>",
"clientId": "<client_id>",
"clientCertificate": "<client_certificate>",
"clientCertificateStoreLocation": "<client_certificate_store_location>"
}
Remarque
La clientCertificateStoreLocation clé est facultative. Si la clé :
- est présente et a une valeur vide, elle est ignorée.
- N’est pas présent, la valeur par défaut
CurrentUserest utilisée à partir de l’énumération X509Credentials.StoreLocation .
Créer une instance de DefaultAzureCredential
Pour créer une instance de Azure.Identity.DefaultAzureCredential, ajoutez les paires clé-valeur suivantes à votre fichier appsettings.json :
{
"tenantId": "<tenant_id>",
"clientId": "<client_id>",
"managedIdentityResourceId": "<managed_identity_resource_id>"
}