Autorisieren des Zugriffs auf Azure-Blobs und -Warteschlangen mit Azure Active DirectoryAuthorize access to Azure blobs and queues using Azure Active Directory

Azure Storage unterstützt mithilfe von Azure Active Directory (Azure AD) das Autorisieren von Anforderungen an Blob- und Queue Storage.Azure Storage supports using Azure Active Directory (AD) to authorize requests to Blob and Queue storage. Mit Azure AD können Sie die rollenbasierte Zugriffssteuerung (RBAC) zum Gewähren von Berechtigungen für einen Sicherheitsprinzipal verwenden, bei dem es sich um einen Benutzer, eine Gruppe oder einen Anwendungsdienstprinzipal handelt.With Azure AD, you can use role-based access control (RBAC) to grant permissions to a security principal, which may be a user, group, or application service principal. Der Sicherheitsprinzipal wird von Azure AD authentifiziert, um ein OAuth 2.0-Token zurückzugeben.The security principal is authenticated by Azure AD to return an OAuth 2.0 token. Das Token kann zum Autorisieren einer Anforderung für den Zugriff auf eine Ressource in Blob- oder Queue Storage verwendet werden.The token can be used to authorize a request to access a resource in Blob or Queue storage.

Das Autorisieren von Benutzern oder Anwendungen mithilfe eines von Azure AD zurückgegebenen OAuth 2.0-Tokens bietet mehr Sicherheit und Benutzerfreundlichkeit als die Autorisierung mit gemeinsam verwendeten Schlüsseln oder freigegebenen Zugriffssignaturen (SAS).Authorizing users or applications using an OAuth 2.0 token returned by Azure AD provides superior security and ease of use over Shared Key authorization and shared access signatures (SAS). Mit Azure AD müssen Kontozugriffsschlüssel mit Ihrem Code und potenziellen Sicherheitsrisiken nicht gespeichert werden.With Azure AD, there is no need to store the account access key with your code and risk potential security vulnerabilities. Während Sie weiterhin die Autorisierung mit gemeinsam verwendetem Schlüssel mit Ihren Anwendungen verwenden können, macht Azure AD das Speichern Ihrer Kontozugriffsschlüssel mit Ihrem Code überflüssig.While you can continue to use Shared Key authorization with your applications, using Azure AD circumvents the need to store your account access key with your code. Sie können auch weiterhin Shared Access Signatures für zum Gewähren eines differenzierten Zugriffs auf Ressourcen in Ihrem Speicherkonto verwenden. Azure AD bietet jedoch ähnliche Funktionen, bei denen Sie weder SAS-Token verwalten noch sich um das Widerrufen einer gefährdeten SAS kümmern müssen.You can also continue to use shared access signatures (SAS) to grant fine-grained access to resources in your storage account, but Azure AD offers similar capabilities without the need to manage SAS tokens or worry about revoking a compromised SAS. Microsoft empfiehlt, nach Möglichkeit die Azure AD-Autorisierung für Ihre Azure Storage-Anwendungen zu nutzen.Microsoft recommends using Azure AD authorization with your Azure Storage applications when possible.

Die Autorisierung mit Azure AD ist für alle universellen Speicherkonten sowie alle Blob Storage-Konten in allen öffentlichen Regionen und nationalen Clouds verfügbar.Authorization with Azure AD is available for all general-purpose and Blob storage accounts in all public regions and national clouds. Die Azure AD-Autorisierung wird nur für Speicherkonten unterstützt, die mit dem Azure Resource Manager-Bereitstellungsmodell erstellt wurden.Only storage accounts created with the Azure Resource Manager deployment model support Azure AD authorization. Die Autorisierung mit Azure AD wird für Azure Table Storage nicht unterstützt.Authorization with Azure AD is not supported for Azure Table storage.

Übersicht über Azure AD für Blobs und WarteschlangenOverview of Azure AD for blobs and queues

