Azure Storage 2.0.0
App Vendor: Microsoft
App Category: IT Services
Connector Version: 2.1.1
API Version: 12.19.1
About App
The Azure Storage app lets security teams integrate with the Azure Storage platform, offering scalable cloud storage for data, virtual machine disks, file systems, messaging, and NoSQL databases to securely manage and store data.
The Azure Storage app is configured with Cyware Orchestrate to perform the following actions:
Action Name | Description |
---|---|
Create Blob | This action creates a new blob in Azure storage. |
Create Container | This action creates a container in the specified account. |
Delete Blob | This action deletes a blob in the specified container. |
Delete Container | This action marks the specified container for deletion. The container and any blobs contained within it are later deleted during garbage collection. |
Download Blob | This action downloads the content of a blob and stores it in the local system. |
Get Blob Properties | This action retrieves all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob. |
Get Container Access Policy | This action retrieves the permissions for the specified container, indicating whether the container data can be accessed publicly. |
Get Container Properties | This action retrieves all user-defined metadata and system properties for the specific container. |
List Blobs in Container | This action retrieves the list of all the blobs in a container. |
List Blob Tags | This action retrieves the tags associated with the specified blob. |
List Containers | This action retrieves a list of containers. |
Set Blob Properties | This action sets the system properties for the specified blob. |
Set Blob Tags | This action sets tags for the specified blob, replacing all existing tags if applicable. It can also be used to remove tags from the blob. |
Set Container Access Policy | This action sets permissions for the specified container or applies stored access policies. |
Update Blob | This action updates the content of a blob. |
Configuration Parameters
The following configuration parameters are required for the Azure Storage app to communicate with the Azure Storage enterprise application. The parameters can be configured by creating instances in the app.
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Connection String | Enter the connection string for authentication. Example* | Text | Required | To retrieve a connection string, you must either have a storage account set up or create a new one. While creating a storage account, provide the necessary details in the Basics tab, which includes Subscription, Resource group, Storage account name, and more. You can either customize the remaining settings according to your specific needs or use Microsoft’s default options. For more information, see Microsoft Azure Storage Documentation. To retrieve the Connection String from Azure Portal, go to Storage account > Security + networking > Access keys and click Show keys. In the key1 section, locate the Connection string value. |
Container Name | Enter a container name to test the connectivity and authentication credentials. Example: sample_container_name | Text | Required |
*Example:
DefaultEndpointsProtocol=https;AccountName=sampleaccountname;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==
Action: Create Blob
This action creates a blob in a container.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Data | Enter the content of the blob. | Text | Required | NoteFor the blob type PageBlob, ensure the content size is a multiple of 512 bytes. For more information, see Microsoft Azure Storage Documentation. |
Container Name | Enter the name of the container where the blob will be created. | Text | Required | You can retrieve container names using the action List Containers. |
Blob Name | Enter the name of the blob to create. | Text | Required | |
Blob Type | Enter the type of the blob to create. | Text | Optional | Allowed values: BlockBlob, PageBlob, AppendBlob. Default value: BlockBlob |
Extra Params | Enter the extra parameters to create a blob. | Key Value | Optional | Allowed keys: length, tags, content_settings, validate_content, lease, if_modified_since, if_unmodified_since, etag, match_condition, if_tags_match_condition, premium_page_blob_tier, standard_blob_tier, immutability_policy, legal_hold, maxsize_condition, max_concurrency, cpk, encryption_scope, encoding, progress_hook, timeout |
Example Request
[ { "blob_name": "Sample Blob", "blob_type": "BlockBlob", "blob_content": "This is an example for sample content.", "extra_params": {}, "container_name": "creatingblob" } ]
Action: Create Container
This action creates a container in the specified account.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the container name. Example: Sample Container Name | Text | Required | The container name must be a valid DNS name, 3 to 63 characters long, containing only lowercase letters, numbers, and hyphens (-), starting or ending with a letter or number, with no consecutive hyphens. |
Metadata | Enter details (metadata) of the container in key-value format. Example: {Category:test} | Key Value | Optional | |
Public Access | Enter the level of public access. Example: blob | Text | Optional | Allowed values: blob, container |
Extra Params | Enter the additional query parameters to create the container. | Key Value | Optional | Allowed keys: container_encryption_scope, timeout |
Example Request
[ { "metadata": {}, "extra_params": {}, "container_name": "Sample Container Name" } ]
Action: Delete Blob
This action deletes a blob in the specified container.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the container name from which to delete the blob. Example: Sample container name | Text | Required | You can retrieve container names using the action List Containers. |
Blob Name | Enter the name of the blob to delete. Example: Sample Blob Name | Text | Required | You can retrieve blob names using the action List Blobs in Container. |
Extra Params | Enter the extra parameters to pass to the API. | Key Value | Optional | Allowed keys: delete_snapshots, version_id, lease, if_modified_since, if_unmodified_since, etag, match_condition, if_tags_match_condition, timeout |
Example Request
[ { "blob_name": "Sample Blob Name", "extra_params": {}, "container_name": "Sample Container Name" } ]
Action: Delete Container
This action marks the specified container for deletion. The container and any blobs contained within it are later deleted during garbage collection.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the name of the container to delete. | Text | Required | You can retrieve the container name using the Action: List Containers. |
Container Lease | Enter the lease ID if the container has an active lease. Ensure the lease is active and matches the specified lease ID. | Text | Optional | |
Extra Params | Enter the additional query parameters to delete the container. | Key Value | Optional | Allowed keys: if_modified_since, if_unmodified_since, match_condition, etag, timeout |
Example Request
[ { "extra_params": {}, "container_name": "Sample Container Name" } ]
Action: Download Blob
This action downloads the content of a blob and stores it in the local system.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the container name that contains the blob. | Text | Required | You can retrieve container names using the action List Containers. |
Blob Name | Enter the blob name to download the contents. | Text | Required | You can retrieve blob names using the action List Blobs in Container. |
File Name | Enter a local file name to save the contents. | Text | Required | |
Offset | Enter the starting byte position to download the section of the blob. Example: 25 | Integer | Optional | You must set this if length is specified. |
Length | Enter the number of bytes to read from the blob section. Example: 4 | Integer | Optional | |
Extra Params | Enter the extra parameters to download the blob content. | Key Value | Optional | Allowed keys: version_id, validate_content, lease, length, if_modified_since, if_unmodified_since, etag, match_condition, if_tags_match_condition, cpk, max_concurrency, encoding, progress_hook, timeout |
Example Request
[ { "blob_name": "Sample Blob Name", "file_name": "page.txt", "extra_params": {}, "container_name": "creatingblob" } ]
Action: Get Blob Properties
This action retrieves all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the blob container name to retrieve the properties of the blob. | Text | Required | You can retrieve the container name using the Action: List Containers. |
Blob Name | Enter the blob name to get properties. | Text | Required | You can retrieve the blob name using the Action: List Blobs in Container. |
Blob Lease | Enter the lease ID of the blob. If the blob has an active lease, you must provide a valid lease ID. | Text | Optional | |
Extra Params | Enter the additional query parameters to set blob tags. | Key Value | Optional | Allowed keys: version_id, if_modified_since, if_unmodified_since, match_condition, etag, if_tags_match_condition, cpk, timeout |
Example Request
[ { "blob_name": "Sample Blob Name", "extra_params": { "timeout": "30" }, "container_name": "Sample Container Name" } ]
Action: Get Container Access Policy
This action retrieves the permissions for the specified container, indicating whether the container data can be accessed publicly.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the blob container name. | Text | Required | You can retrieve the container name using the Action: List Containers. |
Container Lease | Enter the lease ID of the container. If the container has an active lease, you must provide a valid lease ID. | Text | Optional | |
Server Timeout | Enter the server-side timeout in seconds. Example: 30 | Integer | Optional |
Example Request
[ { "container_name": "Sample Container Name", "server_timeout": "30" } ]
Action: Get Container Properties
This action retrieves all user-defined metadata and system properties for the specified container.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the container name to retrieve its properties. | Text | Required | You can retrieve the container name using the Action: List Containers. |
Container Lease | Enter the lease ID if the container has an active lease. Ensure the lease is active and matches the specified lease ID. | Text | Optional | |
Server Timeout | Enter the server-side timeout for the operation in seconds. Example: 30 | Integer | Optional |
Example Request
[ { "container_name": "Sample Container Name", "server_timeout": "20" } ]
Action: List Blobs in Container
This action retrieves the list of all the blobs in a container.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the container name to get the list of blobs in a container. | Text | Required | You can retrieve container names using the action LIst Containers. |
Timeout | Enter the timeout value (in seconds) for the request. | Integer | Optional | Default value: 15 |
Extra Params | Enter the extra parameters to list blobs. | Key Value | Optional | Allowed keys: name_starts_with, include |
Example Request
[ { "extra_params": {}, "container_name": "creatingblob" } ]
Action: List Blob Tags
This action retrieves the tags associated with the specified blob.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the name of the blob container. | Text | Required | You can retrieve the container name using the Action: List Containers. |
Blob Name | Enter the name of the blob. Example: blobname | Text | Required | You can retrieve the blob name using the Action: List Blobs in Container. |
Blob Lease | Enter the lease ID for the blob. If the blob has an active lease, you must provide a valid lease ID. | Text | Optional | |
Extra Params | Enter the additional query parameters to retrieve blob tags. | Key Value | Optional | Allowed keys: version_id, if_tags_match_condition, timeout |
Example Request
[ { "blob_name": "Sample Blob Name", "extra_params": { "timeout": "20" }, "container_name": "Sample Container Name" } ]
Action: List Containers
This action retrieves a list of containers.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Extra Params | Enter the extra parameters to pass to the API. | Key Value | Optional | Allowed keys: name_starts_with, include_metadata, include_deleted, include_system, results_per_page, timeout |
Include Metadata | Choose true to retrieve the container's metadata. | Boolean | Optional | Default value: False |
Name Prefix | Enter the beginning of the blob name to filter the results. Only blobs with names starting with this prefix will be included. | Text | Optional |
Example Request
[ { "extra_params": {}, "include_metadata": false } ]
Action: Set Blob Properties
This action sets the system properties for the specified blob.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the name of the container where the blob is stored. | Text | Required | You can retrieve the container name using the Action: List Containers. |
Blob Name | Enter the name of the blob to update properties for. | Text | Required | You can retrieve the blob name using the Action: List Blobs in Container. |
Content Type | Enter the content type of the blob. Example: text/plain | Text | Optional | Default value: None |
Blob Content Encoding | Enter the encoding for the content. This is used to specify the compression algorithm of the blob content. | Text | Optional | |
Blob Content Language | Enter the language of the content. This is used to describe the human languages of the blob content. Example: en-US | Text | Optional | |
Blob Content Disposition | Enter blob content disposition. It conveys additional information about how to process the response payload and can also be used to attach additional metadata. Example: attachment | Text | Optional | |
Blob Cache Control | Enter the cache control string for the blob. This indicates directives for caching in both requests and responses. | Text | Optional | |
Blob Content MD5 | Enter MD5 hash value for content integrity checks. | List | Optional | |
Blob Lease | Enter the lease ID for the blob. If the blob has an active lease, you must provide a valid lease ID. | Text | Optional | |
Extra Params | Enter the additional query parameters to set blob properties. | Key Value | Optional | Allowed keys: if_modified_since, if_unmodified_since, etag, match_condition, if_tags_match_condition, timeout |
Example Request
[ { "blob_name": "Sample Blob Name", "extra_params": {}, "container_name": "Sample Container Name", "blob_content_type": "text/plain", "blob_content_language": "en-US" } ]
Action: Set Blob Tags
This action sets tags for the specified blob, replacing all existing tags if applicable. It can also be used to remove tags from the blob.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the name of the blob container. | Text | Required | You can retrieve the container name using the Action: List Containers. |
Blob Name | Enter the blob name. | Text | Required | You can retrieve the blob name using the Action: List Blobs in Container. |
Blob Tags | Enter the tags for the blob as key-value pairs. NoteYou can add up to 10 tags, with keys and values being case-sensitive. | Key Value | Optional | Each tag key must be between 1 and 128 characters, and each tag value can be between 0 and 256 characters. Allowed characters: letters, digits, spaces, plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) |
Blob Lease | Enter the lease ID of the blob. If the blob has an active lease, you must provide a valid lease ID. | Text | Optional | |
Overwrite | Select true to overwrite the tags of the blob. If you choose false, the content is appended. | Boolean | Optional | Default value: false |
Extra Params | Enter the additional query parameters to set blob tags. | Key Value | Optional | Allowed keys: version_id, validate_content, if_tags_match_condition, timeout |
Example Request
[ { "blob_name": "Sample Blob Name", "blob_tags": { "sample_tag_key": "sample_tag_value" }, "extra_params": { "timeout": "4" }, "container_name": "Sample Container Name" } ]
Action: Set Container Access Policy
This action sets permissions for the specified container or applies stored access policies.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Container Name | Enter the blob container name. | Text | Required | You can retrieve the container name using the Action: List Containers. |
Signed Identifiers | Enter the signed identifiers to define stored access policies. Example: {"policy1": {"permission": "rw","start": 1710025200, "expiry": 1710630000},"policy2": {"permission": "r","start": 1710021600,"expiry": 1710294000}} | Key Value | Required | An empty dictionary will clear the access policies set on the service. |
Public Access | Enter the level of public access. | Text | Required | Allowed values: container, blob |
Container Lease | Enter the lease ID of the container. If the container has an active lease, you must provide a valid lease ID. | Text | Optional | |
Extra Params | Enter the extra parameters to set the container access policy. | Key Value | Optional | Allowed keys: if_modified_since, if_unmodified_since, timeout |
Example Request
[ { "extra_params": { "timeout": "20" }, "public_access": "blob", "container_name": "Sample Container Name", "signed_identifiers": { "policy1": { "permission": "rw", "start": 1710025200, "expiry": 1710630000 }, "policy2": { "permission": "rd", "start": 1710025200, "expiry": 1710630000 }, "policy3": { "permission": "rw", "start": 1710025200, "expiry": 1710630000 }, "policy4": { "permission": "rw", "start": 1710025200, "expiry": 1710630000 } } } ]
Action: Update Blob
This action updates the content of a blob.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Data | Enter the content to add to the blob. | Text | Required | NoteFor the blob type PageBlob, ensure the content size is a multiple of 512 bytes. For more information, see Microsoft Azure Storage Documentation. |
Container Name | Enter the name of the container where the blob is located. | Text | Required | You can retrieve container names using the action List Containers. |
Blob Name | Enter the name of the blob whose contents you want to update. | Text | Required | You can retrieve blob names using the action List Blobs in Container. |
Blob Type | Enter the type of the blob. | Text | Optional | Allowed values: BlockBlob, PageBlob, and AppendBlob Default value: BlockBlob |
Overwrite | Select true to overwrite the contents of the blob. If you choose false, the content is appended. | Boolean | Optional | Default value: false |
Extra Params | Enter the extra parameters to update the blob. | Key Value | Optional | Allowed keys: length, tags, content_settings, validate_content, lease, if_modified_since, if_unmodified_since, etag, match_condition, if_tags_match_condition, premium_page_blob_tier, standard_blob_tier, immutability_policy, legal_hold, maxsize_condition, max_concurrency, cpk, encryption_scope, encoding, progress_hook, timeout |
Example Request
[ { "blob_name": "Sample Blob Name", "blob_type": "BlockBlob", "overwrite": false, "blob_content": "This is the updated content.", "extra_params": {}, "container_name": "creatingblob" } ]