Azure Virtual Machines are image service instances that provide on-demand and scalable computing resources with usage-based pricing. This connector facilitates automated operations to get list of Azure Compute VM, get information about an Azure Compute VM, create, start, restart, stop and delete of an Azure Compute VM
This document provides information about the Azure Compute Connector, which facilitates automated interactions, with a Azure Compute server using FortiSOAR™ playbooks. Add the Azure Compute Connector as a step in FortiSOAR™ playbooks and perform automated operations with Azure Compute.
Connector Version: 1.2.0
FortiSOAR™ Version Tested on: 7.4.0-3024
Azure Compute Version Tested on: Cloud Instance
Authored By: Fortinet
Certified: Yes
Following enhancements have been made to the Azure Compute Connector in version 1.2.0:
Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.
You can also use the yum command as a root user to install the connector:
yum install cyops-connector-azure-compute
For the procedure to configure a connector, click here
In FortiSOAR™, on the Connectors page, click the Azure Compute connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:
| Parameter | Description |
|---|---|
| Get Access Token | Select the method using which you will get authentication tokens used to access the security graph APIs. You can choose between On behalf of User – Delegate Permission or Without a User – Application Permission. For more information, see the Getting Access Tokens section. |
| Server URL | The service-based URL to which you will connect and perform the automated operations. |
| Client ID | Unique ID of the Azure Active Directory application that is used to create an authentication token required to access the API. |
| Client Secret | Unique Client Secret of the Azure Active Directory application that is used to create an authentication token required to access the API. For information on how to get the secret key, see https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/exposed-apis-create-app-webapp. |
| Tenant ID | ID of the tenant that you have been provided for your Azure Active Directory instance. |
| Authorization Code | (Only Applicable to On behalf of User – Delegate Permission) The authorization code that you acquired during the authorization step. For more information, see the Getting Access Tokens using the On behalf of the user – Delegate Permission method section. |
| Redirect URL | (Only Applicable to On behalf of User – Delegate Permission) The redirect_uri of your app, where authentication responses can be sent and received by your app. The redirect URL that you specify here must exactly match one of the redirect_uris you have registered in your app registration portal. For more information, see the Getting Access Tokens using the On behalf of the user – Delegate Permission method section. |
| Verify SSL | Specifies whether the SSL certificate for the server is to be verified or not. By default, this option is set to True. |
The following automated operations can be included in playbooks and you can also use the annotations to access operations:
| Function | Description | Annotation and Category |
|---|---|---|
| Create an Instance | Creates an instance in the specified resource group based on the subscription ID, name of the resource group, location of the instance, and other input parameters you have specified. | create_instance Investigation |
| List Instances | Retrieves a list of all instances (VMs) based on subscription ID and resource group you have specified. | list_of_instances Investigation |
| Get Instance Details | Retrieves all the details of the specified instance from the specified resource group based on the subscription ID, name of the resource group, and name of the VM you have specified. | get_instance_info Investigation |
| Start an Instance | Starts the specified instance based on the subscription ID, name of the resource group, and name of the VM you have specified. | start_instance Investigation |
| Stop an Instance | Stops the specified instance based on the subscription ID, name of the resource group, and name of the VM you have specified. | stop_instance Investigation |
| Restart an Instance | Restarts the specified instance based on the subscription ID, name of the resource group, and name of the VM you have specified. | restart_instance Investigation |
| Delete an Instance | Deletes the specified instance in the specified resource group based on the subscription ID, name of the resource group, and name of the VM you have specified. | delete_instance Investigation |
| Create Snapshot | Creates an snapshot in the specified resource group based on the input parameters, such as subscription ID, name of the resource group, location of the instance, etc. you have specified. | create_snapshot Investigation |
| List Snapshot | Retrieves a list of all snapshot based on subscription ID and resource group you have specified. | list_snapshot Investigation |
| Get Snapshot Details | Retrieves all the details of the specified snapshot from the specified resource group based on the subscription ID, name of the resource group, and name of the snapshot you have specified. | get_snapshot_info Investigation |
| Update Snapshot | Update an snapshot in the specified resource group based on the input parameters, such as subscription ID, name of the resource group, name of the snapshot, etc. you have specified. | update_snapshot Investigation |
| Delete an Snapshot | Deletes the specified snapshot in the specified resource group based on the subscription ID, name of the resource group, and name of the snapshot you have specified. | delete_snapshot Investigation |
| Get NIC Details | Retrieves all the details of the specified NIC from the specified resource group based on the subscription ID, name of the resource group, and name of the NIC you have specified. | get_nic_details Investigation |
| Get NSG Details | Retrieves all the details of the specified NSG from the specified resource group based on the subscription ID, name of the resource group, and name of the NSG you have specified. | get_nsg_details Investigation |
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group in which to create the instance. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Specify the name of the virtual machine to create. |
| Location | Select the region or location of the instance to create. This parameter makes an API call named list_of_locations to dynamically populate the location's drop-down selections. |
| VM Size | Select the size of the instance to create. This parameter makes an API call named list_of_vm_size to dynamically populate the VM Size's drop-down selections. |
| Network Security Group Name | Specify the name of network security group name. This parameter makes an API call named list_of_nic to dynamically populate its dropdown selections. |
| Username | Specify the username to create for the instance. |
| Password | Specify the password to create for the instance. |
| OS Image Type | Specify the OS image type to create for the instance. You can select from the following options:
|
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"properties": {
"vmId": "",
"hardwareProfile": {
"vmSize": ""
},
"storageProfile": {
"imageReference": {
"publisher": "",
"offer": "",
"sku": "",
"version": "",
"exactVersion": ""
},
"osDisk": {
"osType": "",
"name": "",
"createOption": "",
"caching": "",
"managedDisk": {
"storageAccountType": "",
"id": ""
},
"deleteOption": "",
"diskSizeGB": ""
},
"dataDisks": []
},
"osProfile": {
"computerName": "",
"adminUsername": "",
"linuxConfiguration": {
"disablePasswordAuthentication": "",
"provisionVMAgent": "",
"patchSettings": {
"patchMode": "",
"assessmentMode": ""
}
},
"secrets": [],
"allowExtensionOperations": "",
"requireGuestProvisionSignal": ""
},
"networkProfile": {
"networkInterfaces": [
{
"id": "",
"properties": {
"deleteOption": ""
}
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": ""
}
},
"provisioningState": "",
"timeCreated": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance to list. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"properties": {
"vmId": "",
"hardwareProfile": {
"vmSize": ""
},
"storageProfile": {
"imageReference": {
"publisher": "",
"offer": "",
"sku": "",
"version": "",
"exactVersion": ""
},
"osDisk": {
"osType": "",
"name": "",
"createOption": "",
"caching": "",
"managedDisk": {
"storageAccountType": "",
"id": ""
},
"deleteOption": "",
"diskSizeGB": ""
},
"dataDisks": []
},
"osProfile": {
"computerName": "",
"adminUsername": "",
"linuxConfiguration": {
"disablePasswordAuthentication": "",
"provisionVMAgent": "",
"patchSettings": {
"patchMode": "",
"assessmentMode": ""
}
},
"secrets": [],
"allowExtensionOperations": "",
"requireGuestProvisionSignal": ""
},
"networkProfile": {
"networkInterfaces": [
{
"id": "",
"properties": {
"deleteOption": ""
}
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": ""
}
},
"provisioningState": "",
"timeCreated": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose information is to be retrieved. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Select the name of the virtual machine whose details to retrieve. This parameter makes an API call named list_of_instances_only_names to dynamically populate the Virtual Machine Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"properties": {
"vmId": "",
"hardwareProfile": {
"vmSize": ""
},
"storageProfile": {
"imageReference": {
"publisher": "",
"offer": "",
"sku": "",
"version": "",
"exactVersion": ""
},
"osDisk": {
"osType": "",
"name": "",
"createOption": "",
"caching": "",
"managedDisk": {
"storageAccountType": "",
"id": ""
},
"deleteOption": "",
"diskSizeGB": ""
},
"dataDisks": []
},
"osProfile": {
"computerName": "",
"adminUsername": "",
"linuxConfiguration": {
"disablePasswordAuthentication": "",
"provisionVMAgent": "",
"patchSettings": {
"patchMode": "",
"assessmentMode": ""
}
},
"secrets": [],
"allowExtensionOperations": "",
"requireGuestProvisionSignal": ""
},
"networkProfile": {
"networkInterfaces": [
{
"id": "",
"properties": {
"deleteOption": ""
}
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": ""
}
},
"provisioningState": "",
"timeCreated": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance to be started. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Select the name of the virtual machine to start. This parameter makes an API call named list_of_instances_only_names to dynamically populate the Virtual Machine Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance to be stopped. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Select the name of the virtual machine to stop. This parameter makes an API call named list_of_instances_only_names to dynamically populate the Virtual Machine Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance to be restarted. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Select the name of the virtual machine to restart. This parameter makes an API call named list_of_instances_only_names to dynamically populate the Virtual Machine Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance to be deleted. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Select the name of the virtual machine to delete. This parameter makes an API call named list_of_instances_only_names to dynamically populate the Virtual Machine Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose snapshot is to be created. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Snapshot Name | Specify the name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max length of the name is 80 characters. |
| Location | Select the region or location of the snapshot to create. This parameter makes an API call named list_of_locations to dynamically populate the location's drop-down selections. |
| Creation Option | Select the source of a disk's creation. You can choose from the following options:
|
| Disk Size GB | Specify the size of the disk to create or resize. If Create Option parameter is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. |
| Logical Sector Size | Specify the logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default. |
| Source Unique ID | Specify the unique ID identifying the source of this resource. |
| Extended Location | Specify the extended location where the snapshot will be created. Extended location cannot be changed. |
| Disk Access ID | Specify the ARM ID of the DiskAccess resource for using private endpoints on disks. |
| Incremental | Specify if the snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. |
| Tags | Specify the tags of the snapshot to update. |
| Encryption Type | Select the type of key used to encrypt the data of the disk. You can choose from following options:
|
| Network Access Policy | Select the policy for accessing the disk via network. You can choose from the following options:
|
| OS Type | Select the type of the operating system of the snapshot to create. You can choose from the following options:
|
| Data Access AuthMode | Specify the additional authentication requirements when exporting or uploading to a disk or snapshot. You can choose from the following options:
|
| HyperVGeneration | Select the hypervisor generation for the virtual machine. This option is applicable to OS disks only. |
| Snapshot SKU | Specify the SKU name of the snapshot to create in Azure Compute. It can be Standard_LRS, Premium_LRS, or Standard_ZRS. By default, the SKU is set to the same as that of the previous snapshot. |
| Snapshot SKU Tier | Specify the SKU tier of the snapshot to create in Azure Compute. |
| Custom Properties | Specify additional properties, in JSON format, of the snapshot to create in Azure Compute. The additional properties signify additional fields associated with the snapshot. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"tags": {},
"sku": {
"name": "",
"tier": ""
},
"properties": {
"osType": "",
"hyperVGeneration": "",
"supportsHibernation": "",
"supportedCapabilities": {
"acceleratedNetwork": "",
"architecture": ""
},
"creationData": {
"createOption": "",
"sourceResourceId": "",
"sourceUniqueId": ""
},
"diskSizeGB": "",
"encryptionSettingsCollection": {
"enabled": "",
"encryptionSettings": [],
"encryptionSettingsVersion": ""
},
"encryption": {
"type": ""
},
"incremental": "",
"networkAccessPolicy": "",
"publicNetworkAccess": "",
"dataAccessAuthMode": "",
"timeCreated": "",
"provisioningState": "",
"diskState": "",
"diskSizeBytes": "",
"uniqueId": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose snapshot is to be listed. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"tags": {},
"sku": {
"name": "",
"tier": ""
},
"properties": {
"osType": "",
"hyperVGeneration": "",
"supportsHibernation": "",
"supportedCapabilities": {
"acceleratedNetwork": "",
"architecture": ""
},
"creationData": {
"createOption": "",
"sourceResourceId": "",
"sourceUniqueId": ""
},
"diskSizeGB": "",
"encryptionSettingsCollection": {
"enabled": "",
"encryptionSettings": [],
"encryptionSettingsVersion": ""
},
"encryption": {
"type": ""
},
"incremental": "",
"networkAccessPolicy": "",
"publicNetworkAccess": "",
"dataAccessAuthMode": "",
"timeCreated": "",
"provisioningState": "",
"diskState": "",
"diskSizeBytes": "",
"uniqueId": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose snapshot information is to be retrieved. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Snapshot Name | Specify the name of the snapshot to retrieve its details. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"tags": {},
"sku": {
"name": "",
"tier": ""
},
"properties": {
"osType": "",
"hyperVGeneration": "",
"supportsHibernation": "",
"supportedCapabilities": {
"acceleratedNetwork": "",
"architecture": ""
},
"creationData": {
"createOption": "",
"sourceResourceId": "",
"sourceUniqueId": ""
},
"diskSizeGB": "",
"encryptionSettingsCollection": {
"enabled": "",
"encryptionSettings": [],
"encryptionSettingsVersion": ""
},
"encryption": {
"type": ""
},
"incremental": "",
"networkAccessPolicy": "",
"publicNetworkAccess": "",
"dataAccessAuthMode": "",
"timeCreated": "",
"provisioningState": "",
"diskState": "",
"diskSizeBytes": "",
"uniqueId": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose snapshot is to be updated. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Snapshot Name | Specify the name of the snapshot that is being updated. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max length of the name is 80 characters. |
| Data Access AuthMode | Select the additional authentication requirements when exporting or uploading to a disk or snapshot. You can choose from the following options:
|
| Disk Access ID | Specify the ARM ID of the DiskAccess resource for using private endpoints on disks. |
| Disk Size GB | Specify the size of the disk to resize. If Create Option parameter is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. |
| Encryption Type | Select the type of key used to encrypt the data of the disk. You can choose from following options:
|
| Network Access Policy | Specify the policy for accessing the disk via network. |
| OS Type | Specify the type of the operating system of the snapshot that has to be update. |
| Tags | Specify the tags of the snapshot that has to be update |
| Snapshot SKU | Specify the SKU name of the snapshot to create in Azure Compute. It can be Standard_LRS, Premium_LRS, or Standard_ZRS. By default, the SKU is set to the same as that of the previous snapshot. |
| Snapshot SKU Tier | Specify the SKU tier of the snapshot to create in Azure Compute. |
| Custom Properties | Specify additional properties, in JSON format, of the snapshot to create in Azure Compute. The additional properties signify additional fields associated with the snapshot. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"tags": {},
"sku": {
"name": "",
"tier": ""
},
"properties": {
"osType": "",
"hyperVGeneration": "",
"supportsHibernation": "",
"supportedCapabilities": {
"acceleratedNetwork": "",
"architecture": ""
},
"creationData": {
"createOption": "",
"sourceResourceId": "",
"sourceUniqueId": ""
},
"diskSizeGB": "",
"encryptionSettingsCollection": {
"enabled": "",
"encryptionSettings": [],
"encryptionSettingsVersion": ""
},
"encryption": {
"type": ""
},
"incremental": "",
"networkAccessPolicy": "",
"publicNetworkAccess": "",
"dataAccessAuthMode": "",
"timeCreated": "",
"provisioningState": "",
"diskState": "",
"diskSizeBytes": "",
"uniqueId": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose snapshot is to be deleted. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Snapshot Name | Specify the name of the snapshot to delete. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the NIC's resource group to retrieve its details. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Network Interface Name | Select the name of the network interface to retrieve its details. This parameter makes an API call named list_of_nic to dynamically populate the Network Interface Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"etag": "",
"properties": {
"provisioningState": "",
"resourceGuid": "",
"ipConfigurations": [
{
"name": "",
"id": "",
"etag": "",
"type": "",
"properties": {
"provisioningState": "",
"privateIPAddress": "",
"privateIPAllocationMethod": "",
"subnet": {
"id": ""
},
"primary": "",
"privateIPAddressVersion": ""
}
}
],
"dnsSettings": {
"dnsServers": [],
"appliedDnsServers": [],
"internalDomainNameSuffix": ""
},
"macAddress": "",
"enableAcceleratedNetworking": "",
"vnetEncryptionSupported": "",
"enableIPForwarding": "",
"disableTcpStateTracking": "",
"networkSecurityGroup": {
"id": ""
},
"primary": "",
"virtualMachine": {
"id": ""
},
"hostedWorkloads": [],
"tapConfigurations": [],
"nicType": "",
"allowPort25Out": ""
},
"type": "",
"location": "",
"kind": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the NSG's resource group to retrieve its details. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Network Security Group Name | Select the name of the network security group whose details to retrieve. This parameter makes an API call named list_of_nsg to dynamically populate the Network Security Group Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"etag": "",
"type": "",
"location": "",
"properties": {
"provisioningState": "",
"resourceGuid": "",
"securityRules": [
{
"name": "",
"id": "",
"etag": "",
"type": "",
"properties": {
"provisioningState": "",
"protocol": "",
"sourcePortRange": "",
"destinationPortRange": "",
"sourceAddressPrefix": "",
"destinationAddressPrefix": "",
"access": "",
"priority": "",
"direction": "",
"sourcePortRanges": [],
"destinationPortRanges": [],
"sourceAddressPrefixes": [],
"destinationAddressPrefixes": []
}
}
],
"defaultSecurityRules": [
{
"name": "",
"id": "",
"etag": "",
"type": "",
"properties": {
"provisioningState": "",
"description": "",
"protocol": "",
"sourcePortRange": "",
"destinationPortRange": "",
"sourceAddressPrefix": "",
"destinationAddressPrefix": "",
"access": "",
"priority": "",
"direction": "",
"sourcePortRanges": [],
"destinationPortRanges": [],
"sourceAddressPrefixes": [],
"destinationAddressPrefixes": []
}
}
],
"networkInterfaces": [
{
"id": ""
}
]
}
}
The Sample - Azure Compute - 1.2.0 playbook collection comes bundled with the Azure Compute connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Azure Compute connector.
Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection, since the sample playbook collection gets deleted during connector upgrade and delete.
You can get authentication tokens to access the Azure Compute APIs using two methods:
For more information, see https://docs.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview.
Microsoft.Authorization/*/readMicrosoft.ClassicCompute/domainNames/*Microsoft.ClassicCompute/virtualMachines/*Microsoft.ClassicNetwork/networkSecurityGroups/join/actionMicrosoft.ClassicNetwork/reservedIps/link/actionMicrosoft.ClassicNetwork/reservedIps/readMicrosoft.ClassicNetwork/virtualNetworks/join/actionMicrosoft.ClassicNetwork/virtualNetworks/readMicrosoft.ClassicStorage/storageAccounts/disks/readMicrosoft.ClassicStorage/storageAccounts/images/readMicrosoft.ClassicStorage/storageAccounts/listKeys/actionMicrosoft.ClassicStorage/storageAccounts/readMicrosoft.Insights/alertRules/*Microsoft.ResourceHealth/availabilityStatuses/readMicrosoft.Resources/deployments/*Microsoft.Resources/subscriptions/resourceGroups/readMicrosoft.Support/*Microsoft.Network/* of type Delegate.TENANT_ID, CLIENT_ID, and REDIRECT_URI with your own tenant ID, client ID, and redirect URL: https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/authorize?response_type=code&scope=offline_access https://management.azure.com/user_impersonation&client_id=CLIENT_ID&redirect_uri=REDIRECT_URIREDIRECT_URI?code=AUTH_CODE&session_state=SESSION_STATEAUTH_CODE (without the code= prefix) and paste it into your instance configuration in the Authorization Code parameter.Microsoft.Authorization/*/readMicrosoft.ClassicCompute/domainNames/*Microsoft.ClassicCompute/virtualMachines/*Microsoft.ClassicNetwork/networkSecurityGroups/join/actionMicrosoft.ClassicNetwork/reservedIps/link/actionMicrosoft.ClassicNetwork/reservedIps/readMicrosoft.ClassicNetwork/virtualNetworks/join/actionMicrosoft.ClassicNetwork/virtualNetworks/readMicrosoft.ClassicStorage/storageAccounts/disks/readMicrosoft.ClassicStorage/storageAccounts/images/readMicrosoft.ClassicStorage/storageAccounts/listKeys/actionMicrosoft.ClassicStorage/storageAccounts/readMicrosoft.Insights/alertRules/*Microsoft.ResourceHealth/availabilityStatuses/readMicrosoft.Resources/deployments/*Microsoft.Resources/subscriptions/resourceGroups/readMicrosoft.Support/*Microsoft.Network/* of type Application.Azure Virtual Machines are image service instances that provide on-demand and scalable computing resources with usage-based pricing. This connector facilitates automated operations to get list of Azure Compute VM, get information about an Azure Compute VM, create, start, restart, stop and delete of an Azure Compute VM
This document provides information about the Azure Compute Connector, which facilitates automated interactions, with a Azure Compute server using FortiSOAR™ playbooks. Add the Azure Compute Connector as a step in FortiSOAR™ playbooks and perform automated operations with Azure Compute.
Connector Version: 1.2.0
FortiSOAR™ Version Tested on: 7.4.0-3024
Azure Compute Version Tested on: Cloud Instance
Authored By: Fortinet
Certified: Yes
Following enhancements have been made to the Azure Compute Connector in version 1.2.0:
Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.
You can also use the yum command as a root user to install the connector:
yum install cyops-connector-azure-compute
For the procedure to configure a connector, click here
In FortiSOAR™, on the Connectors page, click the Azure Compute connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:
| Parameter | Description |
|---|---|
| Get Access Token | Select the method using which you will get authentication tokens used to access the security graph APIs. You can choose between On behalf of User – Delegate Permission or Without a User – Application Permission. For more information, see the Getting Access Tokens section. |
| Server URL | The service-based URL to which you will connect and perform the automated operations. |
| Client ID | Unique ID of the Azure Active Directory application that is used to create an authentication token required to access the API. |
| Client Secret | Unique Client Secret of the Azure Active Directory application that is used to create an authentication token required to access the API. For information on how to get the secret key, see https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/exposed-apis-create-app-webapp. |
| Tenant ID | ID of the tenant that you have been provided for your Azure Active Directory instance. |
| Authorization Code | (Only Applicable to On behalf of User – Delegate Permission) The authorization code that you acquired during the authorization step. For more information, see the Getting Access Tokens using the On behalf of the user – Delegate Permission method section. |
| Redirect URL | (Only Applicable to On behalf of User – Delegate Permission) The redirect_uri of your app, where authentication responses can be sent and received by your app. The redirect URL that you specify here must exactly match one of the redirect_uris you have registered in your app registration portal. For more information, see the Getting Access Tokens using the On behalf of the user – Delegate Permission method section. |
| Verify SSL | Specifies whether the SSL certificate for the server is to be verified or not. By default, this option is set to True. |
The following automated operations can be included in playbooks and you can also use the annotations to access operations:
| Function | Description | Annotation and Category |
|---|---|---|
| Create an Instance | Creates an instance in the specified resource group based on the subscription ID, name of the resource group, location of the instance, and other input parameters you have specified. | create_instance Investigation |
| List Instances | Retrieves a list of all instances (VMs) based on subscription ID and resource group you have specified. | list_of_instances Investigation |
| Get Instance Details | Retrieves all the details of the specified instance from the specified resource group based on the subscription ID, name of the resource group, and name of the VM you have specified. | get_instance_info Investigation |
| Start an Instance | Starts the specified instance based on the subscription ID, name of the resource group, and name of the VM you have specified. | start_instance Investigation |
| Stop an Instance | Stops the specified instance based on the subscription ID, name of the resource group, and name of the VM you have specified. | stop_instance Investigation |
| Restart an Instance | Restarts the specified instance based on the subscription ID, name of the resource group, and name of the VM you have specified. | restart_instance Investigation |
| Delete an Instance | Deletes the specified instance in the specified resource group based on the subscription ID, name of the resource group, and name of the VM you have specified. | delete_instance Investigation |
| Create Snapshot | Creates an snapshot in the specified resource group based on the input parameters, such as subscription ID, name of the resource group, location of the instance, etc. you have specified. | create_snapshot Investigation |
| List Snapshot | Retrieves a list of all snapshot based on subscription ID and resource group you have specified. | list_snapshot Investigation |
| Get Snapshot Details | Retrieves all the details of the specified snapshot from the specified resource group based on the subscription ID, name of the resource group, and name of the snapshot you have specified. | get_snapshot_info Investigation |
| Update Snapshot | Update an snapshot in the specified resource group based on the input parameters, such as subscription ID, name of the resource group, name of the snapshot, etc. you have specified. | update_snapshot Investigation |
| Delete an Snapshot | Deletes the specified snapshot in the specified resource group based on the subscription ID, name of the resource group, and name of the snapshot you have specified. | delete_snapshot Investigation |
| Get NIC Details | Retrieves all the details of the specified NIC from the specified resource group based on the subscription ID, name of the resource group, and name of the NIC you have specified. | get_nic_details Investigation |
| Get NSG Details | Retrieves all the details of the specified NSG from the specified resource group based on the subscription ID, name of the resource group, and name of the NSG you have specified. | get_nsg_details Investigation |
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group in which to create the instance. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Specify the name of the virtual machine to create. |
| Location | Select the region or location of the instance to create. This parameter makes an API call named list_of_locations to dynamically populate the location's drop-down selections. |
| VM Size | Select the size of the instance to create. This parameter makes an API call named list_of_vm_size to dynamically populate the VM Size's drop-down selections. |
| Network Security Group Name | Specify the name of network security group name. This parameter makes an API call named list_of_nic to dynamically populate its dropdown selections. |
| Username | Specify the username to create for the instance. |
| Password | Specify the password to create for the instance. |
| OS Image Type | Specify the OS image type to create for the instance. You can select from the following options:
|
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"properties": {
"vmId": "",
"hardwareProfile": {
"vmSize": ""
},
"storageProfile": {
"imageReference": {
"publisher": "",
"offer": "",
"sku": "",
"version": "",
"exactVersion": ""
},
"osDisk": {
"osType": "",
"name": "",
"createOption": "",
"caching": "",
"managedDisk": {
"storageAccountType": "",
"id": ""
},
"deleteOption": "",
"diskSizeGB": ""
},
"dataDisks": []
},
"osProfile": {
"computerName": "",
"adminUsername": "",
"linuxConfiguration": {
"disablePasswordAuthentication": "",
"provisionVMAgent": "",
"patchSettings": {
"patchMode": "",
"assessmentMode": ""
}
},
"secrets": [],
"allowExtensionOperations": "",
"requireGuestProvisionSignal": ""
},
"networkProfile": {
"networkInterfaces": [
{
"id": "",
"properties": {
"deleteOption": ""
}
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": ""
}
},
"provisioningState": "",
"timeCreated": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance to list. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"properties": {
"vmId": "",
"hardwareProfile": {
"vmSize": ""
},
"storageProfile": {
"imageReference": {
"publisher": "",
"offer": "",
"sku": "",
"version": "",
"exactVersion": ""
},
"osDisk": {
"osType": "",
"name": "",
"createOption": "",
"caching": "",
"managedDisk": {
"storageAccountType": "",
"id": ""
},
"deleteOption": "",
"diskSizeGB": ""
},
"dataDisks": []
},
"osProfile": {
"computerName": "",
"adminUsername": "",
"linuxConfiguration": {
"disablePasswordAuthentication": "",
"provisionVMAgent": "",
"patchSettings": {
"patchMode": "",
"assessmentMode": ""
}
},
"secrets": [],
"allowExtensionOperations": "",
"requireGuestProvisionSignal": ""
},
"networkProfile": {
"networkInterfaces": [
{
"id": "",
"properties": {
"deleteOption": ""
}
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": ""
}
},
"provisioningState": "",
"timeCreated": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose information is to be retrieved. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Select the name of the virtual machine whose details to retrieve. This parameter makes an API call named list_of_instances_only_names to dynamically populate the Virtual Machine Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"properties": {
"vmId": "",
"hardwareProfile": {
"vmSize": ""
},
"storageProfile": {
"imageReference": {
"publisher": "",
"offer": "",
"sku": "",
"version": "",
"exactVersion": ""
},
"osDisk": {
"osType": "",
"name": "",
"createOption": "",
"caching": "",
"managedDisk": {
"storageAccountType": "",
"id": ""
},
"deleteOption": "",
"diskSizeGB": ""
},
"dataDisks": []
},
"osProfile": {
"computerName": "",
"adminUsername": "",
"linuxConfiguration": {
"disablePasswordAuthentication": "",
"provisionVMAgent": "",
"patchSettings": {
"patchMode": "",
"assessmentMode": ""
}
},
"secrets": [],
"allowExtensionOperations": "",
"requireGuestProvisionSignal": ""
},
"networkProfile": {
"networkInterfaces": [
{
"id": "",
"properties": {
"deleteOption": ""
}
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": ""
}
},
"provisioningState": "",
"timeCreated": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance to be started. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Select the name of the virtual machine to start. This parameter makes an API call named list_of_instances_only_names to dynamically populate the Virtual Machine Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance to be stopped. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Select the name of the virtual machine to stop. This parameter makes an API call named list_of_instances_only_names to dynamically populate the Virtual Machine Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance to be restarted. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Select the name of the virtual machine to restart. This parameter makes an API call named list_of_instances_only_names to dynamically populate the Virtual Machine Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance to be deleted. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Virtual Machine Name | Select the name of the virtual machine to delete. This parameter makes an API call named list_of_instances_only_names to dynamically populate the Virtual Machine Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose snapshot is to be created. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Snapshot Name | Specify the name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max length of the name is 80 characters. |
| Location | Select the region or location of the snapshot to create. This parameter makes an API call named list_of_locations to dynamically populate the location's drop-down selections. |
| Creation Option | Select the source of a disk's creation. You can choose from the following options:
|
| Disk Size GB | Specify the size of the disk to create or resize. If Create Option parameter is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. |
| Logical Sector Size | Specify the logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default. |
| Source Unique ID | Specify the unique ID identifying the source of this resource. |
| Extended Location | Specify the extended location where the snapshot will be created. Extended location cannot be changed. |
| Disk Access ID | Specify the ARM ID of the DiskAccess resource for using private endpoints on disks. |
| Incremental | Specify if the snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. |
| Tags | Specify the tags of the snapshot to update. |
| Encryption Type | Select the type of key used to encrypt the data of the disk. You can choose from following options:
|
| Network Access Policy | Select the policy for accessing the disk via network. You can choose from the following options:
|
| OS Type | Select the type of the operating system of the snapshot to create. You can choose from the following options:
|
| Data Access AuthMode | Specify the additional authentication requirements when exporting or uploading to a disk or snapshot. You can choose from the following options:
|
| HyperVGeneration | Select the hypervisor generation for the virtual machine. This option is applicable to OS disks only. |
| Snapshot SKU | Specify the SKU name of the snapshot to create in Azure Compute. It can be Standard_LRS, Premium_LRS, or Standard_ZRS. By default, the SKU is set to the same as that of the previous snapshot. |
| Snapshot SKU Tier | Specify the SKU tier of the snapshot to create in Azure Compute. |
| Custom Properties | Specify additional properties, in JSON format, of the snapshot to create in Azure Compute. The additional properties signify additional fields associated with the snapshot. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"tags": {},
"sku": {
"name": "",
"tier": ""
},
"properties": {
"osType": "",
"hyperVGeneration": "",
"supportsHibernation": "",
"supportedCapabilities": {
"acceleratedNetwork": "",
"architecture": ""
},
"creationData": {
"createOption": "",
"sourceResourceId": "",
"sourceUniqueId": ""
},
"diskSizeGB": "",
"encryptionSettingsCollection": {
"enabled": "",
"encryptionSettings": [],
"encryptionSettingsVersion": ""
},
"encryption": {
"type": ""
},
"incremental": "",
"networkAccessPolicy": "",
"publicNetworkAccess": "",
"dataAccessAuthMode": "",
"timeCreated": "",
"provisioningState": "",
"diskState": "",
"diskSizeBytes": "",
"uniqueId": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose snapshot is to be listed. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"tags": {},
"sku": {
"name": "",
"tier": ""
},
"properties": {
"osType": "",
"hyperVGeneration": "",
"supportsHibernation": "",
"supportedCapabilities": {
"acceleratedNetwork": "",
"architecture": ""
},
"creationData": {
"createOption": "",
"sourceResourceId": "",
"sourceUniqueId": ""
},
"diskSizeGB": "",
"encryptionSettingsCollection": {
"enabled": "",
"encryptionSettings": [],
"encryptionSettingsVersion": ""
},
"encryption": {
"type": ""
},
"incremental": "",
"networkAccessPolicy": "",
"publicNetworkAccess": "",
"dataAccessAuthMode": "",
"timeCreated": "",
"provisioningState": "",
"diskState": "",
"diskSizeBytes": "",
"uniqueId": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose snapshot information is to be retrieved. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Snapshot Name | Specify the name of the snapshot to retrieve its details. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"tags": {},
"sku": {
"name": "",
"tier": ""
},
"properties": {
"osType": "",
"hyperVGeneration": "",
"supportsHibernation": "",
"supportedCapabilities": {
"acceleratedNetwork": "",
"architecture": ""
},
"creationData": {
"createOption": "",
"sourceResourceId": "",
"sourceUniqueId": ""
},
"diskSizeGB": "",
"encryptionSettingsCollection": {
"enabled": "",
"encryptionSettings": [],
"encryptionSettingsVersion": ""
},
"encryption": {
"type": ""
},
"incremental": "",
"networkAccessPolicy": "",
"publicNetworkAccess": "",
"dataAccessAuthMode": "",
"timeCreated": "",
"provisioningState": "",
"diskState": "",
"diskSizeBytes": "",
"uniqueId": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose snapshot is to be updated. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Snapshot Name | Specify the name of the snapshot that is being updated. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max length of the name is 80 characters. |
| Data Access AuthMode | Select the additional authentication requirements when exporting or uploading to a disk or snapshot. You can choose from the following options:
|
| Disk Access ID | Specify the ARM ID of the DiskAccess resource for using private endpoints on disks. |
| Disk Size GB | Specify the size of the disk to resize. If Create Option parameter is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. |
| Encryption Type | Select the type of key used to encrypt the data of the disk. You can choose from following options:
|
| Network Access Policy | Specify the policy for accessing the disk via network. |
| OS Type | Specify the type of the operating system of the snapshot that has to be update. |
| Tags | Specify the tags of the snapshot that has to be update |
| Snapshot SKU | Specify the SKU name of the snapshot to create in Azure Compute. It can be Standard_LRS, Premium_LRS, or Standard_ZRS. By default, the SKU is set to the same as that of the previous snapshot. |
| Snapshot SKU Tier | Specify the SKU tier of the snapshot to create in Azure Compute. |
| Custom Properties | Specify additional properties, in JSON format, of the snapshot to create in Azure Compute. The additional properties signify additional fields associated with the snapshot. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"type": "",
"location": "",
"tags": {},
"sku": {
"name": "",
"tier": ""
},
"properties": {
"osType": "",
"hyperVGeneration": "",
"supportsHibernation": "",
"supportedCapabilities": {
"acceleratedNetwork": "",
"architecture": ""
},
"creationData": {
"createOption": "",
"sourceResourceId": "",
"sourceUniqueId": ""
},
"diskSizeGB": "",
"encryptionSettingsCollection": {
"enabled": "",
"encryptionSettings": [],
"encryptionSettingsVersion": ""
},
"encryption": {
"type": ""
},
"incremental": "",
"networkAccessPolicy": "",
"publicNetworkAccess": "",
"dataAccessAuthMode": "",
"timeCreated": "",
"provisioningState": "",
"diskState": "",
"diskSizeBytes": "",
"uniqueId": ""
}
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the resource group of the instance whose snapshot is to be deleted. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Snapshot Name | Specify the name of the snapshot to delete. |
The output contains the following populated JSON schema:
{
"result": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the NIC's resource group to retrieve its details. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Network Interface Name | Select the name of the network interface to retrieve its details. This parameter makes an API call named list_of_nic to dynamically populate the Network Interface Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"etag": "",
"properties": {
"provisioningState": "",
"resourceGuid": "",
"ipConfigurations": [
{
"name": "",
"id": "",
"etag": "",
"type": "",
"properties": {
"provisioningState": "",
"privateIPAddress": "",
"privateIPAllocationMethod": "",
"subnet": {
"id": ""
},
"primary": "",
"privateIPAddressVersion": ""
}
}
],
"dnsSettings": {
"dnsServers": [],
"appliedDnsServers": [],
"internalDomainNameSuffix": ""
},
"macAddress": "",
"enableAcceleratedNetworking": "",
"vnetEncryptionSupported": "",
"enableIPForwarding": "",
"disableTcpStateTracking": "",
"networkSecurityGroup": {
"id": ""
},
"primary": "",
"virtualMachine": {
"id": ""
},
"hostedWorkloads": [],
"tapConfigurations": [],
"nicType": "",
"allowPort25Out": ""
},
"type": "",
"location": "",
"kind": ""
}
| Parameter | Description |
|---|---|
| Subscription ID | Select the subscription credentials that uniquely identify the Azure subscription. The subscription ID forms part of the URI for every service call. This parameter makes an API call named list_of_subscriptions to dynamically populate the Subscription ID's drop-down selections. |
| Resource Group Name | Select the name of the NSG's resource group to retrieve its details. This parameter makes an API call named list_of_resource_groups to dynamically populate the Resource Group Name's drop-down selections. |
| Network Security Group Name | Select the name of the network security group whose details to retrieve. This parameter makes an API call named list_of_nsg to dynamically populate the Network Security Group Name's drop-down selections. |
The output contains the following populated JSON schema:
{
"name": "",
"id": "",
"etag": "",
"type": "",
"location": "",
"properties": {
"provisioningState": "",
"resourceGuid": "",
"securityRules": [
{
"name": "",
"id": "",
"etag": "",
"type": "",
"properties": {
"provisioningState": "",
"protocol": "",
"sourcePortRange": "",
"destinationPortRange": "",
"sourceAddressPrefix": "",
"destinationAddressPrefix": "",
"access": "",
"priority": "",
"direction": "",
"sourcePortRanges": [],
"destinationPortRanges": [],
"sourceAddressPrefixes": [],
"destinationAddressPrefixes": []
}
}
],
"defaultSecurityRules": [
{
"name": "",
"id": "",
"etag": "",
"type": "",
"properties": {
"provisioningState": "",
"description": "",
"protocol": "",
"sourcePortRange": "",
"destinationPortRange": "",
"sourceAddressPrefix": "",
"destinationAddressPrefix": "",
"access": "",
"priority": "",
"direction": "",
"sourcePortRanges": [],
"destinationPortRanges": [],
"sourceAddressPrefixes": [],
"destinationAddressPrefixes": []
}
}
],
"networkInterfaces": [
{
"id": ""
}
]
}
}
The Sample - Azure Compute - 1.2.0 playbook collection comes bundled with the Azure Compute connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Azure Compute connector.
Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection, since the sample playbook collection gets deleted during connector upgrade and delete.
You can get authentication tokens to access the Azure Compute APIs using two methods:
For more information, see https://docs.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview.
Microsoft.Authorization/*/readMicrosoft.ClassicCompute/domainNames/*Microsoft.ClassicCompute/virtualMachines/*Microsoft.ClassicNetwork/networkSecurityGroups/join/actionMicrosoft.ClassicNetwork/reservedIps/link/actionMicrosoft.ClassicNetwork/reservedIps/readMicrosoft.ClassicNetwork/virtualNetworks/join/actionMicrosoft.ClassicNetwork/virtualNetworks/readMicrosoft.ClassicStorage/storageAccounts/disks/readMicrosoft.ClassicStorage/storageAccounts/images/readMicrosoft.ClassicStorage/storageAccounts/listKeys/actionMicrosoft.ClassicStorage/storageAccounts/readMicrosoft.Insights/alertRules/*Microsoft.ResourceHealth/availabilityStatuses/readMicrosoft.Resources/deployments/*Microsoft.Resources/subscriptions/resourceGroups/readMicrosoft.Support/*Microsoft.Network/* of type Delegate.TENANT_ID, CLIENT_ID, and REDIRECT_URI with your own tenant ID, client ID, and redirect URL: https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/authorize?response_type=code&scope=offline_access https://management.azure.com/user_impersonation&client_id=CLIENT_ID&redirect_uri=REDIRECT_URIREDIRECT_URI?code=AUTH_CODE&session_state=SESSION_STATEAUTH_CODE (without the code= prefix) and paste it into your instance configuration in the Authorization Code parameter.Microsoft.Authorization/*/readMicrosoft.ClassicCompute/domainNames/*Microsoft.ClassicCompute/virtualMachines/*Microsoft.ClassicNetwork/networkSecurityGroups/join/actionMicrosoft.ClassicNetwork/reservedIps/link/actionMicrosoft.ClassicNetwork/reservedIps/readMicrosoft.ClassicNetwork/virtualNetworks/join/actionMicrosoft.ClassicNetwork/virtualNetworks/readMicrosoft.ClassicStorage/storageAccounts/disks/readMicrosoft.ClassicStorage/storageAccounts/images/readMicrosoft.ClassicStorage/storageAccounts/listKeys/actionMicrosoft.ClassicStorage/storageAccounts/readMicrosoft.Insights/alertRules/*Microsoft.ResourceHealth/availabilityStatuses/readMicrosoft.Resources/deployments/*Microsoft.Resources/subscriptions/resourceGroups/readMicrosoft.Support/*Microsoft.Network/* of type Application.