Wenn ein Sicherheitsprinzipal (ein Benutzer, eine Gruppe oder eine Anwendung) versucht, auf eine Blob- oder Warteschlangenressource zuzugreifen, muss die Anforderung autorisiert werden, sofern es sich nicht um ein Blob für den anonymen Zugriff handelt.When a security principal (a user, group, or application) attempts to access a blob or queue resource, the request must be authorized, unless it is a blob available for anonymous access. Mit Azure AD ist der Zugriff auf eine Ressource ein zweistufiger Prozess.With Azure AD, access to a resource is a two-step process. Zunächst wird die Identität des Sicherheitsprinzipals authentifiziert, und ein OAuth 2.0-Token wird zurückgegeben.First, the security principal's identity is authenticated and an OAuth 2.0 token is returned. Anschließend wird das Token als Teil einer Anforderung an den Blob- oder Warteschlangendienst übergeben und vom Dienst verwendet, um den Zugriff auf die angegebene Ressource zu autorisieren.Next, the token is passed as part of a request to the Blob or Queue service and used by the service to authorize access to the specified resource.

Für den Authentifizierungsschritt ist es erforderlich, dass eine Anwendung zur Laufzeit ein OAuth 2.0-Zugriffstoken anfordert.The authentication step requires that an application request an OAuth 2.0 access token at runtime. Wenn eine Anwendung in einer Azure-Entität, z. B. einem virtuellen Azure-Computer, einer VM-Skalierungsgruppe oder einer Azure Functions-App, ausgeführt wird, kann der Zugriff auf Blobs oder Warteschlangen über eine verwaltete Identität erfolgen.If an application is running from within an Azure entity such as an Azure VM, a virtual machine scale set, or an Azure Functions app, it can use a managed identity to access blobs or queues. Informationen zur Autorisierung von Anforderungen über eine verwaltete Identität an den Azure Blob- oder Warteschlangendienst finden Sie unter Authorize access to blobs and queues with Azure Active Directory and managed identities for Azure Resources (Autorisieren des Zugriffs auf Blobs und Warteschlangen mit Azure Active Directory und verwalteten Identitäten für Azure-Ressourcen).To learn how to authorize requests made by a managed identity to the Azure Blob or Queue service, see Authorize access to blobs and queues with Azure Active Directory and managed identities for Azure Resources.

Für den Autorisierungsschritt ist es erforderlich, dem Sicherheitsprinzipal mindestens eine RBAC-Rolle zuzuweisen.The authorization step requires that one or more RBAC roles be assigned to the security principal. Azure Storage umfasst RBAC-Rollen mit gängigen Gruppen von Berechtigungen für Blob- und Warteschlangendaten.Azure Storage provides RBAC roles that encompass common sets of permissions for blob and queue data. Die möglichen Berechtigungen eines Sicherheitsprinzipals sind durch die Rollen vorgegeben, die dem Prinzipal zugewiesen sind.The roles that are assigned to a security principal determine the permissions that the principal will have. Weitere Informationen zum Zuweisen von RBAC-Rollen in Azure Storage finden Sie unter Verwalten der Zugriffsrechte für Azure Storage-Daten mit RBAC.To learn more about assigning RBAC roles for Azure Storage, see Manage access rights to storage data with RBAC.

Für native Anwendungen und Webanwendungen, die Anforderungen an den Azure Blob- oder Warteschlangendienst senden, kann die Autorisierung auch mit Azure AD erfolgen.Native applications and web applications that make requests to the Azure Blob or Queue service can also authorize access with Azure AD. Informationen zum Anfordern eines Zugriffstokens und seiner Verwendung zum Autorisieren der Anforderungen für Blob- oder Warteschlangendaten finden Sie unter Authorize access to Azure Storage with Azure AD from an Azure Storage application (Autorisieren des Zugriffs auf Azure Storage mit Azure AD über eine Azure Storage-Anwendung).To learn how to request an access token and use it to authorize requests for blob or queue data, see Authorize access to Azure Storage with Azure AD from an Azure Storage application.

Zuweisen von RBAC-Rollen für ZugriffsrechteAssigning RBAC roles for access rights

