Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie eine Verbindung zu Azure Storage-Ressourcen mithilfe der Azure Storage-Verwaltungsbibliothek für .NET herstellen. Nachdem die Verbindung erstellt wurde, können Sie Speicherkonten erstellen, aktualisieren und löschen sowie Speicherkontoeinstellungen verwalten. Informationen zu den Unterschieden zwischen Ressourcenverwaltung und Datenzugriff mithilfe von Azure Storage-Clientbibliotheken finden Sie unter Übersicht über die Azure Storage-Clientbibliotheken.
API-Referenz | GitHub | Feedback geben
Voraussetzungen
- Azure-Abonnement – Erstellen eines kostenlosen Kontos
- Neuestes .NET SDK für Ihr Betriebssystem. Laden Sie unbedingt das SDK und nicht die Runtime herunter.
Einrichten des Projekts
In diesem Abschnitt wird beschrieben, wie Sie ein Projekt zum Arbeiten mit der Azure Storage-Verwaltungsbibliothek für .NET vorbereiten.
Installieren Sie aus Ihrem Projektverzeichnis mithilfe des Befehls dotnet add package die Pakete für die Azure Resource Manager- und Azure Identity-Clientbibliotheken. Für kennwortlose Verbindungen mit Azure-Diensten wird das Azure.Identity-Paket benötigt.
dotnet add package Azure.Identity
dotnet add package Azure.ResourceManager.Storage
Fügen Sie diese using-Anweisungen am Anfang der Codedatei hinzu:
using Azure.Identity;
using Azure.ResourceManager;
Informationen zur Verwaltungsbibliothek:
- Azure.ResourceManager.Storage: Enthält die primären Klassen, die Sammlungen, Ressourcen und Daten zum Verwalten von Speicherkonten darstellen.
Autorisieren des Zugriffs und Erstellen eines Clients
Um eine Anwendung zu verbinden und Speicherkontoressourcen zu verwalten, erstellen Sie ein ArmClient-Objekt. Dieses Clientobjekt ist der Einstiegspunkt für alle Azure Resource Manager (ARM)-Clients. Da alle Verwaltungs-APIs denselben Endpunkt durchlaufen, müssen Sie lediglich ein ArmClient-Objekt auf oberster Ebene erstellen, um mit Ressourcen interagieren zu können.
Zuweisen von Verwaltungsberechtigungen mit Azure RBAC
Azure bietet integrierte Rollen, mit denen Berechtigungen zum Aufrufen von Verwaltungsvorgängen erteilt werden. Azure Storage bietet außerdem integrierte Rollen speziell für die Verwendung mit dem Azure Storage-Ressourcenanbieter. Weitere Informationen finden Sie unter Integrierte Rollen für Verwaltungsvorgänge.
Autorisieren des Zugriffs mithilfe von DefaultAzureCredential
Sie können ein ArmClient-Objekt mithilfe eines Microsoft Entra-Autorisierungstokens autorisieren. Im Codebeispiel in diesem Artikel verwenden wir DefaultAzureCredential, um das Clientobjekt zu autorisieren. Die DefaultAzureCredential-Klasse stellt einen Standardauthentifizierungsfluss für TokenCredential für Anwendungen bereit, die in Azure bereitgestellt werden. Weitere Informationen finden Sie unter DefaultAzureCredential.
Um mit Microsoft Entra ID zu autorisieren, müssen Sie einen Sicherheitsprinzipal verwenden. Der Typ des für Sie erforderlichen Sicherheitsprinzipals ist abhängig davon, wo Ihre Anwendung ausgeführt wird. Verwenden Sie die folgende Tabelle als Richtlinie:
| Ausführungsort der Anwendung | Sicherheitsprinzipal | Leitfaden |
|---|---|---|
| Lokaler Computer (Entwickeln und Testen) | Dienstprinzipal | Informationen zum Registrieren der App, zum Einrichten einer Microsoft Entra-Gruppe, zum Zuweisen von Rollen und zum Konfigurieren von Umgebungsvariablen finden Sie unter Zugriff über Entwicklerdienstprinzipien autorisieren |
| Lokaler Computer (Entwickeln und Testen) | Benutzeridentität | Informationen zum Einrichten einer Microsoft Entra-Gruppe, zum Zuweisen von Rollen und zum Anmelden bei Azure finden Sie unter Zugriff mit Entwickleranmeldeinformationen autorisieren |
| In Azure gehostet | Verwaltete Identität | Informationen zum Aktivieren einer verwalteten Identität und zum Zuweisen von Rollen finden Sie im Leitfaden zum Autorisieren des Zugriffs mithilfe einer systemseitig zugewiesenen verwalteten Identität oder einer benutzerseitig zugewiesenen verwalteten Identität |
| Außerhalb von Azure gehostet (z. B. lokale Apps) | Dienstprinzipal | Informationen zum Registrieren der App, zum Zuweisen von Rollen und zum Konfigurieren von Umgebungsvariablen finden Sie unter Authenticate to Azure resources from Python apps hosted on-premises (Authentifizieren bei Azure-Ressourcen mit lokal gehosteten Python-Apps). |
Eine einfache und sichere Möglichkeit zum Autorisieren des Zugriffs und zum Herstellen einer Verbindung mit Speicherkontoressourcen ist das Abrufen eines OAuth-Tokens durch Erstellung einer DefaultAzureCredential-Instanz. Anschließend können Sie mithilfe dieser Anmeldeinformationen ein ArmClient-Objekt erstellen.
Im folgenden Beispiel wird mithilfe von ArmClient ein autorisiertes DefaultAzureCredential-Objekt erstellt. Anschließend wird die Abonnementressource für die angegebene Abonnement-ID abgerufen:
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);
Wenn Sie genau wissen, welchen Anmeldeinformationstyp Sie zum Authentifizieren von Benutzern verwenden werden, können Sie mithilfe anderer Klassen in der Azure Identity-Clientbibliothek für .NET ein OAuth-Token abrufen. Diese Klassen werden von der Klasse TokenCredential abgeleitet.
Weitere Informationen zur Autorisierung von Verwaltungsvorgängen finden Sie unter Zuweisen von Verwaltungsberechtigungen mit Azure RBAC.
Registrieren des Storage-Ressourcenanbieters bei einem Abonnement
Ein Ressourcenanbieter muss bei Ihrem Azure-Abonnement registriert sein, bevor Sie mit ihm arbeiten können. Dieser Schritt muss nur einmal pro Abonnement durchgeführt werden und gilt nur, wenn der Ressourcenanbieter Microsoft.Storage derzeit nicht bei Ihrem Abonnement registriert ist.
Sie können den Storage-Ressourcenanbieter registrieren oder den Registrierungsstatus mithilfe des Azure-Portals, der Azure CLI oder von Azure PowerShell überprüfen.
Sie können auch die Azure-Verwaltungsbibliotheken verwenden, um den Registrierungsstatus zu überprüfen und den Storage-Ressourcenanbieter zu registrieren, wie im folgenden Beispiel gezeigt:
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();
}
Hinweis
Zum Ausführen des Registrierungsvorgangs benötigen Sie Berechtigungen für die folgende Azure-RBAC-Aktion: Microsoft.Storage/register/action. Die Berechtigung ist in den integrierten Rollen Mitwirkende Person und Besitzende Person enthalten.
Erstellen eines Clients zum Verwalten von Speicherkontoressourcen
Nachdem Sie ein ArmClient-Objekt erstellt und den Speicherressourcenanbieter registriert haben, können Sie Clientobjekte auf Ressourcengruppen- und Speicherkontoebenen erstellen. Das folgende Codebeispiel zeigt, wie Clientobjekte für eine bestimmte Ressourcengruppe und ein Speicherkonto erstellt werden:
// 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);
Grundlegendes zur Clientressourcenhierarchie
Um sowohl die Anzahl der Clients zu reduzieren, die zur Durchführung allgemeiner Aufgaben benötigt werden, als auch die Anzahl der redundanten Parameter, die jeder dieser Clients benötigt, bietet das Management-SDK eine Objekthierarchie, die die Objekthierarchie in Azure widerspiegelt. Jeder Ressourcenclient im SDK verfügt über Methoden für den Zugriff auf die Ressourcenclients der ihm untergeordneten Elemente, die bereits dem richtigen Abonnement und der richtigen Ressourcengruppe angepasst sind.
Für jeden Ressourcentyp gibt es drei Standardhierarchieebenen. Für Speicherkontoressourcen lautet die Hierarchie wie folgt:
- StorageAccountCollection: Stellt die Vorgänge dar, die Sie für eine Sammlung von Speicherkonten ausführen können, die zu einer bestimmten übergeordneten Ressource gehören, z. B. einer Ressourcengruppe.
-
StorageAccountResource: Stellt ein vollständiges Speicherkonto-Clientobjekt dar und enthält eine Data-Eigenschaft, die die Details als
StorageAccountData-Typ verfügbar macht. Eine Klasseninstanz hat Zugriff auf alle Vorgänge in dieser Ressource, ohne dass Bereichsparameter wie Abonnement-ID oder Ressourcenname übergeben werden müssen. - StorageAccountData: Stellt das Modell dar, aus dem eine bestimmte Ressource besteht. In der Regel handelt es sich bei dieser Klasse um die Antwortdaten eines Dienstaufrufs und enthält Details zur Ressource.
Erstellen Ihrer Anwendung
In den folgenden Leitfäden wird Ihnen gezeigt, wie Sie Ressourcen verwalten und bestimmte Aktionen mithilfe der Azure Storage-Verwaltungsbibliothek für .NET ausführen:
| Handbuch | Beschreibung |
|---|---|
| Verwalten eines Speicherkontos | Erfahren Sie, wie Sie ein Speicherkonto erstellen und verwalten, Speicherkontoschlüssel verwalten und Clientoptionen konfigurieren, um eine benutzerdefinierte Wiederholungsrichtlinie zu erstellen. |