Table: azure_app_service_function_app - Query Azure App Service Function Apps using SQL
Azure App Service Function Apps is a service within Microsoft Azure that allows developers to host and run functions in the cloud without having to manage any infrastructure. It offers an event-driven, compute-on-demand experience that extends the existing Azure App Service platform. With Azure Function Apps, developers can quickly create serverless applications that scale and integrate with other services.
Table Usage Guide
The azure_app_service_function_app
table provides insights into Function Apps within Azure App Service. As a developer or DevOps engineer, explore Function App-specific details through this table, including configuration settings, app settings, and connection strings. Utilize it to uncover information about Function Apps, such as their runtime versions, hosting details, and the state of always-on functionality.
Examples
List of app functions which accepts HTTP traffic
Determine the areas in which Azure app services function apps are configured to accept HTTP traffic, which can be useful for identifying potential security risks associated with unencrypted data transmission.
select name, https_only, kind, regionfrom azure_app_service_function_appwhere not https_only;
select name, https_only, kind, regionfrom azure_app_service_function_appwhere https_only = 0;
List of all unreserved app function
Discover the segments that comprise all unreserved function apps in Azure. This query is useful in managing resources and ensuring optimal performance by identifying potential areas for reallocation.
select name, reserved, resource_groupfrom azure_app_service_function_appwhere not reserved;
select name, reserved, resource_groupfrom azure_app_service_function_appwhere reserved = 0;
Outbound IP addresses and possible outbound IP addresses info of each function app
Gain insights into the outbound IP addresses associated with each function app, as well as potential outbound IP addresses. This information can be useful for managing network security and understanding your app's communication pathways.
select name, outbound_ip_addresses, possible_outbound_ip_addressesfrom azure_app_service_function_app;
select name, outbound_ip_addresses, possible_outbound_ip_addressesfrom azure_app_service_function_app;
List of app functions where client certificate mode is disabled.
Identify instances where the client certificate mode is disabled in your Azure app functions. This can help enhance security by pinpointing areas where client authentication is not enforced.
select name, client_cert_enabled, kind, regionfrom azure_app_service_function_appwhere not client_cert_enabled;
select name, client_cert_enabled, kind, regionfrom azure_app_service_function_appwhere client_cert_enabled = 0;
Control examples
- All Controls > App Service > App Service function apps public access should be restricted
- All Controls > App Service > Ensure App Service authentication is set up for function apps in Azure App Service
- All Controls > App Service > Ensure FTP deployments are Disabled
- All Controls > App Service > Ensure that 'Java version' is the latest, if used as a part of the Function app
- All Controls > App Service > Ensure that 'Python version' is the latest, if used as a part of the Function app
- CIS v1.3.0 > 9 AppService > 9.10 Ensure FTP deployments are disabled
- CIS v1.4.0 > 9 AppService > 9.10 Ensure FTP deployments are disabled
- CIS v1.5.0 > 9 AppService > 9.10 Ensure FTP deployments are disabled
- CIS v2.0.0 > 9 AppService > 9.10 Ensure FTP deployments are Disabled
- CIS v2.1.0 > 9 AppService > 9.9 Ensure FTP deployments are Disabled
- CIS v3.0.0 > 9 AppService > 9.3 Ensure 'FTP State' is set to 'FTPS Only' or 'Disabled'
- Ensure that 'HTTP Version' is the latest, if used to run the Function app
- FTPS only should be required in your Function App
- Function apps should have 'Client Certificates (Incoming client certificates)' enabled
- Function apps should have remote debugging turned off
- Function apps should not have CORS configured to allow every resource to access your apps
- Function apps should only be accessible over HTTPS
- Function apps should use managed identity
- Function apps should use the latest TLS version
Schema for azure_app_service_function_app
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
akas | jsonb | Array of globally unique identifier strings (also known as) for the resource. | |
auth_settings | jsonb | Describes the Authentication/Authorization settings of an app. | |
client_affinity_enabled | boolean | Specify whether client affinity is enabled. | |
client_cert_enabled | boolean | Specify whether client certificate authentication is enabled. | |
cloud_environment | text | The Azure Cloud Environment. | |
configuration | jsonb | Describes the configuration of an app. | |
default_site_hostname | text | Default hostname of the app. | |
enabled | boolean | Specify whether the app is enabled. | |
host_name_disabled | boolean | Specify whether the public hostnames of the app is disabled. | |
host_names | jsonb | A list of hostnames associated with the app. | |
https_only | boolean | Specify whether configuring a web site to accept only https requests. | |
id | text | Contains ID to identify an app service function app uniquely. | |
kind | text | Contains the kind of the resource. | |
name | text | = | The friendly name that identifies the app service function app. |
outbound_ip_addresses | text | List of IP addresses that the app uses for outbound connections (e.g. database access). | |
possible_outbound_ip_addresses | text | List of possible IP addresses that the app uses for outbound connections (e.g. database access). | |
region | text | The Azure region/location in which the resource is located. | |
reserved | boolean | Specify whether the app is reserved. | |
resource_group | text | = | The resource group which holds this resource. |
site_config | jsonb | A map of all configuration for the app | |
sp_connection_name | text | =, !=, ~~, ~~*, !~~, !~~* | Steampipe connection name. |
sp_ctx | jsonb | Steampipe context in JSON form. | |
state | text | Current state of the app. | |
subscription_id | text | =, !=, ~~, ~~*, !~~, !~~* | The Azure Subscription ID in which the resource is located. |
tags | jsonb | A map of tags for the resource. | |
title | text | Title of the resource. | |
type | text | The resource type of the app service function app. |
Export
This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.
You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh
script:
/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- azure
You can pass the configuration to the command with the --config
argument:
steampipe_export_azure --config '<your_config>' azure_app_service_function_app