Autorisieren des Zugriffs auf Tabellen mithilfe von Microsoft Entra ID

Azure Storage unterstützt mithilfe von Microsoft Entra ID das Autorisieren von Anforderungen an Tabellendaten. Mit Microsoft Entra ID können Sie die rollenbasierte Zugriffssteuerung von Azure (Azure RBAC) zum Gewähren von Berechtigungen für einen Sicherheitsprinzipal verwenden, bei dem es sich um eine*n Benutzer*in, 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. Die Microsoft Entra-Autorisierung wird nur für Speicherkonten unterstützt, die mit dem Azure Resource Manager-Bereitstellungsmodell erstellt wurden.

Ü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 wird 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.

Für den Authentifizierungsschritt ist es erforderlich, dass eine Anwendung zur Laufzeit ein OAuth 2.0-Zugriffstoken anfordert. Wenn eine Anwendung in einer Azure-Entität, z. B. einer Azure-VM, einer VM-Skalierungsgruppe oder einer Azure Functions-App, ausgeführt wird, kann der Zugriff auf Tabellen über eine verwaltete Identität erfolgen.

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 Berechtigungen dieses Sicherheitsprinzipals sind durch die Rollen vorgegeben, die dem Prinzipal zugewiesen sind. 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 enthält zusätzliche Informationen zum Autorisieren des Zugriffs auf Daten in verschiedenen Szenarien:

Sprache .NET Java JavaScript Python Go
Übersicht über die Authentifizierung mit 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 für Azure-Dienste mit einem Dienstprinzipal Authentifizieren von Python-Apps bei Azure-Diensten während der lokalen Entwicklung mithilfe von Dienstprinzipalen Authentifizierung per Azure SDK für Go mit einem Dienstprinzipal
Authentifizierung mithilfe von Entwickler- oder Benutzerkonten Authentifizieren von .NET-Apps bei Azure-Diensten während der lokalen Entwicklung mithilfe von Entwicklerkonten Azure-Authentifizierung mit Benutzeranmeldeinformationen Authentifizieren von JS-Apps für Azure-Dienste mit Entwicklerkonten 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 über von Azure gehostete Apps Authentifizieren von Azure gehosteten Apps bei Azure-Ressourcen mit dem Azure SDK für .NET Authentifizieren von in Azure gehosteten Java-Anwendungen Authentifizieren von Azure gehosteten JavaScript-Apps bei Azure-Ressourcen mit dem Azure SDK für JavaScript Authentifizieren von Azure gehosteten Apps bei Azure-Ressourcen mit dem Azure SDK für Python Authentifizierung mit dem Azure SDK für Go mithilfe einer verwalteten Identität
Authentifizierung über lokale Apps Authentifizieren bei Azure-Ressourcen mit lokal gehosteten .NET-Apps Authentifizieren lokaler JavaScript-Apps bei Azure-Ressourcen Authentifizieren bei Azure-Ressourcen mit lokal gehosteten Python-Apps
Identitätsclientbibliothek-Übersicht 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 Rechte für den Zugriff auf 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 ein*e Benutzer*in, eine Gruppe, ein Anwendungsdienstprinzipal oder eine verwaltete Identität für Azure-Ressourcen sein.

Ressourcenumfang

Bevor Sie einem Sicherheitsprinzipal eine Azure RBAC-Rolle zuweisen, legen Sie den Zugriffsbereich fest, den der Sicherheitsprinzipal haben soll. Es hat sich als am besten bewährt, stets nur den kleinstmöglichen Umfang an Zugriffsrechten 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:

  • Individuelle 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 sind, finden Sie unter Grundlegendes zu Rollendefinitionen. Informationen zum Erstellen von benutzerdefinierten 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/action enthält, kann ein Benutzer, dem diese Rolle zugewiesen ist, über die Autorisierung mit gemeinsam verwendetem Schlüssel mit den Kontozugriffsschlüsseln auf Daten im Speicherkonto zugreifen.

Ausführliche Informationen zu integrierten Azure-Rollen für Azure Storage für die Datendienste und den Verwaltungsdienst finden Sie im Artikel In Azure integrierte Rollen für Azure RBAC im Abschnitt Storage. Informationen zu den verschiedenen Typen von Rollen, die Berechtigungen in Azure bereitstellen, finden Sie zusätzlich unter Azure-Rollen, Microsoft Entra-Rollen und Administratorrollen für klassische Abonnements.

Wichtig

Die Verteilung von Azure-Rollenzuweisungen kann bis zu 30 Minuten dauern.

Zugriffsberechtigungen für Datenvorgänge

Einzelheiten zu den Berechtigungen, die für spezifische Vorgänge des Table Storage-Diensts erforderlich sind, finden Sie unter Berechtigungen für das Aufrufen von Datenvorgängen.

Nächste Schritte