Skip to content

Commit cae7561

Browse files
Merge pull request #10114 from strategicalliances/strategicalliances-azure-blob-storage-v2
Strategicalliances azure blob storage v2
2 parents 478f218 + 72afdb7 commit cae7561

1 file changed

Lines changed: 182 additions & 1 deletion

File tree

content/en/docs/marketplace/platform-supported-content/modules/azure/azure-blob-storage-connector.md

Lines changed: 182 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ A Shared Access Signature (SAS) provides secure, delegated access to resources i
4646
2. Create a **SASCredentials** object and populate its **SASToken** attribute.
4747
3. Pass the **SASCredentials** object to the **AbstractCredentials** parameter in your operation microflow.
4848

49+
You can also generate an SAS by performing the **POST_v1_Azure_GetUserDelegationKey** operation in combination with one of the following:
50+
51+
* **Create_SAS_Token_Blob**
52+
* **Create_SAS_Token_Directory**
53+
* **Create_SAS_Token_Container**
54+
55+
For details, refer to the [Configuring Operation Microflows](#configure-operation-microflows) section.
56+
4957
#### Configuring an Azure Entra ID Access Token
5058

5159
To configure user-based Azure Entra ID authentication, perform the following steps:
@@ -64,7 +72,7 @@ To configure application-based Azure Entra ID authentication, perform the follow
6472
3. Supply the **GetApplicationBearerTokenRequest** to the **POST_v1_Azure_GetApplicationBearerToken** operation to generate a token and return an **EntraCredentials** object.
6573
4. Supply the **EntraCredentials** object to the **AbstractCredentials** parameter in your operation microflow.
6674

67-
### Configuring Operation Microflows
75+
### Configuring Operation Microflows{#configure-operation-microflows}
6876

6977
[Operations](/refguide/operations/) define the operations that are executed in a microflow or a nanoflow.
7078

@@ -75,6 +83,10 @@ The Azure Blob Storage connector contains the following operations:
7583
* `DeleteBlob` - Allows you to delete a blob. For more information, see [Delete Blob from Azure Blob Storage](https://learn.microsoft.com/en-us/rest/api/storageservices/delete-blob).
7684
* `ListBlobs` - Allows you to list the blobs in a specified container. For more information, see [List Blobs from a Azure Blob Storage container](https://learn.microsoft.com/en-us/rest/api/storageservices/list-blobs?tabs=microsoft-entra-id).
7785
* `GetApplicationBearerToken` - Allows the application to request a bearer token. The response is mapped to a **EntraCredentials** object that can be used to authenticate calls to Blob Storage.
86+
* `GetUserDelegationKey` - Allows you to retrieve a user delegation key. For more information, see [Get User Delegation Key](https://learn.microsoft.com/en-us/rest/api/storageservices/get-user-delegation-key).
87+
* `Create_SAS_Token_Blob` - Allows you to create an SAS with which to access a specific Blob.
88+
* `Create_SAS_Token_Container` - Allows you to create an SAS with which to access a specific Container.
89+
* `Create_SAS_Token_Directory` - Allows you to create an SAS with which to access a specific Directory.
7890

7991
You can implement the operations of the connector by using them in microflows.
8092

@@ -163,6 +175,175 @@ To use this operation in your microflow, perform the following steps:
163175

164176
The operation returns a list of **Blob** objects associated to the **ListBlobResponse**, which is a generalization of **AbstractResponse** and contains the **StatusCode** and **ReasonPhrase**.
165177

178+
#### POST_v1_Azure_GetApplicationBearerToken
179+
180+
`GetApplicationBearerToken` – Retrieves a bearer token from the registered app you need configured on Entra Id. This operation requires a valid `GetApplicationBearerTokenRequest` object. For more information, see [Get Bearer Token](https://learn.microsoft.com/en-us/community/content/azure-rest-api-how-to-create-a-bearer-token).
181+
182+
To use this operation in your microflow, perform the following steps:
183+
184+
1. Create a **GetApplicationBearerToken** object and populate the following attributes:
185+
186+
* `TenantId` - Required; the Tenant ID of the registered app you have configured in your Microsoft Entra environment
187+
* `ClientId` - Required; the Client ID of the registered app you have configured in your Microsoft Entra environment
188+
* `ClientSecret` - Required; the Client Secret you have created on the registered app you configured in your Microsoft Entra environment
189+
190+
2. Call the **POST_v1_Azure_GetApplicationBearerToken** action in your microflow.
191+
192+
The operation returns a **GetApplicationBearerTokenResponse** object with the returned **EntraCredentialsUsage** associated to it. The **EntraCredentialsUsage** entity is a specialization of the **EntraCredentials** entity so the returned object can be used to authenticate Blob operations.
193+
194+
#### POST_v1_Azure_GetUserDelegationKey{#get-user-delegation-key}
195+
196+
`GetUserDelegationKey` – Retrieves a user delegation key. This operation requires a valid `GetUserDelegationKeyRequest` object. For more information, see [Create User Delegation Key](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas).
197+
198+
To use this operation in your microflow, perform the following steps:
199+
200+
1. Create a **GetUserDelegationKey** object and populate the following attributes:
201+
202+
* `ExpiryDateTime` - Required; timestamp of when the validity period of the user delegation token ends
203+
* `OptionalStartDateTime` - Optional; timestamp of when the validity period of the user delegation token starts
204+
205+
2. Provide a valid **EntraCredentials** object by using the **EntraCredentials** parameter.
206+
3. Call the **POST_v1_Azure_GetUserDelegationKey** action in your microflow.
207+
208+
The operation returns a **GetUserDelegationKeyResponse** object with the returned **UserDelegationKey** associated to it. This **UserDelegationKey** can be used in the **Create_SAS_Token_Blob**, **Create_SAS_Token_Container**, and **Create_SAS_Token_Directory** operations.
209+
210+
#### Create_SAS_Token_Blob
211+
212+
`Create_SAS_Token_Blob` – Uses the **UserDelegationKey** generated with **POST_v1_Azure_GetUserDelegationKey** to create an SAS that can be used to access the specified Blob. For more information, see [Create SAS](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas).
213+
214+
To use this operation in your microflow, perform the following steps:
215+
216+
1. Perform the steps in the [POST_v1_Azure_GetUserDelegationKey](#get-user-delegation-key) section and use the acquired **UserDelegationKey** as input for the **Create_SAS_Token_Blob** operation microflow.
217+
2. Create a **CreateSASTokenBlobInputFields** object and populate the following attributes:
218+
219+
* `BlobName` - Required; the name of the blob you want to provide access to
220+
* `StorageAccount` - Required; the storage account on which you want to perform Blob storage operations
221+
* `ContainerName` - Required; the target container name where the blob will be stored
222+
* `OptionalStartDateTime` - Optional; timestamp of when the validity period of the user delegation token starts
223+
* `ExpiryDateTime` - Required; timestamp of when the validity period of the user delegation token ends
224+
225+
3. Create a **StoragePermissions** object to specify the permissions you want the SAS to grant. To do that, populate the following attributes:
226+
227+
* `Read` - Required. Read the content, properties, and metadata of a specific blob.
228+
* `Add` - Required. Add a block to an append blob.
229+
* `Create` - Required. Perform one of the following actions:
230+
231+
* Write a new blob.
232+
* Snapshot a blob.
233+
* Copy a blob to a new blob.
234+
235+
* `Write` - Required. Perform the following actions:
236+
237+
* Create or write content, properties, metadata, or blocklist.
238+
* Snapshot or lease the blob.
239+
* Resize the blob. This only applies to page blobs.
240+
* Use the blob as the destination of a copy operation.
241+
242+
* `Delete` - Required. Delete a blob. For version 2017-07-29 and above, the `Delete` permission also allows breaking a lease on a blob.
243+
* `DeleteVersion` - Required. Delete a blob version.
244+
* `PermanentDelete` - Required. Permanently delete a blob snapshot or version.
245+
* `List` - Required. List blobs non-recursively. This is always `False` for the **Create_SAS_Token_Blob** operation.
246+
* `Tags` - Required. Read or write the tags on a blob.
247+
* `Move` - Required. Move a blob to a new location.
248+
* `Execute` - Required. Get the system properties and, if the hierarchical namespace is enabled for the storage account, get the POSIX ACL of a blob.
249+
If the hierarchical namespace is enabled and the caller is the owner of a blob, this permission grants the ability to set the owning group, POSIX permissions, and POSIX ACL of the blob. It does not allow the caller to read user-defined metadata.
250+
* `Ownership` - Required. When the hierarchical namespace is enabled, this permission enables the caller to set the owner or the owning group, or to act as the owner when the caller renames or deletes a blob within a directory that has the sticky bit set.
251+
* `Permissions` - Required. When the hierarchical namespace is enabled, this permission allows the caller to set permissions and POSIX ACLs on directories and blobs.
252+
* `Immutability` - Required. Set or delete the immutability policy or legal hold on a blob.
253+
254+
The operation returns an **SASCredentials** object. This **SASCredentials** object can be used to authenticate blob storage API calls for the specified blob.
255+
256+
#### Create_SAS_Token_Container
257+
258+
`Create_SAS_Token_Container` – Uses the **UserDelegationKey** generated with **POST_v1_Azure_GetUserDelegationKey** to create an SAS that can be used to access the specified Container. For more information, see [Create SAS](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas).
259+
260+
To use this operation in your microflow, perform the following steps:
261+
262+
1. Perform the steps in the [POST_v1_Azure_GetUserDelegationKey](#get-user-delegation-key) section and use the acquired **UserDelegationKey** as input for the **Create_SAS_Token_Container** operation microflow.
263+
2. Create a **CreateSASTokenContainerInputFields** object and populate the following attributes:
264+
265+
* `StorageAccount` - Required; the storage account on which you want to perform Blob storage operations
266+
* `ContainerName` - Required; the container to which you want to provide access
267+
* `OptionalStartDateTime` - Optional; timestamp of when the validity period of the user delegation token starts
268+
* `ExpiryDateTime` - Required; timestamp of when the validity period of the user delegation token ends
269+
270+
3. Create a **StoragePermissions** object to specify the permissions you want the SAS to grant. To do that, populate the following attributes:
271+
272+
* `Read` - Required. Read the content, blocklist, properties, and metadata of any blob in the container. Use a blob as the source of a copy operation.
273+
* `Add` - Required. Add a block to an append blob.
274+
* `Create` - Required. Perform one of the following actions:
275+
276+
* Write a new blob.
277+
* Snapshot a blob.
278+
* Copy a blob to a new blob.
279+
280+
* `Write` - Required. Perform the following actions:
281+
282+
* Create or write content, properties, metadata, or blocklist.
283+
* Snapshot or lease the blob.
284+
* Resize the blob. This only applies to page blobs.
285+
* Use the blob as the destination of a copy operation.
286+
287+
* `Delete` - Required. Delete a blob. For version 2017-07-29 and above, the `Delete` permission also allows breaking a lease on a blob.
288+
* `DeleteVersion` - Required. Delete a blob version.
289+
* `PermanentDelete` - Required. Permanently delete a blob snapshot or version. This is always `False` for the **Create_SAS_Token_Container** operation.
290+
* `List` - Required. List blobs non-recursively.
291+
* `Tags` - Required. Read or write the tags on a blob. This is always `False` for the **Create_SAS_Token_Container** operation.
292+
* `Move` - Required. Move a blob to a new location.
293+
* `Execute` - Required. Get the system properties and, if the hierarchical namespace is enabled for the storage account, get the POSIX ACL of a blob.
294+
If the hierarchical namespace is enabled and the caller is the owner of a blob, this permission grants the ability to set the owning group, POSIX permissions, and POSIX ACL of the blob. It doesn't allow the caller to read user-defined metadata.
295+
* `Ownership` - Required. When the hierarchical namespace is enabled, this permission enables the caller to set the owner or the owning group, or to act as the owner when the caller renames or deletes a blob within a directory that has the sticky bit set.
296+
* `Permissions` - Required. When the hierarchical namespace is enabled, this permission allows the caller to set permissions and POSIX ACLs on directories and blobs.
297+
* `Immutability` - Required. Set or delete the immutability policy or legal hold on a blob.
298+
299+
The operation returns an **SASCredentials** object. This **SASCredentials** object can be used to authenticate blob storage API calls for the specified container.
300+
301+
#### Create_SAS_Token_Directory
302+
303+
`Create_SAS_Token_Directory` – Uses the **UserDelegationKey** generated with **POST_v1_Azure_GetUserDelegationKey** to create an SAS that can be used to access the specified Directory. For more information, see [Create SAS](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas).
304+
305+
To use this operation in your microflow, perform the following steps:
306+
307+
1. Perform the steps in the [POST_v1_Azure_GetUserDelegationKey](#get-user-delegation-key) section and use the acquired **UserDelegationKey** as input for the **Create_SAS_Token_Directory** operation microflow.
308+
2. Create a **CreateSASTokenDirectoryInputFields** object and populate the following attributes:
309+
310+
* `DirectoryName` - Required; the name of the folder/directory you have within a specific container
311+
* `StorageAccount` - Required; the storage account on which you want to perform Blob storage operations
312+
* `ContainerName` - Required; the container to which you want to provide access
313+
* `OptionalStartDateTime` - Optional; timestamp of when the validity period of the user delegation token starts
314+
* `ExpiryDateTime` - Required; timestamp of when the validity period of the user delegation token ends
315+
316+
3. Create a **StoragePermissions** object to specify the permissions you want the SAS to grant. To do that, populate the following attributes:
317+
318+
* `Read` - Required. Read the content, blocklist, properties, and metadata of any blob in the directory. Use a blob as the source of a copy operation.
319+
* `Add` - Required. Add a block to an append blob.
320+
* `Create` - Required. Perform one of the following actions:
321+
322+
* Write a new blob.
323+
* Snapshot a blob.
324+
* Copy a blob to a new blob.
325+
326+
* `Write` - Required. Perform the following actions:
327+
328+
* Create or write content, properties, metadata, or blocklist.
329+
* Snapshot or lease the blob.
330+
* Resize the blob. This only applies to page blobs.
331+
* Use the blob as the destination of a copy operation.
332+
333+
* `Delete` - Required. Delete a blob. For version 2017-07-29 and above, the `Delete` permission also allows breaking a lease on a blob.
334+
* `DeleteVersion` - Required. Delete a blob version. This is always `False` for the **Create_SAS_Token_Directory** operation.
335+
* `PermanentDelete` - Required. Permanently delete a blob snapshot or version. This is always `False` for the **Create_SAS_Token_Directory** operation.
336+
* `List` - Required. List blobs non-recursively.
337+
* `Tags` - Required. Read or write the tags on a blob. This is always `False` for the **Create_SAS_Token_Directory** operation.
338+
* `Move` - Required. Move a blob to a new location.
339+
* `Execute` - Required. Get the system properties and, if the hierarchical namespace is enabled for the storage account, get the POSIX ACL of a blob.
340+
If the hierarchical namespace is enabled and the caller is the owner of a blob, this permission grants the ability to set the owning group, POSIX permissions, and POSIX ACL of the blob. It doesn't allow the caller to read user-defined metadata.
341+
* `Ownership` - Required. When the hierarchical namespace is enabled, this permission enables the caller to set the owner or the owning group, or to act as the owner when the caller renames or deletes a blob within a directory that has the sticky bit set.
342+
* `Permissions` - Required. When the hierarchical namespace is enabled, this permission allows the caller to set permissions and POSIX ACLs on directories and blobs.
343+
* `Immutability` - Required. Set or delete the immutability policy or legal hold on a blob. This is always `False` for the **Create_SAS_Token_Directory** operation.
344+
345+
The operation returns an **SASCredentials** object. This **SASCredentials** object can be used to authenticate blob storage API calls for the specified directory.
346+
166347
## Technical Reference {#technical-reference}
167348

168349
The module includes technical reference documentation for the available entities, enumerations, activities, and other items that you can use in your application. You can view the information about each object in context by using the **Documentation** pane in Studio Pro.

0 commit comments

Comments
 (0)