Last Updated on August 7, 2025 by Arnav Sharma
In the era of digital transformation, securing AI services is a critical concern. Microsoft Azure offers a range of AI solutions with robust security features. This blog explores the security aspects of Azure AI services, providing insights into how to create and manage secure AI applications.
Azure AI
Azure AI encompasses a suite of services designed for artificial intelligence and machine learning applications. These services, developed by Microsoft, offer AI capabilities to a wide range of users, from novices to experts in AI and machine learning.
Azure AI Service
An Azure AI service is a component of Microsoft Azure that allows users to integrate AI solutions into their applications. Azure OpenAI, Azure AI Search, and Azure Machine Learning are prime examples of these services. They enable users to harness the power of AI while ensuring that their data and applications remain secure.
Using Azure AI
To start using Azure AI, one needs to create an Azure AI resource in Azure AI Studio or via the Azure portal. This involves choosing an existing Azure OpenAI resource or creating a new Azure AI resource. The process is straightforward and user-friendly, ensuring that even those new to AI can easily navigate and set up Azure AI resources.
Create an Azure AI Resource
Creating an Azure AI resource is the first step to accessing Azure’s AI capabilities. This can be done in the Azure portal, where you can choose to create a new Azure AI resource or use an existing one. The Azure AI resource creation process involves selecting an Azure region, defining a resource group, and configuring the necessary security settings.
Azure AI Services Resource
Once your Azure AI resource is created, it becomes part of your Azure AI services resource. This resource is used to manage Azure AI services, including configuring security settings, managing access, and monitoring usage.
Security Features
Transport Layer Security (TLS)
All Azure AI service endpoints that are exposed over HTTP enforce the Transport Layer Security (TLS) 1.2 protocol. This is a critical security feature, as TLS 1.2 provides a highly secure channel for data transmission. To effectively utilize this security protocol, certain requirements must be met:
- The client operating system (OS) must support TLS 1.2.
- The programming language and platform used to make the HTTP call must specify TLS 1.2 as part of the request. This specification can be implicit or explicit, depending on the language and platform.
- For .NET users, it is recommended to follow the Transport Layer Security best practices.
Customer-managed keys (CMK)
Customer-managed keys (CMK) is a feature designed for services that store customer data at rest for extended periods (longer than 48 hours). While Azure already provides double encryption for data on its servers, CMK offers an additional layer of security. This feature allows users to manage their own encryption keys through Azure Key Vault. However, it’s important to note that only certain services are compatible with CMK. Users can check the compatibility of their service on the Customer-managed keys page. By using CMK, users have greater control over the encryption of their data, enhancing the overall security of their stored information.
Virtual Networks
Virtual networks in Azure AI services provide an additional layer of security by controlling network access to AI resources. This feature allows users to define which endpoints are authenticated and permitted to make API calls to their Azure AI resources. Azure service will reject any API calls originating from devices outside the specified network. Users can set up a formula-based definition of the allowed network or define an exhaustive list of permitted endpoints. This level of control is particularly useful in preventing unauthorized access and ensuring that only trusted sources can interact with the AI services.
Data Loss Prevention
Data loss prevention is a feature that allows administrators to control the types of URIs that their Azure resource can accept as inputs. This is particularly important for API calls that take URIs as input. The feature is designed to prevent the potential exfiltration of sensitive company data. For instance, if a company stores sensitive information in URL parameters, an internal bad actor could submit these URLs to an Azure service, leading to data leakage. Data loss prevention enables the configuration of the service to reject certain forms of URIs upon arrival, thereby safeguarding access to Azure sensitive information from unauthorized external exposure.
Authentication and Security
Azure Key Vault
Azure Key Vault, created in the Azure AI, plays a pivotal role in the security architecture of the AI services. It is a tool designed to securely store and manage sensitive information, such as API keys, encryption keys, and other secrets. The primary function of Azure Key Vault in the context of Azure AI is to ensure secure authentication and robust data protection. By centralizing the storage of cryptographic keys and other secrets, Azure Key Vault not only enhances security but also simplifies the management of these critical assets. It provides secure access to keys and secrets, allowing for controlled access and reducing the risks associated with key management, such as unauthorized access or key leakage.
Authentication Options
Authentication in Azure AI services is a critical process that involves verifying the identity of users or services that attempt to access the AI resources. One of the most secure authentication methods provided by Azure is the use of managed roles in Microsoft Entra ID. This method leverages Azure’s identity and access management capabilities to authenticate and ensure that only authorized entities can access the AI services. By using managed roles, administrators can define specific permissions and access rights, tailoring them to the needs of different users or services. This approach not only enhances security but also provides granular control over who can access what resources, under what conditions.
Key Rotation
Key rotation is an essential security practice in Azure AI services. Each Azure AI services resource is equipped with two API keys, specifically designed to facilitate secret rotation. This feature allows administrators to periodically change the keys that grant access to the service. Regularly rotating these keys significantly reduces the risk of unauthorized access in the event of a key compromise. By having a secondary key available, services can continue to operate without interruption while the compromised key is being replaced, ensuring both security and continuity of service.
Environment Variables
Environment Variables in the context of Azure AI services security refer to the practice of storing credentials and other sensitive information as name-value pairs within a specific development environment. This approach is a more secure alternative to hardcoding values directly into the codebase. By using environment variables, sensitive data like API keys or connection strings can be kept out of the source code, reducing the risk of accidental exposure. However, it’s important to note that if the development environment itself is compromised, the environment variables may also be at risk. Therefore, this method should be used in conjunction with other security measures to ensure a comprehensive protection strategy.