Skip to content

Commit 3455878

Browse files
Merge pull request #290903 from pauljewellmsft/auth-adls
Update auth guidance for ADLS
2 parents d8bcf69 + 2b503ee commit 3455878

File tree

2 files changed

+24
-27
lines changed

2 files changed

+24
-27
lines changed

articles/storage/common/authorize-data-access.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ The following table provides information about supported authorization options f
3030
| --- | --- | --- |
3131
| Microsoft Entra ID | [Authorize access to Azure Storage data with Microsoft Entra ID](../blobs/authorize-access-azure-active-directory.md) | Microsoft recommends using Microsoft Entra ID with managed identities to authorize requests to blob resources. |
3232
| Shared Key (storage account key) | [Authorize with Shared Key](/rest/api/storageservices/authorize-with-shared-key/) | Microsoft recommends that you [disallow Shared Key authorization](shared-key-authorization-prevent.md) for your storage accounts. |
33-
| Shared access signature (SAS) | [Using shared access signatures (SAS)](storage-sas-overview.md) | When SAS authorization is necessary, Microsoft recommends using user delegation SAS for limited delegated access to blob resources. |
33+
| Shared access signature (SAS) | [Using shared access signatures (SAS)](storage-sas-overview.md) | When SAS authorization is necessary, Microsoft recommends using user delegation SAS for limited delegated access to blob resources. SAS authorization is supported for Blob Storage and Data Lake Storage, and can be used for calls to `blob` endpoints and `dfs` endpoints. |
3434
| Anonymous read access | [Overview: Remediating anonymous read access for blob data](../blobs/anonymous-read-access-overview.md) | Microsoft recommends that you disable anonymous access for all of your storage accounts. |
3535
| Storage Local Users | Supported for SFTP only. To learn more see [Authorize access to Blob Storage for an SFTP client](../blobs/secure-file-transfer-protocol-support-how-to.md) | See guidance for options. |
3636

@@ -60,7 +60,7 @@ The following table provides information about supported authorization options f
6060

6161
| Authorization option | Guidance | Recommendation |
6262
| --- | --- | --- |
63-
| Microsoft Entra ID | [Authorize access to Azure Storage data with Microsoft Entra ID](../blobs/authorize-access-azure-active-directory.md) | Microsoft recommends using Microsoft Entra ID with managed identities to authorize requests to queue resources. |
63+
| Microsoft Entra ID | [Authorize access to Azure Storage data with Microsoft Entra ID](../queues/authorize-access-azure-active-directory.md) | Microsoft recommends using Microsoft Entra ID with managed identities to authorize requests to queue resources. |
6464
| Shared Key (storage account key) | [Authorize with Shared Key](/rest/api/storageservices/authorize-with-shared-key/) | Microsoft recommends that you [disallow Shared Key authorization](shared-key-authorization-prevent.md) for your storage accounts. |
6565
| Shared access signature (SAS) | User delegation SAS isn't supported for Queue Storage. To learn more, see [Using shared access signatures (SAS)](storage-sas-overview.md). | Microsoft doesn't recommend using SAS tokens secured by the account key. |
6666

@@ -70,7 +70,7 @@ The following table provides information about supported authorization options f
7070

7171
| Authorization option | Guidance | Recommendation |
7272
| --- | --- | --- |
73-
| Microsoft Entra ID | [Authorize access to Azure Storage data with Microsoft Entra ID](../blobs/authorize-access-azure-active-directory.md) | Microsoft recommends using Microsoft Entra ID with managed identities to authorize requests to table resources. |
73+
| Microsoft Entra ID | [Authorize access to Azure Storage data with Microsoft Entra ID](../tables/authorize-access-azure-active-directory.md) | Microsoft recommends using Microsoft Entra ID with managed identities to authorize requests to table resources. |
7474
| Shared Key (storage account key) | [Authorize with Shared Key](/rest/api/storageservices/authorize-with-shared-key/) | Microsoft recommends that you [disallow Shared Key authorization](shared-key-authorization-prevent.md) for your storage accounts. |
7575
| Shared access signature (SAS) | User delegation SAS isn't supported for Table Storage. To learn more, see [Using shared access signatures (SAS)](storage-sas-overview.md). | Microsoft doesn't recommend using SAS tokens secured by the account key. |
7676

