Azure Storage Table
Create and Manage Azure Storage Tables and Entities.
IT Services · Azure Storage Table
Details
| ID | Azure Storage Table |
|---|---|
| Provider | Microsoft |
| Category | IT Services |
| From Version | 6.0.0 |
| Docker Image | demisto/python3:3.12.13.10116658 |
| Supported Modules | Agentix XSIAM |
README
Azure Storage Table
Create and Manage Azure Storage Tables and Entities.
This integration was integrated and tested with version “2020-10-02” of Azure Storage Table
Configure Azure Storage Table in Cortex
| Parameter | Required |
|---|---|
| Storage account name | True |
| Account SAS Token | False |
| Use Azure Managed Identities | False |
| Azure Managed Identities Client ID | False |
| Use system proxy settings | False |
| Trust any certificate (not secure) | False |
Shared Access Signatures (SAS) Permissions
In order to use the integration use-cases,
please make sure your SAS token contains the following permissions:
- ‘Table’ service.
- ‘Service’ and ‘Object’ resource types.
- ‘Read’, ‘Write’, ‘Delete’, ‘List’, ‘Create’, ‘Add’, ‘Update’ and ‘Immutable storage’ permissions.
- Review and select “Generate”.
Commands
You can execute these commands from the CLI, as part of an automation, or in a playbook.
After you successfully execute a command, a DBot message appears in the War Room with the command details.
azure-storage-table-create
Creates a new table in a storage account.
Base Command
azure-storage-table-create
Input
| Argument Name | Description | Required |
|---|---|---|
| table_name | The name of the new table to create. Rules for naming tables can be found here: https://docs.microsoft.com/en-us/rest/api/storageservices/understanding-the-table-service-data-model. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| AzureStorageTable.Table.name | String | Table name. |
Command Example
!azure-storage-table-create table_name="xsoar"
Context Example
{
"AzureStorageTable": {
"Table": {
"name": "xsoar"
}
}
}
Human Readable Output
Table xsoar successfully created.
azure-storage-table-delete
Delete the specified table and any data it contains.
Base Command
azure-storage-table-delete
Input
| Argument Name | Description | Required |
|---|---|---|
| table_name | The name of the table to delete. | Required |
Context Output
There is no context output for this command.
Command Example
!azure-storage-table-delete table_name="xsoar"
Human Readable Output
Table xsoar successfully deleted.
azure-storage-table-query
List tables under the specified account.
Base Command
azure-storage-table-query
Input
| Argument Name | Description | Required |
|---|---|---|
| limit | Number of Tables to retrieve. Default is 50. Default is 50. | Optional |
| filter | Filter Tables Query expression. Information about Query expression structure can be found here: https://docs.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#constructing-filter-strings. |
Optional |
| page | Page Number. Default is 1. Default is 1. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| AzureStorageTable.Table.name | String | Table name. |
Command Example
!azure-storage-table-query filter="TableName%20eq%20'xsoar'"
Context Example
{
"AzureStorageTable": {
"Table": {
"name": "xsoar"
}
}
}
Human Readable Output
Tables List
Current page size: 50
Showing page 1 out others that may exist
Name xsoar
azure-storage-table-entity-insert
Insert a new entity into a table.
Base Command
azure-storage-table-entity-insert
Input
| Argument Name | Description | Required |
|---|---|---|
| table_name | Table name. | Required |
| partition_key | Unique identifier for the partition within a given table. | Required |
| row_key | Unique identifier for an entity within a given partition. | Required |
| entity_fields | Entity fields in JSON format: { “Key1”: Value1, “Key2”: Value2}. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| AzureStorageTable.Table.Entity.PartitionKey | String | Entity partition key. |
| AzureStorageTable.Table.Entity.RowKey | String | Entity row key. |
| AzureStorageTable.Table.Entity.Timestamp | Date | Entity last update UTC time. |
| AzureStorageTable.Table.name | String | Entity table name. |
Command Example
!azure-storage-table-entity-insert table_name="xsoar" partition_key="xsoar-partition" row_key="xsoar-row" entity_fields=`{"Age":20}`
Context Example
{
"AzureStorageTable": {
"Table": {
"Entity": [
{
"Age": 20,
"PartitionKey": "xsoar-partition",
"RowKey": "xsoar-row",
"Timestamp": "2021-11-28T13:23:18"
}
],
"name": "xsoar"
}
}
}
Human Readable Output
Entity Fields for xsoar Table
Age Partition Key Row Key Timestamp 20 xsoar-partition xsoar-row 2021-11-28T13:23:18
azure-storage-table-entity-update
Update an existing entity in a table. The Update Entity command does not replace the existing entity.
Base Command
azure-storage-table-entity-update
Input
| Argument Name | Description | Required |
|---|---|---|
| table_name | Entity table name. | Required |
| partition_key | Unique identifier for the partition within a given table. | Required |
| row_key | Unique identifier for an entity within a given partition. | Required |
| entity_fields | Entity fields in JSON format: { “Key1”: Value1, “Key2”: Value2}. | Required |
Context Output
There is no context output for this command.
Command Example
!azure-storage-table-entity-update table_name="xsoar" partition_key="xsoar-partition" row_key="xsoar-row" entity_fields=`{"Address":"New York"}`
Human Readable Output
Entity in xsoar table successfully updated.
azure-storage-table-entity-replace
Replace an existing entity in a table. The Replace Entity command replace the entire entity and can be used to remove properties.
Base Command
azure-storage-table-entity-replace
Input
| Argument Name | Description | Required |
|---|---|---|
| table_name | Table name. | Required |
| partition_key | Unique identifier for the partition within a given table. | Required |
| row_key | Unique identifier for an entity within a given partition. | Required |
| entity_fields | Entity records in JSON format: { “Key1”: Value1, “Key2”: Value2}. | Required |
Context Output
There is no context output for this command.
Command Example
!azure-storage-table-entity-replace table_name="xsoar" partition_key="xsoar-partition" row_key="xsoar-row" entity_fields=`{"City": "TLV" }`
Human Readable Output
Entity in xsoar table successfully replaced.
azure-storage-table-entity-query
Query Entities in a table.
Base Command
azure-storage-table-entity-query
Input
| Argument Name | Description | Required |
|---|---|---|
| table_name | Entity table name. | Required |
| partition_key | Unique identifier for the partition within a given table. If specified, ‘row_key’ argument must also be specified. | Optional |
| row_key | Unique identifier for an entity within a given partition. If specified, ‘partition_key’ argument must also be specified. | Optional |
| filter | Filter Entities query expression. Information about Query expression structure can be found here: https://docs.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#constructing-filter-strings. |
Optional |
| select | Comma-separated Entity properties to return. If not specified - all fields will be retrieved. | Optional |
| limit | Number of entities to retrieve. Default is 50. This argument is will be ignored when ‘partition_key’ or ‘row_key’ arguments are provided. Default is 50. |
Optional |
| page | Page number. Default is 1. This argument is will be ignored when ‘partition_key’ or ‘row_key’ arguments are provided. Default is 1. |
Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| AzureStorageTable.Table.name | String | Entity table Name. |
Command Example
!azure-storage-table-entity-query table_name="xsoar"
Context Example
{
"AzureStorageTable": {
"Table": {
"Entity": [
{
"Address": "New York",
"City": "TLV",
"PartitionKey": "xsoar-partition",
"RowKey": "xsoar-row",
"Timestamp": "2021-11-28T13:23:27"
}
],
"name": "xsoar"
}
}
}
Human Readable Output
Entity Fields for xsoar table
Current page size: 50
Showing page 1 out others that may exist
Address City Partition Key Row Key Timestamp New York TLV xsoar-partition xsoar-row 2021-11-28T13:23:27
azure-storage-table-entity-delete
Delete an existing entity in a table.
Base Command
azure-storage-table-entity-delete
Input
| Argument Name | Description | Required |
|---|---|---|
| table_name | Entity table name. | Required |
| partition_key | Unique identifier for the partition within a given table. | Required |
| row_key | Unique identifier for an entity within a given partition. | Required |
Context Output
There is no context output for this command.
Command Example
!azure-storage-table-entity-delete table_name="xsoar" partition_key="xsoar-partition" row_key="xsoar-row"
Human Readable Output
Entity in xsoar table successfully deleted.
Configuration parameters
credentials— Storage account nameuse_managed_identities— Use Azure Managed Identitiesmanaged_identities_client_id—proxy— Use system proxy settingsinsecure— Trust any certificate (not secure)
Commands (8)
-
azure-storage-table-createCreates a new table in a storage account.
-
azure-storage-table-deleteDelete the specified table and any data it contains.
-
azure-storage-table-entity-deleteDelete an existing entity in a table.
-
azure-storage-table-entity-insertInsert a new entity into a table.
-
azure-storage-table-entity-queryQuery Entities in a table.
-
azure-storage-table-entity-replaceReplace an existing entity in a table. The Replace Entity command replace the entire entity and can be used to remove properties.
-
azure-storage-table-entity-updateUpdate an existing entity in a table. The Update Entity command does not replace the existing entity.
-
azure-storage-table-queryList tables under the specified account.
To configure an instance of the integration in Cortex XSOAR, you need to supply your Storage Account Name and credentials. Credentials are one of the following: - Storage Account SAS Token. - Azure Managed Identities client ID (relevant only if XSOAR installed on Azure VM). When you configure the integration instance, enter the Storage Account name in the Storage Account field, and the credentials details in the relevant field. #### Authentication with Storage Account SAS Token To create and copy your storage account SAS Token: 1. Navigate to your storage account in the Azure portal. 2. Under the **Settings** section, select the **Shared access signature** option. 3. In the **Shared Access Signature** window, make the following selections: - Specify the signed key Start and Expiry date and time. - Select the Time zone for the Start and Expiry date and time (default is Local). - Define your Permissions by checking and/or clearing the appropriate check boxes. - Allow the 'Blob' and 'File' services. - Allow the 'Service', 'Container' and 'Object' resource types. - Allow the 'Read', 'Write', 'Delete', 'List', 'Create', 'Add', 'Update' and 'Immutable storage' permissions to be able to implement all integration use cases. - Allow 'Blob versioning permissions'. 4. Review and select "Generate". A new window will appear with the SAS token. 5. Copy and paste the SAS token. Note: it will only be displayed once and can't be retrieved once the window is closed. For more information about Azure Storage and SAS, see: - [Azure Storage services](https://docs.microsoft.com/en-us/rest/api/storageservices/) - [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview) - [SAS permissions overview](https://docs.microsoft.com/en-us/rest/api/storageservices/create-service-sas) #### Azure Managed Identities Authentication ##### Note: This option is relevant only if the integration is running on Azure VM. Follow one of these steps for authentication based on Azure Managed Identities: - ##### To use System Assigned Managed Identity - Select the **Use Azure Managed Identities** checkbox and leave the **Azure Managed Identities Client ID** field empty. - ##### To use User Assigned Managed Identity 1. Go to [Azure Portal](https://portal.azure.com/) -> **Managed Identities**. 2. Select your User Assigned Managed Identity -> copy the Client ID -> paste it in the **Azure Managed Identities Client ID** field in the instance settings. 3. Select the **Use Azure Managed Identities** checkbox. For more information, see [Managed identities for Azure resources](https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview).