Table: azure_api_management - Query Azure API Management Services using SQL
Azure API Management is a solution that allows organizations to publish, manage, secure, and analyze their APIs in a unified way. It provides the core competencies to ensure a successful API program through developer engagement, business insights, analytics, security, and protection. Azure API Management enables you to create an API gateway and developer portal in minutes.
Table Usage Guide
The azure_api_management
table provides insights into API management services within Azure. As a DevOps engineer, leverage this table to explore details about your API management services, including their configurations, locations, and associated resources. Utilize it to manage and secure your APIs, monitor their performance, and understand their usage patterns.
Examples
Public and private IP address info of each API management
Determine the areas in which each API management system operates by understanding their public and private IP addresses. This aids in assessing network accessibility and identifying potential security concerns.
select name, public_ip_addresses, private_ip_addressesfrom azure_api_management;
select name, public_ip_addresses, private_ip_addressesfrom azure_api_management;
API management publisher info
Explore the publisher details associated with your Azure API management to maintain effective communication and ensure smooth operations. This allows you to identify who is in charge of specific APIs, facilitating efficient management and collaboration.
select name, publisher_name, publisher_emailfrom azure_api_management;
select name, publisher_name, publisher_emailfrom azure_api_management;
List of premium API managements and their computing capacity
Identify instances where premium API management services are being used and assess their computing capacity. This can be useful in evaluating your resource allocation and optimizing your API management strategy.
select name, sku_name, sku_capacityfrom azure_api_managementwhere sku_name = 'Premium';
select name, sku_name, sku_capacityfrom azure_api_managementwhere sku_name = 'Premium';
List of API management without application tag key
Determine the areas in which API management in Azure lacks an 'application' tag. This could be useful for managing and organizing your resources, as well as ensuring compliance with tagging policies.
select name, tagsfrom azure_api_managementwhere not tags :: JSONB ? 'application';
select name, tagsfrom azure_api_managementwhere json_extract(tags, '$.application') is null;
Query examples
Control examples
Schema for azure_api_management
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
additional_locations | jsonb | Additional datacenter locations of the API management service. | |
akas | jsonb | Array of globally unique identifier strings (also known as) for the resource. | |
api_version_constraint | jsonb | Control plane APIs version constraint for the API management service. | |
certificates | jsonb | List of certificates that need to be installed in the API management service. | |
cloud_environment | text | The Azure Cloud Environment. | |
created_at_utc | timestamp with time zone | Creation UTC date of the API management service. | |
custom_properties | jsonb | Custom properties of the API management service. | |
developer_portal_url | text | Developer Portal endpoint URL of the API management service. | |
diagnostic_settings | jsonb | A list of active diagnostic settings for the API management service. | |
disable_gateway | boolean | Property only valid for an API management service deployed in multiple locations. This can be used to disable the gateway in master region. | |
enable_client_certificate | boolean | Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway. | |
etag | text | An unique read-only string that changes whenever the resource is updated. | |
gateway_regional_url | text | Gateway URL of the API management service in the default region. | |
gateway_url | text | Gateway URL of the API management service. | |
host_name_configurations | jsonb | Custom hostname configuration of the API management service. | |
id | text | Contains ID to identify an API management service uniquely. | |
identity_principal_id | text | The principal id of the identity. | |
identity_tenant_id | text | The client tenant id of the identity. | |
identity_type | text | The type of identity used for the resource. | |
identity_user_assigned_identities | jsonb | The list of user identities associated with the resource. | |
management_api_url | text | Management API endpoint URL of the API management service. | |
name | text | = | A friendly name that identifies an API management service. |
notification_sender_email | text | Email address from which the notification will be sent. | |
portal_url | text | Publisher portal endpoint URL of the API management service. | |
private_ip_addresses | jsonb | Private static load balanced IP addresses of the API management service in primary region which is deployed in an internal virtual network. Available only for 'Basic', 'Standard', 'Premium' and 'Isolated' SKU. | |
provisioning_state | text | The current provisioning state of the API management service. Possible values include: 'Created', 'Activating', 'Succeeded', 'Updating', 'Failed', 'Stopped', 'Terminating', 'TerminationFailed', 'Deleted'. | |
public_ip_addresses | jsonb | Public static load balanced IP addresses of the API management service in primary region. Available only for 'Basic', 'Standard', 'Premium' and 'Isolated' SKU. | |
publisher_email | text | Publisher email of the API management service. | |
publisher_name | text | Publisher name of the API management service. | |
region | text | The Azure region/location in which the resource is located. | |
resource_group | text | = | The resource group which holds this resource. |
restore | boolean | Undelete API management service if it was previously soft-deleted. | |
scm_url | text | SCM endpoint URL of the API management service. | |
sku_capacity | bigint | Capacity of the SKU (number of deployed units of the SKU) | |
sku_name | text | Name of the Sku | |
sp_connection_name | text | =, !=, ~~, ~~*, !~~, !~~* | Steampipe connection name. |
sp_ctx | jsonb | Steampipe context in JSON form. | |
subscription_id | text | =, !=, ~~, ~~*, !~~, !~~* | The Azure Subscription ID in which the resource is located. |
tags | jsonb | A map of tags for the resource. | |
target_provisioning_state | text | The provisioning state of the API management service, which is targeted by the long running operation started on the service. | |
title | text | Title of the resource. | |
type | text | Type of the resource. | |
virtual_network_configuration_id | text | The virtual network ID. | |
virtual_network_configuration_subnet_name | text | The name of the subnet. | |
virtual_network_configuration_subnet_resource_id | text | The full resource ID of a subnet in a virtual network to deploy the API Management service in. | |
virtual_network_type | text | The type of VPN in which API management service needs to be configured in. None (Default Value) means the API management service is not part of any Virtual Network, External means the API management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only. Possible values include: 'None', 'External', 'Internal' | |
zones | jsonb | A list of availability zones denoting where the resource needs to come from. |
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_api_management