Azure Active Directory (Azure AD) autorisiert Rechte für den Zugriff auf abgesicherte Ressourcen über die rollenbasierte Zugriffssteuerung (RBAC).Azure Active Directory (Azure AD) authorizes access rights to secured resources through role-based access control (RBAC). Azure Storage bietet eine Reihe integrierter RBAC-Rollen mit üblichen Berechtigungssätzen für den Zugriff auf Blob- und Warteschlangendaten.Azure Storage defines a set of built-in RBAC roles that encompass common sets of permissions used to access blob and queue data. Außerdem können Sie benutzerdefinierte Rollen für den Zugriff auf Blob- und Warteschlangendaten definieren.You can also define custom roles for access to blob and queue data.

Wenn einem Azure AD-Sicherheitsprinzipal eine RBAC-Rolle zugewiesen wird, gewährt Azure diesem Sicherheitsprinzipal Zugriff auf diese Ressourcen.When an RBAC role is assigned to an Azure AD security principal, Azure grants access to those resources for that security principal. Der Zugriff kann auf die Ebene des Abonnements, der Ressourcengruppe, des Speicherkontos oder eines einzelnen Containers oder einer Warteschlange begrenzt werden.Access can be scoped to the level of the subscription, the resource group, the storage account, or an individual container or queue. Eine Azure AD-Sicherheitsprinzipal kann ein Benutzer, eine Gruppe, ein Anwendungsdienstprinzipal oder eine verwaltete Identität für Azure-Ressourcen sein.An Azure AD security principal may be a user, a group, an application service principal, or a managed identity for Azure resources.

Integrierte RBAC-Rollen für Blobs und WarteschlangenBuilt-in RBAC roles for blobs and queues

Azure stellt die folgenden integrierten Rollen für die rollenbasierte Zugriffssteuerung zum Autorisieren des Zugriffs auf Blob- und Warteschlangendaten mit Azure AD und OAuth bereit:Azure provides the following built-in RBAC roles for authorizing access to blob and queue data using Azure AD and OAuth:

Hinweis

Denken Sie daran, dass die Rollenzuweisung für die rollenbasierte Zugriffssteuerung bis zu fünf Minuten dauern kann.Keep in mind that RBAC role assignments may take up to five minutes to propagate.

Informationen zum Zuweisen einer integrierten RBAC-Rolle zu einem Sicherheitsprinzipal finden Sie in den folgenden Artikeln:To learn how to assign a built-in RBAC role to a security principal, see one of the following articles:

Weitere Informationen dazu, wie integrierte Rollen für Azure Storage definiert sind, finden Sie unter Grundlegendes zu Rollendefinitionen.For more information about how built-in roles are defined for Azure Storage, see Understand role definitions. Weitere Informationen zum Erstellen benutzerdefinierter RBAC-Rollen finden Sie unter Erstellen benutzerdefinierter Rollen für die rollenbasierte Zugriffssteuerung in Azure.For information about creating custom RBAC roles, see Create custom roles for Azure Role-Based Access Control.

Zugriffsberechtigungen für DatenvorgängeAccess permissions for data operations

Einzelheiten zu den Berechtigungen, die für spezifische Vorgänge des Blob- oder Warteschlangendiensts erforderlich sind, finden Sie unter Berechtigungen für den Aufruf von Datenvorgängen für Blobs und Warteschlangen.For details on the permissions required to call specific Blob or Queue service operations, see Permissions for calling blob and queue data operations.

RessourcenumfangResource scope

Bevor Sie einem Sicherheitsprinzipal eine RBAC-Rolle zuweisen, legen Sie den Zugriffsbereich fest, den der Sicherheitsprinzipal haben soll.Before you assign an RBAC role to a security principal, determine the scope of access that the security principal should have. Es hat sich als am besten bewährt, stets nur den kleinstmöglichen Umfang an Zugriffsrechten zu gewähren.Best practices dictate that it's always best to grant only the narrowest possible scope.

