You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/storage/common/authorize-data-access.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ The following table provides information about supported authorization options f
30
30
| --- | --- | --- |
31
31
| 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. |
32
32
| 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. |
34
34
| 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. |
35
35
| 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. |
36
36
@@ -60,7 +60,7 @@ The following table provides information about supported authorization options f
| 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. |
64
64
| 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. |
65
65
| 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. |
66
66
@@ -70,7 +70,7 @@ The following table provides information about supported authorization options f
| 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. |
74
74
| 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. |
75
75
| 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. |
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:
18
18
19
19
- What resources the client may access.
20
-
21
20
- What permissions they have to those resources.
22
-
23
21
- How long the SAS is valid.
24
22
25
23
## Types of shared access signatures
26
24
27
25
Azure Storage supports three types of shared access signatures:
28
26
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)
34
30
35
31
> [!IMPORTANT]
36
32
> 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).
37
33
38
34
### User delegation SAS
39
35
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.
41
37
42
38
For more information about the user delegation SAS, see [Create a user delegation SAS (REST API)](/rest/api/storageservices/create-user-delegation-sas).
43
39
44
40
### Service SAS
45
41
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.
47
43
48
44
For more information about the service SAS, see [Create a service SAS (REST API)](/rest/api/storageservices/create-service-sas).
49
45
@@ -62,7 +58,6 @@ For more information about the account SAS, [Create an account SAS (REST API)](/
62
58
A shared access signature can take one of the following two forms:
63
59
64
60
-**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
-
66
61
-**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.
67
62
68
63
> [!NOTE]
@@ -94,8 +89,8 @@ When a request includes a SAS token, that request is authorized based on how tha
94
89
The following table summarizes how each type of SAS token is authorized.
95
90
96
91
| 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 |
99
94
| Service SAS | Shared Key |
100
95
| Account SAS | Shared Key |
101
96
@@ -132,24 +127,17 @@ Many real-world services may use a hybrid of these two approaches. For example,
132
127
133
128
Additionally, a SAS is required to authorize access to the source object in a copy operation in certain scenarios:
134
129
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.
136
131
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.
138
133
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.
146
135
147
136
## Best practices when using SAS
148
137
149
138
When you use shared access signatures in your applications, you need to be aware of two potential risks:
150
139
151
140
- If a SAS is leaked, it can be used by anyone who obtains it, which can potentially compromise your storage account.
152
-
153
141
- 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.
154
142
155
143
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
198
186
-[Create a user delegation SAS for a container or blob with PowerShell](../blobs/storage-blob-user-delegation-sas-create-powershell.md)
199
187
-[Create a user delegation SAS for a container or blob with the Azure CLI](../blobs/storage-blob-user-delegation-sas-create-cli.md)
200
188
-[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)
201
192
202
193
### Service SAS
203
194
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)
205
199
206
200
### Account SAS
207
201
208
202
-[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)
0 commit comments