Skip to main content
Skip table of contents

Azure Blob Storage

LAST UPDATED: SEPTEMBER 18, 2025

Overview

Microsoft Azure Storage provides REST operations for working with blobs in the Blob service.

D3 SOAR is providing REST operations to function with Azure Blob Storage.

Azure Blob Storage is available for use in:

D3 SOAR

V12.7.241+

Category

Cloud Services

Deployment Options

Option II, Option IV

Connection

To connect to Azure Blob Storage from D3 SOAR, please follow this part to collect the required information below:

Parameter

Description

Example

Server URL

The url of Azure Storage Account Blob.

https://<account_name>.blob.core.windows.net/

SAS Key

The Sas key for authentication.

***

Permission Requirements

Each endpoint in the Azure Blob Storage API requires a certain permission scope. The following are required scopes for the commands in this integration:

Command

Required Permission

API Doc

List Blob Objects

Azure RBAC action: Microsoft.Storage/storageAccounts/blobServices/containers/read

Least privileged built-in role: Storage Blob Data Reader

Get Blob (REST API) - Azure Storage | Microsoft Learn

List Containers

Azure RBAC action: Microsoft.Storage/storageAccounts/blobServices/containers/read (scoped to the storage account or above)

Least privileged built-in role: Storage Blob Data Contributor (scoped to the storage account or above)

List Containers (REST API) - Azure Storage | Microsoft Learn

Upload File

Azure RBAC action:

  • Create new block blob: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action

  • Create new or overwrite existing block blob: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write

Least privileged built-in role: Storage Blob Data Contributor

Put Blob (REST API) - Azure Storage | Microsoft Learn

Configuring Azure Blob Storage to Work with D3 SOAR

  1. Login to Azure Portal.

  2. Search for Storage accounts.

  3. Create or choose the desired Storage Account to create the SAS Token.

  4. Navigate to the Access Control (IAM) tab, and grant access from the Permission Requirements to the selected resource.

  5. Under the Security + networking, click Shared access signature.

    1. Enable the options below

      1. Check Allowed Services: Blob, File

      2. Check Allowed Resource Types: Service, Container, Object

      3. Check Allowed Permissions: Read, Write, Delete, List, Add, Create, Immutable storage

      4. Check Blob versioning permissions: Enables deletion of versions

    2. The expiry date should be set to one day after the contract date. Additionally, add a reminder to update the SAS key before it expires. Notify the client that the key is about to expire and inform them that a new key will be generated based on the contract.

    3. Click Generate SAS and connection string.

  6. Copy SAS token to use in D3 SOAR.

Configuring D3 SOAR to Work with Azure Blob Storage

  1. Log in to D3 SOAR.

  2. Find the Azure Blob Storage integration.

    screenshot_1 (1).png
    1. Navigate to Configuration on the top header menu.

    2. Click on the Integration icon on the left sidebar.

    3. Type Azure Blob Storage in the search box to find the integration, then click it to select it.

    4. Click + Connection, on the right side of the Connections section. A new connection window will appear.

  3. Configure the following fields to create a connection to Azure Blob Storage.

    screenshot_2 (1).png
    1. Connection Name: The desired name for the connection.

    2. Site: The site on which to use the integration connection. Use the drop-down menu to select the site. The Share to Internal Sites option enables all internal sites to use the connection. Selecting a specific site will only enable that site to use the connection.

    3. Recipient site for events from connections Shared to Internal Sites: This field is displayed when Share to Internal Sites is selected for the Site field, allowing selection of the internal site for deploying the integration connection.

    4. Agent Name (Optional): The proxy agent required to build the connection. Use the dropdown menu to select the proxy agent from a list of previously configured proxy agents.

    5. Description (Optional): The description for the connection.

    6. Tenant (Optional): When configuring the connection from a master tenant site, users can choose the specific tenant sites with which to share the connection. Once this setting is enabled, users can filter and select the desired tenant sites from the dropdowns to share the connection.

    7. Configure User Permissions: Defines which users have access to the connection.

    8. Active: The checkbox that enables the connection to be used when selected.

    9. System: This section contains the parameters defined specifically for the integration. These parameters must be configured to create the integration connection.

      screenshot_3 (1).png

      1. Input the Server URL. The default value is <https://<blob_name>.blob.core.windows.net/. Replace the <blob_name> with the appropriate Storage account name.
      2. Copy the SAS Key from the Azure Blob Storage platform. Refer to step 6 of Configuring Azure Blob Storage to Work with D3 SOAR

    10. Enable Password Vault: An optional feature that allows users to take the stored credentials from their own password vault. Refer to the password vault connection guide if needed.

  4. Test the connection.

    1. Click on the Test Connection button to verify credentials and connectivity. A success alert displays Passed with a green checkmark. If the connection fails, review the parameters and retry.

    2. Click OK to close the alert window.

    3. Click + Add to create and add the configured connection.