In der folgenden Liste werden die Ebenen beschrieben, auf denen Sie den Zugriff auf Azure-Blob- und -Warteschlangenressourcen einschränken können, beginnend mit dem kleinstmöglichen Umfang:The following list describes the levels at which you can scope access to Azure blob and queue resources, starting with the narrowest scope:

  • Ein einzelner Container.An individual container. Bei diesem Umfang gilt eine Rollenzuweisung für alle Blobs im Container sowie für Containereigenschaften und Metadaten.At this scope, a role assignment applies to all of the blobs in the container, as well as container properties and metadata.
  • Eine einzelne Warteschlange.An individual queue. Bei diesem Umfang gilt eine Rollenzuweisung für Nachrichten in der Warteschlange sowie für Warteschlangeneigenschaften und Metadaten.At this scope, a role assignment applies to messages in the queue, as well as queue properties and metadata.
  • Das Speicherkonto.The storage account. Bei diesem Umfang gilt eine Rollenzuweisung für alle Container und deren Blobs oder für alle Warteschlangen und deren Nachrichten.At this scope, a role assignment applies to all containers and their blobs, or to all queues and their messages.
  • Die Ressourcengruppe.The resource group. Bei diesem Umfang gilt eine Rollenzuweisung für alle Container oder Warteschlangen in allen Speicherkonten der Ressourcengruppe.At this scope, a role assignment applies to all of the containers or queues in all of the storage accounts in the resource group.
  • Das Abonnement.The subscription. Bei diesem Umfang gilt eine Rollenzuweisung für alle Container oder Warteschlangen in allen Speicherkonten in allen Ressourcengruppen des Abonnements.At this scope, a role assignment applies to all of the containers or queues in all of the storage accounts in all of the resource groups in the subscription.

Wichtig

Wenn Ihr Abonnement einen Azure DataBricks-Namespace enthält, werden Rollen, die im Abonnementumfang zugewiesen wurden, so gesperrt, dass sie keinen Zugriff auf Blob- und Warteschlangendaten gewähren können.If your subscription includes an Azure DataBricks namespace, roles assigned at the subscription scope will be blocked from granting access to blob and queue data.

Zugreifen auf Daten über ein Azure AD-KontoAccess data with an Azure AD account

Der Zugriff auf Blob- oder Warteschlangendaten über das Azure-Portal, PowerShell oder die Azure-Befehlszeilenschnittstelle kann über das Azure AD-Konto eines Benutzers oder über die Kontozugriffsschlüssel (Autorisierung mit gemeinsam verwendetem Schlüssel) autorisiert werden.Access to blob or queue data via the Azure portal, PowerShell, or Azure CLI can be authorized either by using the user's Azure AD account or by using the account access keys (Shared Key authorization).

Datenzugriff über das Azure-PortalData access from the Azure portal

Im Azure-Portal können Sie über Ihr Azure AD-Konto oder die Kontozugriffsschlüssel auf Blob- und Warteschlangendaten in einem Azure Storage-Konto zugreifen.The Azure portal can use either your Azure AD account or the account access keys to access blob and queue data in an Azure storage account. Welches Autorisierungsschema im Azure-Portal verwendet wird, hängt von den RBAC-Rollen ab, die Ihnen zugewiesen sind.Which authorization scheme the Azure portal uses depends on the RBAC roles that are assigned to you.

Wenn Sie versuchen, auf Blob- oder Warteschlangendaten zuzugreifen, wird im Azure-Portal zunächst überprüft, ob Ihnen eine RBAC-Rolle mit Microsoft.Storage/storageAccounts/listkeys/action zugewiesen ist.When you attempt to access blob or queue data, the Azure portal first checks whether you have been assigned an RBAC role with Microsoft.Storage/storageAccounts/listkeys/action. Wenn Ihnen eine Rolle mit dieser Aktion zugewiesen wurde, wird im Azure-Portal der Kontoschlüssel für den Zugriff auf Blob- und Warteschlangendaten per Authentifizierung über gemeinsam verwendete Schlüssel verwendet.If you have been assigned a role with this action, then the Azure portal uses the account key for accessing blob and queue data via Shared Key authorization. Wenn Ihnen keine Rolle mit dieser Aktion zugewiesen wurde, wird im Azure-Portal versucht, über Ihr Azure AD-Konto auf die Daten zuzugreifen.If you have not been assigned a role with this action, then the Azure portal attempts to access data using your Azure AD account.

