Azure

Security

Tutorials

How to Find Azure Resources Affected by TLS 1.0/1.1 Deprecation

Azure is ending support for TLS 1.0 and TLS 1.1 and requiring TLS 1.2 and above for all HTTPS connections. This is a good move to ensure the security of the data. However, this represents a large operational lift to identify all resources that will be impacted.

Using CloudQuery, you can quickly identify all resources that have a minimum TLS property set to 1.0 or 1.1 in order to prioritize upgrading these resources.

How to Sync Your Azure Cloud Data with CloudQuery

Follow these simple steps to set up CloudQuery and sync your Azure data:

Sign Up for CloudQuery

Start by creating a CloudQuery account to get started.

Set Up Your Data Sync

Configure a new sync using the Azure Source Integration. You will need to make sure that you have synced the following tables:

  • azure_appservice_web_app_configurations
  • azure_cosmos_database_accounts
  • azure_eventhub_namespaces
  • azure_hdinsight_clusters
  • azure_mariadb_servers
  • azure_mysql_servers
  • azure_postgresql_servers
  • azure_redis_caches
  • azure_sql_managed_instances
  • azure_sql_servers
  • azure_storage_accounts

You can find the full list of Azure tables in the CloudQuery Azure Source Integration documentation.

Run Your Data Sync

Click the “Run Sync” button to pull your Azure data into CloudQuery.

Querying Azure Resources for Deprecated TLS Versions

This query provides a list of Azure resources that are currently using outdated TLS versions (below 1.2):

SELECT *
FROM (
-- Extract and normalize the minimum TLS version from various Azure services
SELECT
'azure_appservice_web_app_configurations' AS table, -- Label the source table
JSONExtractString(properties, 'minTlsVersion') AS properties__min_tls_version, -- Extract min TLS version
id -- Preserve the ID for reference
FROM azure_appservice_web_app_configurations

UNION ALL -- Use UNION ALL for performance (avoids deduplication)

SELECT 'azure_cosmos_database_accounts', JSONExtractString(properties, 'minimalTlsVersion'), id
FROM azure_cosmos_database_accounts

UNION ALL

SELECT 'azure_eventhub_namespaces', JSONExtractString(properties, 'minimumTlsVersion'), id
FROM azure_eventhub_namespaces

UNION ALL

SELECT 'azure_hdinsight_clusters', JSONExtractString(properties, 'minSupportedTlsVersion'), id
FROM azure_hdinsight_clusters

UNION ALL

SELECT 'azure_mariadb_servers', JSONExtractString(properties, 'minimalTlsVersion'), id
FROM azure_mariadb_servers

UNION ALL

SELECT 'azure_mysql_servers', JSONExtractString(properties, 'minimalTlsVersion'), id
FROM azure_mysql_servers

UNION ALL

SELECT 'azure_postgresql_servers', JSONExtractString(properties, 'minimalTlsVersion'), id
FROM azure_postgresql_servers

UNION ALL

SELECT 'azure_redis_caches', JSONExtractString(properties, 'minimumTlsVersion'), id
FROM azure_redis_caches

UNION ALL

SELECT 'azure_sql_managed_instances', JSONExtractString(properties, 'minimalTlsVersion'), id
FROM azure_sql_managed_instances

UNION ALL

SELECT 'azure_sql_servers', JSONExtractString(properties, 'minimalTlsVersion'), id
FROM azure_sql_servers

UNION ALL

SELECT 'azure_storage_accounts', JSONExtractString(properties, 'minimumTlsVersion'), id
FROM azure_storage_accounts
) AS min_tls -- Alias the subquery for readability

WHERE
-- Convert the extracted TLS version string into a numeric value for comparison
(
toFloat32(
replaceAll(
regexpReplace(
replaceAll(properties__min_tls_version, '_', '.'),
'^tls', '', 'i'
),
'-', '.'
)
) < 1.2
OR properties__min_tls_version = 'TLSEnforcementDisabled' -- Explicitly filter out disabled TLS enforcement
OR NOT regexpLike(properties__min_tls_version, '.*1.*') -- Exclude values without '1'
);

When you run the query, you’ll get a list of Azure services along with their current minimum TLS version. The key columns to focus on are:

  • table: The type of Azure resource (SQL Server, Redis, Storage Account, etc.).
  • properties__min_tls_version: The TLS version currently enforced.
  • id: The unique identifier of the resource.

For example:

Tableproperties__min_tls_versionID
azure_sql_servers1.1/subscriptions/…/sqlServer1
azure_redis_caches1.0/subscriptions/…/redisCache1
azure_postgresql_servers1.0/subscriptions/…/postgresDB1

