Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed Bugs in Cohesity Restore Playbook #11214

Merged
merged 2 commits into from
Oct 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"Playbooks/Cohesity_Delete_Incident_Blobs/azuredeploy.json"
],
"BasePath": "/home/cohesity/workspace/Azure-Sentinel/Solutions/CohesitySecurity",
"Version": "3.1.0",
"Version": "3.1.1",
"Metadata": "SolutionMetadata.json",
"TemplateSpec": true,
"Is1Pconnector": false
Expand Down
Binary file added Solutions/CohesitySecurity/Package/3.1.1.zip
Binary file not shown.
4 changes: 2 additions & 2 deletions Solutions/CohesitySecurity/Package/createUiDefinition.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"config": {
"isWizard": false,
"basics": {
"description": "<img src=\"https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Logos/Cohesity-Logo.svg\" width=\"75px\"height=\"75px\">\n\n**Note:** Please refer to the following before installing the solution: \r \n • Review the solution [Release Notes](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/CohesitySecurity/ReleaseNotes.md)\r \n • There may be [known issues](https://aka.ms/sentinelsolutionsknownissues) pertaining to this Solution.\n\nThis product integrates Cohesity Helios with Microsoft Sentinel to stay updated with the security events from your Cohesity environment and immediately respond to a ransomware attack or an anomaly\n\n**Data Connectors:** 1, **Playbooks:** 5\n\n[Learn more about Microsoft Sentinel](https://aka.ms/azuresentinel) | [Learn more about Solutions](https://aka.ms/azuresentinelsolutionsdoc)",
"description": "<img src=\"https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Logos/Cohesity-Logo.svg\" width=\"75px\"height=\"75px\">\n\n**Note:** Please refer to the following before installing the solution: \n\n• Review the solution [Release Notes](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/CohesitySecurity/ReleaseNotes.md)\n\n • There may be [known issues](https://aka.ms/sentinelsolutionsknownissues) pertaining to this Solution, please refer to them before installing.\n\nThis product integrates Cohesity Helios with Microsoft Sentinel to stay updated with the security events from your Cohesity environment and immediately respond to a ransomware attack or an anomaly\n\n**Data Connectors:** 1, **Playbooks:** 5\n\n[Learn more about Microsoft Sentinel](https://aka.ms/azuresentinel) | [Learn more about Solutions](https://aka.ms/azuresentinelsolutionsdoc)",
"subscription": {
"resourceProviders": [
"Microsoft.OperationsManagement/solutions",
Expand Down Expand Up @@ -60,7 +60,7 @@
"name": "dataconnectors1-text",
"type": "Microsoft.Common.TextBlock",
"options": {
"text": "This product integrates Cohesity Helios with Microsoft Sentinel to stay updated with the security events from your Cohesity environment and immediately respond to a ransomware attack or an anomaly."
"text": "This Solution installs the data connector for CohesitySecurity. You can get CohesitySecurity custom log data in your Microsoft Sentinel workspace. After installing the solution, configure and enable this data connector by following guidance in Manage solution view."
}
},
{
Expand Down
52 changes: 26 additions & 26 deletions Solutions/CohesitySecurity/Package/mainTemplate.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"email": "[email protected]",
"_email": "[variables('email')]",
"_solutionName": "CohesitySecurity",
"_solutionVersion": "3.1.0",
"_solutionVersion": "3.1.1",
"solutionId": "cohesitydev1592001764720.cohesity_sentinel_data_connector",
"_solutionId": "[variables('solutionId')]",
"uiConfigId1": "CohesityDataConnector",
Expand Down Expand Up @@ -99,7 +99,7 @@
"[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]"
],
"properties": {
"description": "CohesitySecurity data connector with template version 3.1.0",
"description": "CohesitySecurity data connector with template version 3.1.1",
"mainTemplate": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "[variables('dataConnectorVersion1')]",
Expand Down Expand Up @@ -189,7 +189,7 @@
"description": ">**NOTE:** This connector uses Azure Functions that connect to the Azure Blob Storage and KeyVault. This might result in additional costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/), [Azure Blob Storage pricing page](https://azure.microsoft.com/pricing/details/storage/blobs/) and [Azure KeyVault pricing page](https://azure.microsoft.com/pricing/details/key-vault/) for details."
},
{
"description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Functions App."
"description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App."
},
{
"description": "**STEP 1 - Get a Cohesity DataHawk API key (see troubleshooting [instruction 1](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/CohesitySecurity/Data%20Connectors/Helios2Sentinel/IncidentProducer))**"
Expand Down Expand Up @@ -360,7 +360,7 @@
"description": ">**NOTE:** This connector uses Azure Functions that connect to the Azure Blob Storage and KeyVault. This might result in additional costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/), [Azure Blob Storage pricing page](https://azure.microsoft.com/pricing/details/storage/blobs/) and [Azure KeyVault pricing page](https://azure.microsoft.com/pricing/details/key-vault/) for details."
},
{
"description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Functions App."
"description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App."
},
{
"description": "**STEP 1 - Get a Cohesity DataHawk API key (see troubleshooting [instruction 1](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/CohesitySecurity/Data%20Connectors/Helios2Sentinel/IncidentProducer))**"
Expand Down Expand Up @@ -390,7 +390,7 @@
"[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]"
],
"properties": {
"description": "My_Cohesity_Send_Incident_Email Playbook with template version 3.1.0",
"description": "My_Cohesity_Send_Incident_Email Playbook with template version 3.1.1",
"mainTemplate": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "[variables('playbookVersion1')]",
Expand Down Expand Up @@ -639,7 +639,7 @@
"[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]"
],
"properties": {
"description": "My_Cohesity_Restore_From_Last_Snapshot Playbook with template version 3.1.0",
"description": "My_Cohesity_Restore_From_Last_Snapshot Playbook with template version 3.1.1",
"mainTemplate": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "[variables('playbookVersion2')]",
Expand Down Expand Up @@ -712,7 +712,7 @@
"actions": {
"Get_cid_from_blob_content": {
"runAfter": {
"Get_jobId_from_blob_content": [
"Get_job_id_from_blob_content": [
"Succeeded"
]
},
Expand All @@ -732,9 +732,9 @@
}
}
},
"Get_entityId_from_blob_content": {
"Get_entity_id_from_blob_content": {
"runAfter": {
"Get_jobInstanceId_from_blob_content": [
"Get_job_instance_id_from_blob_content": [
"Succeeded"
]
},
Expand All @@ -749,12 +749,12 @@
"path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('AccountNameFromSettings'))}/GetFileContentByPath",
"queries": {
"inferContentType": true,
"path": "/cohesity-extra-parameters/@{variables('helioID')}/entityId",
"path": "/cohesity-extra-parameters/@{variables('helioID')}/entity_id",
"queryParametersSingleEncoded": true
}
}
},
"Get_jobId_from_blob_content": {
"Get_job_id_from_blob_content": {
"runAfter": {
"Initialize_HelioID": [
"Succeeded"
Expand All @@ -771,14 +771,14 @@
"path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('AccountNameFromSettings'))}/GetFileContentByPath",
"queries": {
"inferContentType": true,
"path": "/cohesity-extra-parameters/@{variables('helioID')}/jobId",
"path": "/cohesity-extra-parameters/@{variables('helioID')}/job_id",
"queryParametersSingleEncoded": true
}
}
},
"Get_jobInstanceId_from_blob_content": {
"Get_job_instance_id_from_blob_content": {
"runAfter": {
"Get_jobStartTimeUsecs_from_blob_content": [
"Get_job_start_time_usecs_from_blob_content": [
"Succeeded"
]
},
Expand All @@ -793,12 +793,12 @@
"path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('AccountNameFromSettings'))}/GetFileContentByPath",
"queries": {
"inferContentType": true,
"path": "/cohesity-extra-parameters/@{variables('helioID')}/jobInstanceId",
"path": "/cohesity-extra-parameters/@{variables('helioID')}/job_instance_id",
"queryParametersSingleEncoded": true
}
}
},
"Get_jobStartTimeUsecs_from_blob_content": {
"Get_job_start_time_usecs_from_blob_content": {
"runAfter": {
"Get_cid_from_blob_content": [
"Succeeded"
Expand All @@ -815,14 +815,14 @@
"path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('AccountNameFromSettings'))}/GetFileContentByPath",
"queries": {
"inferContentType": true,
"path": "/cohesity-extra-parameters/@{variables('helioID')}/jobStartTimeUsecs",
"path": "/cohesity-extra-parameters/@{variables('helioID')}/job_start_time_usecs",
"queryParametersSingleEncoded": true
}
}
},
"Get_object_from_blob_content": {
"runAfter": {
"Get_entityId_from_blob_content": [
"Get_entity_id_from_blob_content": [
"Succeeded"
]
},
Expand Down Expand Up @@ -871,11 +871,11 @@
"name": "Sentinel_triggered_restore_task_@{body('Get_object_from_blob_content')}",
"objects": [
{
"jobId": "@int(string(body('Get_jobId_from_blob_content')))",
"jobRunId": "@int(string(body('Get_jobInstanceId_from_blob_content')))",
"protectionSourceId": "@int(string(body('Get_entityId_from_blob_content')))",
"job_id": "@int(string(body('Get_job_id_from_blob_content')))",
"jobRunId": "@int(string(body('Get_job_instance_id_from_blob_content')))",
"protectionSourceId": "@int(string(body('Get_entity_id_from_blob_content')))",
"sourceName": "@{body('Get_object_from_blob_content')}",
"startedTimeUsecs": "@int(string(body('Get_jobStartTimeUsecs_from_blob_content')))"
"startedTimeUsecs": "@int(string(body('Get_job_start_time_usecs_from_blob_content')))"
}
],
"type": "kRecoverVMs",
Expand Down Expand Up @@ -1082,7 +1082,7 @@
"[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]"
],
"properties": {
"description": "My_Cohesity_Close_Helios_Incident Playbook with template version 3.1.0",
"description": "My_Cohesity_Close_Helios_Incident Playbook with template version 3.1.1",
"mainTemplate": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "[variables('playbookVersion3')]",
Expand Down Expand Up @@ -1355,7 +1355,7 @@
"[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]"
],
"properties": {
"description": "My_Cohesity_CreateOrUpdate_ServiceNow_Incident Playbook with template version 3.1.0",
"description": "My_Cohesity_CreateOrUpdate_ServiceNow_Incident Playbook with template version 3.1.1",
"mainTemplate": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "[variables('playbookVersion4')]",
Expand Down Expand Up @@ -2136,7 +2136,7 @@
"[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]"
],
"properties": {
"description": "My_Cohesity_Delete_Incident_Blobs Playbook with template version 3.1.0",
"description": "My_Cohesity_Delete_Incident_Blobs Playbook with template version 3.1.1",
"mainTemplate": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "[variables('playbookVersion5')]",
Expand Down Expand Up @@ -2419,7 +2419,7 @@
"apiVersion": "2023-04-01-preview",
"location": "[parameters('workspace-location')]",
"properties": {
"version": "3.1.0",
"version": "3.1.1",
"kind": "Solution",
"contentSchemaVersion": "3.0.0",
"displayName": "CohesitySecurity",
Expand Down
24 changes: 24 additions & 0 deletions Solutions/CohesitySecurity/Package/testParameters.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"location": {
"type": "string",
"minLength": 1,
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Not used, but needed to pass arm-ttk test `Location-Should-Not-Be-Hardcoded`. We instead use the `workspace-location` which is derived from the LA workspace"
}
},
"workspace-location": {
"type": "string",
"defaultValue": "",
"metadata": {
"description": "[concat('Region to deploy solution resources -- separate from location selection',parameters('location'))]"
}
},
"workspace": {
"defaultValue": "",
"type": "string",
"metadata": {
"description": "Workspace name for Log Analytics where Microsoft Sentinel is setup"
}
}
}
Loading
Loading