Freigeben über


Autorisieren des Zugriffs auf Tabellen mithilfe der Microsoft Entra-ID

Azure Storage unterstützt mithilfe von Microsoft Entra ID das Autorisieren von Anforderungen an Tabellendaten. Mit Der Microsoft Entra-ID können Sie die rollenbasierte Zugriffssteuerung (Azure RBAC) von Azure verwenden, um Berechtigungen für einen Sicherheitsprinzipal zu erteilen, bei dem es sich um einen Benutzer, eine Gruppe oder einen Anwendungsdienstprinzipal handeln kann. Der Sicherheitsprinzipal wird von Microsoft Entra ID authentifiziert, um ein OAuth 2.0-Token zurückzugeben. Das Token kann anschließend zum Autorisieren einer Anforderung an den Tabellendienst verwendet werden.

Die Autorisierung von Anforderungen für Azure Storage mit Microsoft Entra ID bietet über die Autorisierung mit einem gemeinsam verwalteten Schlüssel überlegene Sicherheit und Benutzerfreundlichkeit. Microsoft empfiehlt, nach Möglichkeit die Microsoft Entra-Autorisierung mit Ihren Tabellenanwendungen zu verwenden, um den Zugriff mit minimal erforderlichen Berechtigungen sicherzustellen.

Die Autorisierung mit Microsoft Entra ist universell in allen öffentlichen Regionen und nationalen Clouds verfügbar. Nur Speicherkonten, die mit dem Azure Resource Manager-Bereitstellungsmodell erstellt wurden, unterstützen die Microsoft Entra-Autorisierung.

Übersicht über Microsoft Entra ID für Tabellen

Wenn ein Sicherheitsprinzipal (ein Benutzer, eine Gruppe oder eine Anwendung) versucht, auf eine Tabellenressource zuzugreifen, muss die Anforderung autorisiert werden. Mit Microsoft Entra ID ist der Zugriff auf eine Ressource ein zweistufiger Prozess. Zunächst wird die Identität des Sicherheitsprinzipals authentifiziert und ein OAuth 2.0-Token zurückgegeben. Anschließend wird das Token als Teil einer Anforderung an den Tabellendienst übergeben und von diesem verwendet, um den Zugriff auf die angegebene Ressource zu autorisieren.

Der Authentifizierungsschritt erfordert, dass eine Anwendung zur Laufzeit ein OAuth 2.0-Zugriffstoken anfordert. Wenn eine Anwendung innerhalb einer Azure-Entität ausgeführt wird, z. B. eine Azure-VM, eine VM-Skalierungsgruppe oder eine Azure Functions-App, kann sie eine verwaltete Identität verwenden, um auf Tabellen zuzugreifen.

Der Autorisierungsschritt erfordert, dass dem Sicherheitsprinzipal mindestens eine Azure-Rolle zugewiesen wird. Azure Storage umfasst Azure-Rollen mit gängigen Gruppen von Berechtigungen für Tabellendaten. Die Rollen, die einem Sicherheitsprinzipal zugewiesen sind, bestimmen die Berechtigungen, über die der Prinzipal verfügt. Weitere Informationen zum Zuweisen von Azure-Rollen für den Tabellenzugriff finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Tabellendaten.

Die folgende Tabelle verweist auf zusätzliche Informationen zum Autorisieren des Zugriffs auf Daten in verschiedenen Szenarien:

Sprache .NET Java JavaScript Python Go
Übersicht über die Authentifizierung mit der Microsoft Entra-ID Authentifizieren von .NET-Anwendungen mit Azure-Diensten Azure-Authentifizierung mit Java und Azure Identity Authentifizieren von JavaScript-Apps bei Azure mithilfe des Azure SDK- Authentifizieren von Python-Apps bei Azure mithilfe des Azure SDK-
Authentifizierung mithilfe von Entwicklerdienstprinzipalen Authentifizieren von .NET-Apps bei Azure-Diensten während der lokalen Entwicklung mithilfe von Dienstprinzipalen Azure-Authentifizierung mit Dienstprinzipal Authentifizieren von JS-Apps bei Azure-Diensten mit einem Dienstprinzipal Authentifizieren von Python-Apps bei Azure-Diensten während der lokalen Entwicklung mithilfe von Dienstprinzipalen Azure SDK für Go-Authentifizierung mit einem Dienstprinzipal
Authentifizierung mit Entwickler- oder Benutzerkonten Authentifizieren von .NET-Apps bei Azure-Diensten während der lokalen Entwicklung mithilfe von Entwicklerkonten Azure-Authentifizierung mit Benutzeranmeldeinformationen Authentifizierung von JS-Apps für Azure-Dienste mit Entwicklungskonten Authentifizieren von Python-Apps bei Azure-Diensten während der lokalen Entwicklung mithilfe von Entwicklerkonten Azure-Authentifizierung mit dem Azure SDK für go
Authentifizierung aus von Azure gehosteten Apps Authentifizieren von von Azure gehosteten Apps für Azure-Ressourcen mit dem Azure SDK für .NET- Authentifizieren von von Azure gehosteten Java-Anwendungen Authentifizieren von von Azure gehosteten JavaScript-Apps für Azure-Ressourcen mit dem Azure SDK für JavaScript- Authentifizieren von von Azure gehosteten Apps für Azure-Ressourcen mit dem Azure SDK für Python Authentifizierung mit dem Azure SDK für Go mithilfe einer verwalteten Identität
Authentifizierung aus lokalen Apps Authentifizieren bei Azure-Ressourcen mit lokal gehosteten .NET-Apps Authentifizieren lokaler JavaScript-Apps für Azure-Ressourcen Authentifizieren bei Azure-Ressourcen mit lokal gehosteten Python-Apps
Übersicht zur Identitätsclientbibliothek Azure Identity-Clientbibliothek für .NET- Azure Identity-Clientbibliothek für Java- Azure Identity-Clientbibliothek für JavaScript Azure Identity-Clientbibliothek für Python Azure Identity-Clientbibliothek für go