articles/storage/common/storage-sas-overview.md

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ author: pauljewellmsft
77
ms.author: pauljewell
88
ms.service: azure-storage
99
ms.topic: conceptual
10-
ms.date: 06/07/2023
10+
ms.date: 11/21/2024
1111
ms.reviewer: dineshm
1212
ms.subservice: storage-common-concepts
1313
---
@@ -17,33 +17,29 @@ ms.subservice: storage-common-concepts
1717
A shared access signature (SAS) provides secure delegated access to resources in your storage account. With a SAS, you have granular control over how a client can access your data. For example:
1818

1919
- What resources the client may access.
20-
2120
- What permissions they have to those resources.
22-
2321
- How long the SAS is valid.
2422

2523
## Types of shared access signatures
2624

2725
Azure Storage supports three types of shared access signatures:
2826

29-
- User delegation SAS
30-
31-
- Service SAS
32-
33-
- Account SAS
27+
- [User delegation SAS](#user-delegation-sas)
28+
- [Service SAS](#service-sas)
29+
- [Account SAS](#account-sas)
3430

3531
> [!IMPORTANT]
3632
> For scenarios where shared access signatures are used, Microsoft recommends using a user delegation SAS. A user delegation SAS is secured with Microsoft Entra credentials instead of the account key, which provides superior security. For more information on authorization for data access, see [Authorize access to data in Azure Storage](authorize-data-access.md).
3733
3834
### User delegation SAS
3935

40-
A user delegation SAS is secured with Microsoft Entra credentials and also by the permissions specified for the SAS. A user delegation SAS is supported for Azure Blob Storage and Azure Data Lake Storage. It's not currently supported for Azure Files, Azure Queue Storage, or Azure Table Storage.
36+
A user delegation SAS is secured with Microsoft Entra credentials and also by the permissions specified for the SAS. A user delegation SAS is supported for Blob Storage and Data Lake Storage. It's not currently supported for Queue Storage, Table Storage, or Azure Files.
4137

4238
For more information about the user delegation SAS, see [Create a user delegation SAS (REST API)](/rest/api/storageservices/create-user-delegation-sas).
4339

4440
### Service SAS
4541

46-
A service SAS is secured with the storage account key. A service SAS delegates access to a resource in only one of the Azure Storage services: Blob storage, Queue storage, Table storage, or Azure Files.
42+
A service SAS is secured with the storage account key. A service SAS delegates access to a resource in only one of the Azure Storage services: Blob storage, Data Lake Storage, Queue storage, Table storage, or Azure Files.
4743

4844
For more information about the service SAS, see [Create a service SAS (REST API)](/rest/api/storageservices/create-service-sas).
4945

@@ -62,7 +58,6 @@ For more information about the account SAS, [Create an account SAS (REST API)](/
6258
A shared access signature can take one of the following two forms:
6359

6460
- **Ad hoc SAS**. When you create an ad hoc SAS, the start time, expiry time, and permissions are specified in the SAS URI. Any type of SAS can be an ad hoc SAS.
65-
6661
- **Service SAS with stored access policy**. A stored access policy is defined on a resource container, which can be a blob container, table, queue, or file share. The stored access policy can be used to manage constraints for one or more service shared access signatures. When you associate a service SAS with a stored access policy, the SAS inherits the constraints—the start time, expiry time, and permissions—defined for the stored access policy.
6762

6863
> [!NOTE]
@@ -94,8 +89,8 @@ When a request includes a SAS token, that request is authorized based on how tha
9489
The following table summarizes how each type of SAS token is authorized.
9590

9691
| Type of SAS | Type of authorization |
97-
|-|-|
98-
| User delegation SAS (Blob storage only) | Microsoft Entra ID |
92+
| --- | --- |
93+
| User delegation SAS (Blob Storage and Data Lake Storage only) | Microsoft Entra ID |
9994
| Service SAS | Shared Key |
10095
| Account SAS | Shared Key |
10196

@@ -132,24 +127,17 @@ Many real-world services may use a hybrid of these two approaches. For example,
132127

133128
Additionally, a SAS is required to authorize access to the source object in a copy operation in certain scenarios:
134129

135-
- When you copy a blob to another blob that resides in a different storage account.
130+
- When you copy a blob to another blob that resides in a different storage account. You can optionally use a SAS to authorize access to the destination blob, as well.
136131

137-
You can optionally use a SAS to authorize access to the destination blob as well.
132+
- When you copy a file to another file that resides in a different storage account. You can optionally use a SAS to authorize access to the destination file, as well.
138133

139-
- When you copy a file to another file that resides in a different storage account.
140-
141-
You can optionally use a SAS to authorize access to the destination file as well.
142-
143-
- When you copy a blob to a file, or a file to a blob.
144-
145-
You must use a SAS even if the source and destination objects reside within the same storage account.
134+
- When you copy a blob to a file, or a file to a blob. You must use a SAS even if the source and destination objects reside within the same storage account.
146135

147136
## Best practices when using SAS
148137

149138
When you use shared access signatures in your applications, you need to be aware of two potential risks:
150139

151140
- If a SAS is leaked, it can be used by anyone who obtains it, which can potentially compromise your storage account.
152-
153141
- If a SAS provided to a client application expires and the application is unable to retrieve a new SAS from your service, then the application's functionality may be hindered.
154142

155143
The following recommendations for using shared access signatures can help mitigate these risks:
@@ -198,14 +186,23 @@ To get started with shared access signatures, see the following articles for eac
198186
- [Create a user delegation SAS for a container or blob with PowerShell](../blobs/storage-blob-user-delegation-sas-create-powershell.md)
199187
- [Create a user delegation SAS for a container or blob with the Azure CLI](../blobs/storage-blob-user-delegation-sas-create-cli.md)
200188
- [Create a user delegation SAS for a container or blob with .NET](../blobs/storage-blob-user-delegation-sas-create-dotnet.md)
189+
- [Create a user delegation SAS for a container or blob with Python](../blobs/storage-blob-user-delegation-sas-create-python.md)
190+
- [Create a user delegation SAS for a container or blob with JavaScript](../blobs/storage-blob-create-user-delegation-sas-javascript.md)
191+
- [Create a user delegation SAS for a container or blob with Java](../blobs/storage-blob-user-delegation-sas-create-java.md)
201192

202193
### Service SAS
203194

204-
- [Create a service SAS for a container or blob with .NET](../blobs/sas-service-create.md)
195+
- [Create a service SAS for a container or blob with .NET](../blobs/sas-service-create-dotnet.md)
196+
- [Create a service SAS for a container or blob with Python](../blobs/sas-service-create-python.md)
197+
- [Create a service SAS for a container or blob with JavaScript](../blobs/sas-service-create-javascript.md)
198+
- [Create a service SAS for a container or blob with Java](../blobs/sas-service-create-java.md)
205199

206200
### Account SAS
207201

208202
- [Create an account SAS with .NET](storage-account-sas-create-dotnet.md)
203+
- [Create an account SAS with Python](storage-account-sas-create-python.md)
204+
- [Create an account SAS with JavaScript](../blobs/storage-blob-account-delegation-sas-create-javascript.md)
205+
- [Create an account SAS with Java](storage-account-sas-create-java.md)
209206

210207
## Next steps
211208

0 commit comments

Comments
 (0)