Autorizace přístupu k objektům blob a frontám pomocí Azure Active DirectoryAuthorize access to blobs and queues using Azure Active Directory

Azure Storage podporuje používání služby Azure Active Directory (Azure AD) k autorizaci požadavků na úložiště objektů BLOB a front.Azure Storage supports using Azure Active Directory (Azure AD) to authorize requests to Blob and Queue storage. Pomocí Azure AD můžete použít řízení přístupu na základě role (RBAC) k udělení oprávnění objektu zabezpečení, který může být uživatel, skupina nebo instanční objekt aplikace.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. Služba Azure AD ověřuje objekt zabezpečení, aby vrátil token OAuth 2,0.The security principal is authenticated by Azure AD to return an OAuth 2.0 token. Token se pak dá použít k autorizaci požadavku na úložiště objektů BLOB nebo front.The token can then be used to authorize a request against Blob or Queue storage.

Autorizace požadavků proti Azure Storage se službou Azure AD zajišťuje zajištění vysokého zabezpečení a snadného použití při autorizaci pomocí sdíleného klíče.Authorizing requests against Azure Storage with Azure AD provides superior security and ease of use over Shared Key authorization. Microsoft doporučuje používat autorizaci Azure AD s vašimi aplikacemi BLOB a Queue, pokud je to možné, aby se minimalizovala potenciální ohrožení zabezpečení, která jsou v podstatě naMicrosoft recommends using Azure AD authorization with your blob and queue applications when possible to minimize potential security vulnerabilities inherent in Shared Key.

Autorizaci s Azure AD je k dispozici pro všechny účty pro obecné účely a BLOB Storage ve všech veřejných oblastech a národních cloudech.Authorization with Azure AD is available for all general-purpose and Blob storage accounts in all public regions and national clouds. Autorizaci Azure AD podporují jenom účty úložiště vytvořené pomocí modelu nasazení Azure Resource Manager.Only storage accounts created with the Azure Resource Manager deployment model support Azure AD authorization.

BLOB Storage dále podporuje vytváření sdílených přístupových podpisů (SAS), které jsou podepsané pomocí přihlašovacích údajů Azure AD.Blob storage additionally supports creating shared access signatures (SAS) that are signed with Azure AD credentials. Další informace najdete v tématu udělení omezeného přístupu k datům pomocí sdílených přístupových podpisů.For more information, see Grant limited access to data with shared access signatures.

Služba soubory Azure podporuje autorizaci pomocí Azure AD přes SMB jenom pro virtuální počítače připojené k doméně.Azure Files supports authorization with Azure AD over SMB for domain-joined VMs only. Další informace o používání služby Azure AD přes SMB pro soubory Azure najdete v tématu přehled Azure Active Directory autorizaci pomocí protokolu SMB pro soubory Azure.To learn about using Azure AD over SMB for Azure Files, see Overview of Azure Active Directory authorization over SMB for Azure Files.

Autorizace pomocí Azure AD není pro Azure Table Storage podporovaná.Authorization with Azure AD is not supported for Azure Table storage. Pomocí sdíleného klíče můžete autorizovat požadavky na úložiště tabulek.Use Shared Key to authorize requests to Table storage.

Přehled služby Azure AD pro objekty BLOB a frontyOverview of Azure AD for blobs and queues

Pokud se objekt zabezpečení (uživatel, skupina nebo aplikace) pokusí o přístup k prostředku BLOB nebo Queue, požadavek musí být autorizovaný, pokud se nejedná o objekt blob, který by měl být k dispozici pro anonymní přístup.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. S Azure AD je přístup k prostředku v procesu se dvěma kroky.With Azure AD, access to a resource is a two-step process. Nejprve je ověřená identita objektu zabezpečení a vrátí se token OAuth 2,0.First, the security principal's identity is authenticated and an OAuth 2.0 token is returned. V dalším kroku se token předává jako součást požadavku objektu BLOB nebo Služba front a služba ji používá k autorizaci přístupu k zadanému prostředku.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.