For each affected resource, be sure that you update its minimum TLS version to 1.2 or higher. Each Azure service has a similar update method via Azure CLI, API, or the Azure Portal. If you’re managing multiple subscriptions, consider using Azure Policy to enforce TLS 1.2 across your environment.

This problem isn’t a one-time fix. New resources could be created with outdated TLS settings, or configurations could be accidentally changed. To continuously monitor for non-compliant resources, you can:

  • Schedule CloudQuery scans to catch issues before they become critical.
  • Set up Azure Policy to enforce TLS 1.2 across all services.
  • Use Azure Security Center to get alerts for insecure configurations.

Wrap Up

We walked through how to identify Azure resources impacted by the upcoming deprecation of TLS 1.0 and 1.1 using CloudQuery. By syncing your Azure cloud data, running simple SQL queries, and leveraging CloudQuery’s flexible data transformation capabilities, you can quickly pinpoint resources that require upgrades before the deprecation deadline.

CloudQuery simplifies cloud asset discovery and governance, making it easy to audit, monitor, and manage cloud environments at scale. If you haven’t already, get started with CloudQuery today to enhance your cloud visibility.

Have questions or need help? Join the CloudQuery Developer Community to connect with other users, share insights, and get support. Let us know how your team is tackling cloud security by engaging with us on LinkedIn, X, or in our Community Forum.

Try CloudQuery yourself

Self-hosted, open source, and free to start. Or schedule a demo to see the managed version.

Related posts

AWS

Azure

GCP

Security

Tutorials

How to Find Internet-Facing Cloud Assets in AWS, Azure and GCP

Find all internet-facing cloud resources across AWS, Azure, and GCP. Identify exposed VMs, storage, databases, and load balancers to reduce attack surface.

Adam Cobb

Adam Cobb

November 5, 2025

Azure

Security

Tutorials

Enhance your Cloud Asset Inventory Using Wiz + Azure

Enhance your Azure cloud asset inventory with CloudQuery’s Wiz plugin. Gain immediate insights into vulnerabilities and misconfigurations.

Kevin Rheinheimer

Kevin Rheinheimer

July 2, 2024

AWS

Azure

GCP

Security

How Do You Run CloudQuery Without Static Credentials?

Workload identity federation for GCP and Azure, RDS IAM auth, and Lakebase OAuth let self-hosted CloudQuery syncs run without stored static credentials.

Ben Bernays

Ben Bernays

September 28, 2026

AWS

Security

Tutorials

Finding AWS Unrestricted Outbound Access in 2026: EC2, Lambda, and Beyond

Find EC2, Lambda, and ECS Fargate resources with unrestricted outbound access in AWS using SQL. Why egress controls still break attack chains in 2026.

Joe Karlsson

Joe Karlsson

May 5, 2026

AWS

Security

Tutorials

AWS IAM Identity Center with Google Workspace as an IdP: 2026 Step-by-Step Guide

Set up AWS IAM Identity Center with Google Workspace: SAML authentication, SCIM user provisioning, and group sync with CLI or ssosync. Updated for 2026.

Joe Karlsson

Joe Karlsson

May 5, 2026

GCP

Security

Tutorials

Creating Cross-Project Service Accounts in GCP (Console + gcloud CLI)

Create a GCP service account that reads across all your projects with one credential. Covers gcloud CLI, org-level vs.

Joe Karlsson

Joe Karlsson

May 5, 2026

AWS

Cloud Infrastructure

Security

Tutorials

Integrate AbuseIPDB Threat Intelligence with CloudQuery

Enrich your cloud asset inventory with AbuseIPDB threat intelligence to identify public cloud IPs with known abuse reports.

Joe Karlsson

Joe Karlsson

April 20, 2026

AWS

Security

Tutorials

AWS IAM Identity Center (Formerly AWS SSO): The Complete 2026 Guide

AWS IAM Identity Center replaced AWS SSO in 2022. Learn how to set it up, configure permission sets, use the AWS CLI, and audit access with CloudQuery.

Joe Karlsson

Joe Karlsson

April 6, 2026

AWS

Security

Tutorials

Set Up AWS CLI with SSO (IAM Identity Center) — Step by Step

Configure AWS CLI v2 with IAM Identity Center in 5 minutes. Covers sso-session setup, automatic token refresh, and switching between multi-account profiles.

Yevgeny Pats

Yevgeny Pats

February 25, 2026

Own your pipeline.
Own your data.