Partager via


Prise en main de la bibliothèque de gestion Stockage Azure pour .NET

Cet article explique comment vous connecter aux ressources Stockage Azure à l’aide de la bibliothèque de gestion stockage Azure pour .NET. Une fois connecté, vous pouvez créer, mettre à jour et supprimer des comptes de stockage, et gérer les paramètres du compte de stockage. Pour en savoir plus sur les différences entre la gestion des ressources et l’accès aux données à l’aide des bibliothèques clientes Stockage Azure, consultez Vue d’ensemble des bibliothèques clientes Stockage Azure.

Référence API | NuGet | GitHub | Envoyer des commentaires

Prérequis

Configuration de votre projet

Cette section vous guide tout au long de la préparation d’un projet à utiliser avec la bibliothèque de gestion stockage Azure pour .NET.

À partir du répertoire de votre projet, installez les packages pour les bibliothèques de client Stockage Azure Resource Manager et Azure Identity à l’aide de la commande dotnet add package. Le package Azure.Identity est nécessaire pour les connexions sans mot de passe aux services Azure.

dotnet add package Azure.Identity
dotnet add package Azure.ResourceManager.Storage

Ajoutez ces directives using au début de votre fichier de code :

using Azure.Identity;
using Azure.ResourceManager;

Informations sur la bibliothèque de gestion :

  • Azure.ResourceManager.Storage : contient les classes principales représentant les collections, ressources et données pour la gestion des comptes de stockage.

Autoriser l’accès et créer un client

Pour connecter une application et gérer des ressources de compte de stockage, créez un objet ArmClient. Cet objet client est le point d’entrée de tous les clients Azure Resource Manager (ARM). Étant donné que toutes les API de gestion passent par le même point de terminaison, vous n’avez besoin de créer qu’un ArmClient de niveau supérieur pour interagir avec les ressources.

Attribuer des autorisations de gestion avec le contrôle d’accès en fonction du rôle (RBAC) Azure

Azure fournit des rôles intégrés qui accordent des autorisations pour appeler les opérations de gestion. Stockage Azure fournit également des rôles intégrés spécifiquement destinés à être utilisés avec le fournisseur de ressources Stockage Azure. Pour en savoir plus, consultez Rôles intégrés pour les opérations de gestion.

Autoriser l’accès en utilisant DefaultAzureCredential

Vous pouvez autoriser un objet ArmClient en utilisant un jeton d’autorisation Microsoft Entra. Dans l’exemple de code de cet article, nous utilisons DefaultAzureCredential pour autoriser l’objet client. La classe DefaultAzureCredential fournit un flux d’authentification TokenCredential par défaut pour les applications qui seront déployées sur Azure. Pour en savoir plus, consultez DefaultAzureCredential.

Pour autoriser avec Microsoft Entra ID, vous devez utiliser un principal de sécurité. Le type de principal de sécurité dont vous avez besoin dépend de l’endroit où vous exécutez votre application. Utilisez le tableau suivant comme guide :

Emplacement d’exécution de l’application Principal de sécurité Assistance
Ordinateur local (développement et test) Principal du service Pour découvrir comment inscrire l’application, configurer un groupe Microsoft Entra, attribuer des rôles et configurer des variables d’environnement, consultez Autoriser l’accès à l’aide de principaux de service de développeur
Ordinateur local (développement et test) Identité de l’utilisateur Pour découvrir comment configurer un groupe Microsoft Entra, attribuer des rôles et se connecter à Azure, consultez Autoriser l’accès à l’aide des informations d’identification du développeur
Hébergé dans Azure Identité managée Pour découvrir comment activer une identité managée et attribuer des rôles, consultez les instructions pour autoriser l’accès à l’aide d’une identité managée affectée par le système ou d’une identité managée affectée par l’utilisateur
Hébergé en dehors d’Azure (par exemple, des applications locales) Principal du service Pour savoir comment inscrire l’application, attribuer des rôles et configurer des variables d’environnement, consultez Autoriser l’accès à partir d’applications locales en utilisant un principal de service d’application.

Un moyen simple et facile d’autoriser l’accès et de se connecter aux ressources de compte de stockage consiste à obtenir un jeton OAuth en créant une instance DefaultAzureCredential. Vous pouvez ensuite utiliser ces informations d’identification pour créer un objet ArmClient.

L’exemple suivant crée un objet ArmClient autorisé à l’aide de DefaultAzureCredential, puis obtient la ressource d’abonnement pour l’ID d’abonnement spécifié :