Krok ověřování vyžaduje, aby aplikace při běhu požadovala přístupový token OAuth 2,0.The authentication step requires that an application request an OAuth 2.0 access token at runtime. Pokud aplikace běží v rámci entity Azure, jako je třeba virtuální počítač Azure, sada škálování virtuálního počítače nebo aplikace Azure Functions, může pro přístup k objektům blob nebo frontám použít spravovanou identitu .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. Informace o tom, jak autorizovat požadavky vytvořené spravovanou identitou do objektu BLOB nebo Služba front Azure, najdete v tématu autorizace přístupu k objektům blob a frontám pomocí Azure Active Directory a spravovaných identit pro prostředky Azure.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.

Autorizační krok vyžaduje, aby se k objektu zabezpečení přiřadila jedna nebo více rolí RBAC.The authorization step requires that one or more RBAC roles be assigned to the security principal. Azure Storage poskytuje role RBAC, které zahrnují společné sady oprávnění pro data objektů BLOB a front.Azure Storage provides RBAC roles that encompass common sets of permissions for blob and queue data. Role, které jsou přiřazeny objektu zabezpečení, určují oprávnění, která bude mít objekt zabezpečení.The roles that are assigned to a security principal determine the permissions that the principal will have. Další informace o přiřazování rolí RBAC pro Azure Storage najdete v tématu Správa přístupových práv k datům úložiště pomocí RBAC.To learn more about assigning RBAC roles for Azure Storage, see Manage access rights to storage data with RBAC.

Nativní aplikace a webové aplikace, které vytvářejí požadavky na Azure Blob nebo Služba front, můžou taky autorizovat přístup pomocí Azure AD.Native applications and web applications that make requests to the Azure Blob or Queue service can also authorize access with Azure AD. Informace o tom, jak požádat o přístupový token a použít ho k autorizaci žádostí o data objektů BLOB nebo front, najdete v tématu autorizace přístupu k Azure Storage pomocí Azure AD z aplikace Azure Storage.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.

Přiřazení rolí RBAC pro přístupová právaAssign RBAC roles for access rights

Azure Active Directory (Azure AD) autorizuje přístupová práva k zabezpečeným prostředkům prostřednictvím řízení přístupu na základě role (RBAC).Azure Active Directory (Azure AD) authorizes access rights to secured resources through role-based access control (RBAC). Azure Storage definuje sadu předdefinovaných rolí RBAC, které zahrnují společné sady oprávnění používané pro přístup k datům objektů BLOB a front.Azure Storage defines a set of built-in RBAC roles that encompass common sets of permissions used to access blob and queue data. Můžete také definovat vlastní role pro přístup k datům objektů BLOB a front.You can also define custom roles for access to blob and queue data.

Když je role RBAC přiřazená k objektu zabezpečení Azure AD, poskytuje Azure přístup k těmto prostředkům pro daný objekt zabezpečení.When an RBAC role is assigned to an Azure AD security principal, Azure grants access to those resources for that security principal. Přístup může být vymezený na úrovni předplatného, skupiny prostředků, účtu úložiště nebo jednotlivého kontejneru nebo fronty.Access can be scoped to the level of the subscription, the resource group, the storage account, or an individual container or queue. Objekt zabezpečení Azure AD může být uživatelem, skupinou, instančním objektem služby nebo spravovanou identitou pro prostředky Azure.An Azure AD security principal may be a user, a group, an application service principal, or a managed identity for Azure resources.

Předdefinované role RBAC pro objekty BLOB a frontyBuilt-in RBAC roles for blobs and queues

Azure poskytuje následující předdefinované role RBAC pro autorizaci přístupu k datům BLOB a front pomocí Azure AD a OAuth:Azure provides the following built-in RBAC roles for authorizing access to blob and queue data using Azure AD and OAuth:

Poznámka

Rozšiřování přiřazení rolí RBAC může trvat až pět minut.RBAC role assignments may take up to five minutes to propagate.

