| name | cis-azure-compute-2.3.14 |
| description | Ensure function app is integrated with a virtual network |
| category | cis-azure-compute |
| version | 2.0.0 |
| author | cyberstrike-official |
| tags | ["cis","azure","function-apps","vnet-integration","network-security","virtual-network"] |
| cis_id | 2.3.14 |
| cis_benchmark | CIS Microsoft Azure Compute Services Benchmark v2.0.0 |
| tech_stack | ["azure"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
Ensure function app is integrated with a virtual network
Description
Integrate function apps with a virtual network to enable access to resources in or through a non-internet-routable virtual network.
This recommendation does not apply to function apps created on the consumption hosting plan, which does not support virtual networking.
Rationale
Integrate function apps with a virtual network for increased security and control.
Impact
Additional configuration may be required to ensure that traffic is routed properly.
Audit Procedure
Using Azure Portal
- Go to
App Services or Function App.
- Click the name of a function app.
- Under
Settings, click Networking.
- Under
Outbound traffic configuration, next to Virtual network integration, ensure that a virtual network and subnet name are displayed.
- Repeat steps 1-4 for each function app.
Using Azure CLI
Run the following command to list function apps:
az functionapp list
For each function app, run the following command to get the virtual network subnet ID:
az functionapp show --resource-group <resource-group-name> --name <function-app-name> --query "virtualNetworkSubnetId"
Ensure that a virtual network subnet ID is returned.
Using Azure PowerShell
Run the following command to list function apps:
Get-AzFunctionApp
Run the following command to get the function app in a resource group with a given name:
$app = Get-AzFunctionApp -ResourceGroupName <resource-group-name> -Name <function-app-name>
Run the following command to get the virtual network subnet ID:
$app.virtualNetworkSubnetId
Ensure that a virtual network subnet ID is returned. Repeat for each function app.
Expected Result
A virtual network subnet ID should be returned (not null or empty).
Remediation
Using Azure Portal
- Go to
App Services or Function App.
- Click the name of a function app.
- Under , click .