Für den Zugriff auf Blob- oder Warteschlangendaten über das Azure-Portal mithilfe Ihres Azure AD-Kontos benötigen Sie Berechtigungen für den Zugriff auf Blob- und Warteschlangendaten sowie das Navigieren durch die Ressourcen des Speicherkontos im Azure-Portal.To access blob or queue data from the Azure portal using your Azure AD account, you need permissions to access blob and queue data, and you also need permissions to navigate through the storage account resources in the Azure portal. Die integrierten Rollen, die von Azure Storage bereitgestellt werden, gewähren Zugriff auf Blob- und Warteschlangenressourcen, aber nicht auf die Speicherkontoressourcen.The built-in roles provided by Azure Storage grant access to blob and queue resources, but they don't grant permissions to storage account resources. Aus diesem Grund erfordert der Zugriff auf das Portal außerdem die Zuweisung einer Azure Resource Manager-Rolle (z. B. Leser) mindestens auf Ebene des Speicherkontos.For this reason, access to the portal also requires the assignment of an Azure Resource Manager role such as the Reader role, scoped to the level of the storage account or higher. Die Rolle Leser erteilt die am stärksten eingeschränkten Berechtigungen. Eine andere Azure Resource Manager-Rolle, die den Zugriff auf Ressourcen zur Verwaltung von Speicherkonten gewährt, ist jedoch ebenfalls akzeptabel.The Reader role grants the most restricted permissions, but another Azure Resource Manager role that grants access to storage account management resources is also acceptable. Weitere Informationen zum Zuweisen von Berechtigungen zu Benutzern für den Datenzugriff im Azure-Portal über ein Azure AD-Konto finden Sie unter Gewähren von Zugriff auf Azure-Blob- und -Warteschlangendaten mit RBAC über das Azure-Portal.To learn more about how to assign permissions to users for data access in the Azure portal with an Azure AD account, see Grant access to Azure blob and queue data with RBAC in the Azure portal.

Wenn Sie zu einem Container oder einer Warteschlange navigieren, wird im Azure-Portal angegeben, welches Autorisierungsschema verwendet wird.The Azure portal indicates which authorization scheme is in use when you navigate to a container or queue. Weitere Informationen zum Datenzugriff im Portal finden Sie unter Zugreifen auf Blob- oder Warteschlangendaten über das Azure-Portal.For more information about data access in the portal, see Use the Azure portal to access blob or queue data.

Datenzugriff über PowerShell oder die Azure-BefehlszeilenschnittstelleData access from PowerShell or Azure CLI

In der Azure-Befehlszeilenschnittstelle und PowerShell ist die Anmeldung mit Azure AD-Anmeldeinformationen möglich.Azure CLI and PowerShell support signing in with Azure AD credentials. Nach der Anmeldung wird Ihre Sitzung unter diesen Anmeldeinformationen ausgeführt.After you sign in, your session runs under those credentials. Weitere Informationen finden Sie unter Ausführen von Azure CLI- oder PowerShell-Befehlen mit Azure AD-Anmeldeinformationen für den Zugriff auf Blob- oder Warteschlangendaten.To learn more, see Run Azure CLI or PowerShell commands with Azure AD credentials to access blob or queue data.

Azure AD-Autorisierung über SMB für Azure FilesAzure AD authorization over SMB for Azure Files

Azure Files unterstützt die Autorisierung mit Azure AD über SMB nur für in die Domäne eingebundene virtuelle Computer (Vorschauversion).Azure Files supports authorization with Azure AD over SMB for domain-joined VMs only (preview). Informationen zur Verwendung von Azure AD über SMB für Azure Files finden Sie unter Übersicht über die Azure Active Directory-Autorisierung über SMB für Azure Files (Vorschauversion).To learn about using Azure AD over SMB for Azure Files,see Overview of Azure Active Directory authorization over SMB for Azure Files (preview).

Nächste SchritteNext steps