Zuweisen von Azure-Rollen für Zugriffsrechte

Microsoft Entra autorisiert Zugriffsrechte für geschützte Ressourcen über die rollenbasierte Zugriffssteuerung in Azure (Azure Role-Based Access Control, Azure RBAC). Azure Storage definiert eine Reihe von in Azure integrierten Rollen mit allgemeinen Berechtigungssätzen für den Zugriff auf Tabellendaten. Außerdem können Sie benutzerdefinierte Rollen für den Zugriff auf Tabellendaten definieren.

Wenn einem Microsoft Entra-Sicherheitsprinzipal eine Azure-Rolle zugewiesen wird, gewährt Azure diesem Sicherheitsprinzipal Zugriff auf diese Ressourcen. Ein Microsoft Entra-Sicherheitsprinzipal kann einen Benutzer, eine Gruppe, ein Anwendungsdienstprinzipal oder eine verwaltete Identität für Azure-Ressourcen sein.

Ressourcenbereich

Bevor Sie einem Sicherheitsprinzipal eine Azure RBAC-Rolle zuweisen, bestimmen Sie den Umfang des Zugriffs, über den der Sicherheitsprinzipal verfügen soll. Bewährte Methoden diktieren, dass es immer am besten ist, nur den schmalsten möglichen Bereich zu gewähren. Azure RBAC-Rollen, die in einem umfassenderen Bereich definiert sind, werden von den darunterliegenden Ressourcen geerbt.

Sie können den Zugriff auf Azure-Tabellenressourcen auf den folgenden Ebenen einschränken, beginnend mit dem kleinstmöglichen Bereich:

  • Eine einzelne Tabelle. In diesem Bereich gilt eine Rollenzuweisung nur für die angegebene Tabelle.
  • Das Speicherkonto. In diesem Bereich gilt eine Rollenzuweisung für alle Tabellen im Konto.
  • Die Ressourcengruppe. Bei diesem Bereich gilt eine Rollenzuweisung für alle Tabellen in allen Speicherkonten der Ressourcengruppe.
  • Das Abonnement. Bei diesem Bereich gilt eine Rollenzuweisung für alle Tabellen in allen Speicherkonten in allen Ressourcengruppen des Abonnements.
  • Eine Verwaltungsgruppe. Bei diesem Bereich gilt eine Rollenzuweisung für alle Tabellen in allen Speicherkonten in allen Ressourcengruppen in allen Abonnements in der Ressourcengruppe.

Weitere Informationen zum Bereich für Azure RBAC-Rollenzuweisungen finden Sie unter Grundlegendes zum Bereich für Azure RBAC.

In Azure integrierte Rollen für Tabellen

Azure RBAC stellt integrierte Rollen zum Autorisieren des Zugriffs auf Tabellendaten mit Microsoft Entra ID und OAuth bereit. Die folgenden integrierten Rollen besitzen Berechtigungen für Tabellen in Azure Storage:

Informationen zum Zuweisen einer integrierten Azure-Rolle zu einem Sicherheitsprinzipal finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Tabellendaten. Informationen zum Auflisten von Azure RBAC-Rollen und deren Berechtigungen finden Sie unter Auflisten von Azure-Rollendefinitionen.

Weitere Informationen dazu, wie integrierte Rollen für Azure Storage definiert werden, finden Sie unter Grundlegendes zu Rollendefinitionen. Informationen zum Erstellen benutzerdefinierter Azure-Rollen finden Sie unter benutzerdefinierte Azure-Rollen.

Nur Rollen, die explizit für den Datenzugriff vorgesehen sind, ermöglichen einem Sicherheitsprinzipal den Zugriff auf Tabellendaten. Integrierte Rollen wie Besitzer, Mitwirkender und Speicherkontomitwirkender gestatten einem Sicherheitsprinzipal die Verwaltung eines Speicherkontos, gewähren aber keinen Zugriff auf die Tabellendaten in diesem Konto über Microsoft Entra ID. Wenn eine Rolle jedoch Microsoft.Storage/storageAccounts/listKeys/actionenthält, kann ein Benutzer, dem diese Rolle zugewiesen ist, mithilfe der Zugriffsschlüssel des Kontos über die Autorisierung mit Shared Keys auf Daten im Speicherkonto zugreifen.

Ausführliche Informationen zu den vordefinierten Azure-Rollen für Azure Storage, sowohl für die Datendienste als auch für den Verwaltungsdienst, finden Sie im Abschnitt Storage in den integrierten Azure-Rollen für Azure RBAC. Weitere Informationen zu den verschiedenen Rollentypen, die Berechtigungen in Azure bereitstellen, finden Sie unter Azure-Rollen, Microsoft Entra-Rollen und klassische Abonnementadministratorrollen.

Von Bedeutung

Azure-Rollenzuweisungen können bis zu 30 Minuten dauern, bis sie verteilt werden.

Zugriffsberechtigungen für Datenvorgänge

Ausführliche Informationen zu den Berechtigungen, die zum Aufrufen bestimmter Tabellendienstvorgänge erforderlich sind, finden Sie unter Berechtigungen für Aufrufen von Datenvorgängen.

Nächste Schritte