Commands

Azure Blob Storage includes the following executable commands for users to set up schedules or create playbook workflows. With the Test Command, users can execute these commands independently for playbook troubleshooting.

Integration API Note

For more information about the Azure Blob Storage API, refer to the Azure Blob Storage API reference.

READER NOTE

Certain permissions are required for each command. Refer to the Permission Requirements and Configuring Azure Blob Storage to Work with D3 SOAR for details.

List Blob Objects

Lists all of the blobs in a specified container.

READER NOTE

Container Name is a required parameter to run this command.

  • Run the List Containers command to obtain the Container Name. Container Names can be found in the raw data at the path $.EnumerationResults.Container[*].name.

Next Marker is an optional parameter to run this command.

  • If you run this command with raw data at the path $.EnumerationResults.NextMarker has value, the value can be used to input in the Next Marker parameter.

Input

Input Parameter

Required/Optional

Description

Example

Container Name

Required

The name of the container to list objects from. It can either be the full name of the container or just a prefix of the container's name.

*****

Blob Name

Optional

The names of the blob objects to be listed can be specified using either the full name of the blob object or just a prefix.

D3Incidents

Limit

Optional

The maximum number of return blob objects, with a default value of 20 and a maximum limit of 5000.

1

Next Marker

Optional

The next set of blob objects to be returned. If there is a value returned in the raw data of Next Marker after running this command, the value can be used to input here to obtain the next blob object.

2!96!*****-

Output

To view the sample output data for all commands, refer to this article.

Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Blob Objects failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the Azure Blob Storage portal. Refer to the HTTP Status Code Registry for details.

Status Code: 403.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

Error Sample Data

List Blob Objects failed.

Status Code: 403.

Message: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

List Containers

Lists all of the containers in the current storage account.

READER NOTE

Next Marker is an optional parameter to run this command.

  • If you run this command with raw data at the path $.EnumerationResults.NextMarker has value, the value can be used to input in the Next Marker parameter.

Input

Input Parameter

Required/Optional

Description

Example

Container Name

Optional

The name of the container to be listed can be specified using either the full name or just a prefix of the container's name.

d3uat

Limit

Optional

The maximum number of return containers can be specified, with the default set to 20 and a maximum limit of 5000.

1

Next Marker

Optional

The next set of containers to be returned can be specified using the name of the next container. If there is a value returned in the raw data of Next Marker after running this command, the value can be used to input here to obtain the next container.

/d3uat/*****

Output

To view the sample output data for all commands, refer to this article.

Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Containers failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the Azure Blob Storage portal. Refer to the HTTP Status Code Registry for details.

Status Code: 403.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

Error Sample Data

List Containers failed.

Status Code: 403.

Message: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

Upload File

Submits files to storage

READER NOTE

Container Name is a required parameter to run this command.

  • Run the List Containers command to obtain the Container Name. Container Names can be found in the raw data at the path $.EnumerationResults.Container[*].name.

File ID and File Source

It is not recommended to use the Test Command feature with the Upload File command as it is designed for dynamic input files in Playbooks, Incident Attachments, and Artifact Attachments. There is a simple workaround to test the command:

  1. Navigate to Configuration on the top bar menu.

  2. Click on Utility Commands on the left sidebar menu.

  3. Use the search box to find and select the Create a File from input Text Array command.

  4. Click on the Test tab.

  5. Input the required information for the parameters.

  6. Click on the Test Command button. A D3 File ID will appear in the output data after the file has been successfully created. The D3 File Source of the created file will be Playbook File.

Input

Input Parameter

Required/Optional

Description

Example

File IDs

Required

The file path of the file source.

JSON
[
  "*****"
]

File Source

Required

The file source of the file to send. The options for file sources are:

  • Incident Attachment File: Manually uploaded file from Incident

  • Playbook File: Output from another Task

  • Artifact File: Ingested Artifact in an Event

Playbook File

Container Name

Required

The name of the container to upload files.

*****

Output

To view the sample output data for all commands, refer to this article.

Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Upload File failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the Azure Blob Storage portal. Refer to the HTTP Status Code Registry for details.

Status Code: 403.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Submit Files failed. The file does not exist

Error Sample Data

Upload File failed.

Status Code: 403.

Message: Submit Files failed. The file does not exist.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.