Pouze role definované pro přístup k datům umožňují objektu zabezpečení přístup k datům objektů BLOB nebo front.Only roles explicitly defined for data access permit a security principal to access blob or queue data. Role, jako je vlastník, Přispěvatela Přispěvatel účtu úložiště , umožňují objektu zabezpečení Spravovat účet úložiště, ale neposkytují přístup k datům objektů BLOB ani Queue v rámci tohoto účtu.Roles such as Owner, Contributor, and Storage Account Contributor permit a security principal to manage a storage account, but do not provide access to the blob or queue data within that account.

Přístup k datům objektů BLOB nebo front v Azure Portal může být autorizován pomocí účtu služby Azure AD nebo přístupového klíče účtu úložiště.Access to blob or queue data in the Azure portal can be authorized using either your Azure AD account or the storage account access key. Další informace najdete v tématu použití Azure Portal k přístupu k datům objektů BLOB nebo Queue.For more information, see Use the Azure portal to access blob or queue data.

Další informace o přiřazení předdefinované role RBAC k objektu zabezpečení najdete v jednom z následujících článků:To learn how to assign a built-in RBAC role to a security principal, see one of the following articles:

Další informace o tom, jak jsou předdefinované role definované pro Azure Storage, najdete v tématu vysvětlení definic rolí.For more information about how built-in roles are defined for Azure Storage, see Understand role definitions. Informace o vytváření vlastních rolí RBAC najdete v tématu Vytvoření vlastních rolí pro Azure založené na rolích Access Control.For information about creating custom RBAC roles, see Create custom roles for Azure Role-Based Access Control.

Přístupová oprávnění pro datové operaceAccess permissions for data operations

Podrobnosti o oprávněních požadovaných pro volání konkrétních operací BLOB nebo Služba front najdete v tématu oprávnění pro volání operací s daty BLOB a Queue.For details on the permissions required to call specific Blob or Queue service operations, see Permissions for calling blob and queue data operations.

Obor prostředkuResource scope

Než přiřadíte roli RBAC objektu zabezpečení, určete rozsah přístupu, který má objekt zabezpečení mít.Before you assign an RBAC role to a security principal, determine the scope of access that the security principal should have. Osvědčené postupy určují, že vždy nejlépe přidělíte jenom nejužšímu možnému rozsahu.Best practices dictate that it's always best to grant only the narrowest possible scope.

Následující seznam popisuje úrovně, na jejichž základě můžete nastavit rozsah přístupu k prostředkům Azure Blob a Queue, počínaje nejužším rozsahem:The following list describes the levels at which you can scope access to Azure blob and queue resources, starting with the narrowest scope:

  • Jednotlivý kontejner.An individual container. V tomto oboru se přiřazení role vztahuje na všechny objekty BLOB v kontejneru a také na vlastnosti kontejneru a metadata.At this scope, a role assignment applies to all of the blobs in the container, as well as container properties and metadata.
  • Jednotlivé fronty.An individual queue. V tomto oboru se přiřazení role vztahuje na zprávy ve frontě a také na vlastnosti fronty a metadata.At this scope, a role assignment applies to messages in the queue, as well as queue properties and metadata.
  • Účet úložiště.The storage account. V tomto oboru se přiřazení role vztahuje na všechny kontejnery a jejich objekty blob nebo na všechny fronty a jejich zprávy.At this scope, a role assignment applies to all containers and their blobs, or to all queues and their messages.
  • Skupina prostředků.The resource group. V tomto oboru se přiřazení role vztahuje na všechny kontejnery nebo fronty ve všech účtech úložiště ve skupině prostředků.At this scope, a role assignment applies to all of the containers or queues in all of the storage accounts in the resource group.
  • Předplatné.The subscription. V tomto oboru se přiřazení role vztahuje na všechny kontejnery nebo fronty ve všech účtech úložiště ve všech skupinách prostředků v rámci předplatného.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.

Důležité