ArmClient armClient = new ArmClient(new DefaultAzureCredential());

// Create a resource identifier, then get the subscription resource
ResourceIdentifier resourceIdentifier = new($"/subscriptions/{subscriptionId}");
SubscriptionResource subscription = armClient.GetSubscriptionResource(resourceIdentifier);

Si vous savez exactement quel type d’informations d’identification vous utilisez pour authentifier les utilisateurs, vous pouvez obtenir un jeton OAuth à l’aide d’autres classes dans la bibliothèque de client Azure Identity pour .NET. Ces classes dérivent de la classe TokenCredential.

Pour en savoir plus sur l’autorisation des opérations de gestion, consultez Attribuer des autorisations de gestion avec le contrôle d’accès en fonction du rôle (RBAC) Azure.

Inscrire le fournisseur de ressources Stockage dans un abonnement

Un fournisseur de ressources doit être inscrit dans votre abonnement Azure pour que vous puissiez l’utiliser. Cette étape ne doit être effectuée qu’une seule fois par abonnement et ne s’applique que si le fournisseur de ressources Microsoft.Storage n’est pas actuellement inscrit dans votre abonnement.

Vous pouvez inscrire le fournisseur de ressources Stockage ou vérifier l’état de l’inscription à l’aide de Portail Azure, d’Azure CLI ou d’Azure PowerShell.

Vous pouvez également utiliser les bibliothèques de gestion Azure pour vérifier l’état de l’inscription et inscrire le fournisseur de ressources Stockage, comme illustré dans l’exemple suivant :

public static async Task RegisterSRPInSubscription(SubscriptionResource subscription)
{
    ResourceProviderResource resourceProvider =
        await subscription.GetResourceProviderAsync("Microsoft.Storage");

    // Check the registration state of the resource provider and register, if needed
    if (resourceProvider.Data.RegistrationState == "NotRegistered")
        resourceProvider.Register();
}

Remarque

Pour effectuer l’opération d’inscription, vous avez besoin d’autorisations pour l’action RBAC Azure suivante : Microsoft.Storage/register/action. Cette autorisation est incluse dans les rôles Contributeur et Propriétaire intégrés.

Créer un client pour la gestion des ressources du compte de stockage

Après avoir créé un objet ArmClient et inscrit le fournisseur de ressources de stockage, vous pouvez créer des objets clients au niveau du groupe de ressources et du compte de stockage. L’exemple de code suivant montre comment créer des objets clients pour un groupe de ressources et un compte de stockage donnés :

// Get a resource group
ResourceGroupResource resourceGroup = await subscription.GetResourceGroupAsync(rgName);

// Get a collection of storage account resources
StorageAccountCollection accountCollection = resourceGroup.GetStorageAccounts();

// Get a specific storage account resource
StorageAccountResource storageAccount = await accountCollection.GetAsync(storageAccountName);

Comprendre la hiérarchie des ressources client

Pour réduire à la fois le nombre de clients nécessaires pour effectuer des tâches courantes et le nombre de paramètres redondants que chacun de ces clients prend, le SDK de gestion fournit une hiérarchie d’objets qui reflète la hiérarchie d’objets dans Azure. Chaque client de ressources du kit SDK propose des méthodes permettant d'accéder aux clients de ressources de ses enfants qui sont déjà associés à l'abonnement et au groupe de ressources appropriés.

Il existe trois niveaux de hiérarchie standard pour chaque type de ressource. Pour les ressources de compte de stockage, la hiérarchie est la suivante :

  • StorageAccountCollection : représente les opérations que vous pouvez effectuer sur une collection de comptes de stockage appartenant à une ressource parente spécifique, telle qu’un groupe de ressources.
  • StorageAccountResource : représente un objet client de compte de stockage complet et contient une propriété Data exposant les détails sous la forme d’un type StorageAccountData. Une instance de classe a accès à toutes les opérations sur cette ressource sans avoir à passer des paramètres d’étendue tels que l’ID d’abonnement ou le nom de la ressource.
  • StorageAccountData : représente le modèle qui compose une ressource donnée. En règle générale, cette classe est les données de réponse d’un appel de service et fournit des détails sur la ressource.

Générer votre application

Le guide suivant vous montre comment gérer des ressources et effectuer des actions spécifiques à l’aide de la bibliothèque de gestion Stockage Azure pour .NET :

Guide Description
Gérer un compte de stockage Découvrez comment créer et gérer un compte de stockage, gérer des clés de compte de stockage et configurer des options client pour créer une stratégie de nouvelle tentative personnalisée.