Pokud vaše předplatné obsahuje obor názvů Azure datacihly, role s oborem pro předplatné neudělí přístup k datům BLOB a Queue.If your subscription includes an Azure DataBricks namespace, roles that are scoped to the subscription will not grant access to blob and queue data. Místo toho můžete použít role oboru pro skupinu prostředků, účet úložiště nebo kontejner nebo frontu.Scope roles to the resource group, storage account, or container or queue instead.

Přístup k datům pomocí účtu Azure ADAccess data with an Azure AD account

Přístup k datům objektů BLOB nebo front pomocí Azure Portal, PowerShellu nebo rozhraní příkazového řádku Azure můžete autorizovat pomocí účtu Azure AD uživatele nebo pomocí přístupových klíčů k účtu (autorizace pomocí sdíleného klíče).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).

Přístup k datům z Azure PortalData access from the Azure portal

Azure Portal může použít účet služby Azure AD nebo přístupové klíče účtu k přístupu k datům objektů BLOB a Queue v účtu úložiště Azure.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. Které autorizační schéma Azure Portal používá, závisí na rolích RBAC, které vám jsou přiřazeny.Which authorization scheme the Azure portal uses depends on the RBAC roles that are assigned to you.

Při pokusu o přístup k datům objektu BLOB nebo front Azure Portal nejprve zkontroluje, zda byla přiřazena role RBAC s Microsoft. Storage/storageAccounts/klíče listkey/Action.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. Pokud jste k této akci přiřadili roli, používá Azure Portal klíč účtu pro přístup k datům BLOB a Queue přes autorizaci pomocí sdíleného klíče.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. Pokud jste k této akci nepřiřadili roli, Azure Portal se pokusí získat přístup k datům pomocí účtu služby Azure AD.If you have not been assigned a role with this action, then the Azure portal attempts to access data using your Azure AD account.

Pokud chcete získat přístup k datům objektů BLOB nebo front z Azure Portal pomocí svého účtu služby Azure AD, potřebujete oprávnění pro přístup k datům objektů BLOB a Queue a Vy taky potřebujete oprávnění k procházení prostředků účtu úložiště v 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. Předdefinované role poskytované Azure Storage udělují přístup k prostředkům BLOB a Queue, ale neudělují oprávnění k prostředkům účtu úložiště.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. Z tohoto důvodu přístup k portálu vyžaduje taky přiřazení role Azure Resource Manager, jako je například role Čtenář , vymezená na úrovni účtu úložiště nebo vyšší.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. Role Čtenář uděluje nejvyšší omezení oprávnění, ale také je přijatelná jiná role Azure Resource Manager, která uděluje přístup k prostředkům správy účtu úložiště.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. Další informace o tom, jak přiřadit oprávnění uživatelům k přístupu k datům v Azure Portal s účtem služby Azure AD, najdete v tématu udělení přístupu k datům objektů blob Azure a frontě pomocí RBAC v 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.

Azure Portal určuje, které schéma autorizace se používá, když přejdete do kontejneru nebo fronty.The Azure portal indicates which authorization scheme is in use when you navigate to a container or queue. Další informace o přístupu k datům na portálu najdete v tématu použití Azure Portal k přístupu k datům objektů BLOB nebo Queue.For more information about data access in the portal, see Use the Azure portal to access blob or queue data.

Přístup k datům z PowerShellu nebo Azure CLIData access from PowerShell or Azure CLI

Azure CLI a PowerShell podporují přihlašování pomocí přihlašovacích údajů Azure AD.Azure CLI and PowerShell support signing in with Azure AD credentials. Po přihlášení se relace spustí pod těmito přihlašovacími údaji.After you sign in, your session runs under those credentials. Další informace najdete v tématu spuštění příkazů Azure CLI nebo PowerShellu s přihlašovacími údaji Azure AD pro přístup k datům BLOB nebo Queue.To learn more, see Run Azure CLI or PowerShell commands with Azure AD credentials to access blob or queue data.

Další krokyNext steps