You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/ai-foundry/how-to/azure-policy.md
+27-27Lines changed: 27 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ titleSuffix: Azure AI Foundry
4
4
description: Learn how to use Azure Policy with Azure AI Foundry to make sure your hubs and projects are compliant with your requirements.
5
5
ms.author: jburchel
6
6
author: jonburchel
7
-
ms.date: 07/31/2025
7
+
ms.date: 10/01/2025
8
8
ms.service: azure-ai-foundry
9
9
ms.custom:
10
10
- hub-only
@@ -58,27 +58,27 @@ To view the built-in policy definitions, use the following steps:
58
58
1. Select __Definitions__.
59
59
1. For __Type__, select __Built-in__. For __Category__, select __Machine Learning__.
60
60
61
-
From here, you can select policy definitions to view them. While viewing a definition, you can use the __Assign__link to assign the policy to a specific scope, and configure the parameters for the policy. For more information, see [Create a policy assignment to identify noncompliant resources using Azure portal](/azure/governance/policy/assign-policy-portal).
61
+
Select a policy definition to view it. While viewing a definition, select __Assign__ to assign the policy to a scope and configure its parameters. For more information, see [Create a policy assignment to identify noncompliant resources using Azure portal](/azure/governance/policy/assign-policy-portal).
62
62
63
-
You can also assign policies by using [Azure PowerShell](/azure/governance/policy/assign-policy-powershell), [Azure CLI](/azure/governance/policy/assign-policy-azurecli), or [templates](/azure/governance/policy/assign-policy-template).
63
+
Assign policies by using [Azure PowerShell](/azure/governance/policy/assign-policy-powershell), [Azure CLI](/azure/governance/policy/assign-policy-azurecli), or [templates](/azure/governance/policy/assign-policy-template).
64
64
65
65
## Conditional access policies
66
66
67
-
To control who can access your Azure AI Foundry hubs and projects, use [Microsoft Entra Conditional Access](/azure/active-directory/conditional-access/overview). To use Conditional Access for hubs, [assign the Conditional Access policy](/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps) to the following apps:
67
+
Control access to Azure AI Foundry hubs and projects by using [Microsoft Entra Conditional Access](/azure/active-directory/conditional-access/overview). For hubs, [assign the Conditional Access policy](/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps) to these apps:
68
68
69
69
| App name | App ID | Description |
70
70
|---|---|---|
71
-
| Azure AI Foundry App | cb2ff863-7f30-4ced-ab89-a00194bcf6d9 |Use to control access to the Azure AI Foundry portal. |
72
-
| Azure Machine Learning Web App | d7304df8-741f-47d3-9bc2-df0e24e2071f |Use to control access to Azure Machine Learning studio. |
73
-
| Azure Machine Learning | 0736f41a-0425-bdb5-1563eff02385 |Use to control direct access to the Azure Machine Learning API. For example, when using the SDK or REST API. Azure AI Foundry hub-based projects rely on the Azure Machine Learning API. |
71
+
| Azure AI Foundry App | cb2ff863-7f30-4ced-ab89-a00194bcf6d9 |Controls access to the Azure AI Foundry portal. |
72
+
| Azure Machine Learning Web App | d7304df8-741f-47d3-9bc2-df0e24e2071f |Controls access to Azure Machine Learning studio. |
73
+
| Azure Machine Learning | 0736f41a-0425-bdb5-1563eff02385 |Controls direct access to the Azure Machine Learning API (for example, when using the SDK or REST API). Azure AI Foundry hub-based projects rely on this API. |
74
74
75
75
## Configure built-in policies
76
76
77
77
### Compute instance should have idle shutdown
78
78
79
79
This policy controls whether a compute instance should have idle shutdown enabled. Idle shutdown automatically stops the compute instance when it's idle for a specified period of time. This policy is useful for cost savings and to ensure that resources aren't being used unnecessarily.
80
80
81
-
To configure this policy, set the effect parameter to __Audit__, __Deny__, or __Disabled__. If set to __Audit__, you can create a compute instance without idle shutdown enabled and a warning event is created in the activity log.
81
+
To configure this policy, set the effect parameter to __Audit__, __Deny__, or __Disabled__. If you set the effect to __Audit__, you can create a compute instance without idle shutdown. The service creates a warning event in the activity log.
82
82
83
83
### Compute instances should be recreated to get software updates
84
84
@@ -92,15 +92,15 @@ Controls auditing of compute cluster and instance resources behind a virtual net
92
92
93
93
To configure this policy, set the effect parameter to __Audit__ or __Disabled__. If set to __Audit__, you can create a compute that isn't configured behind a virtual network and a warning event is created in the activity log.
94
94
95
-
### Computes should have local authentication methods disabled.
95
+
### Compute clusters and instances should have local authentication disabled
96
96
97
97
Controls whether a compute cluster or instance should disable local authentication (SSH).
98
98
99
99
To configure this policy, set the effect parameter to __Audit__, __Deny__, or __Disabled__. If set to __Audit__, you can create a compute with SSH enabled and a warning event is created in the activity log.
100
100
101
101
If the policy is set to __Deny__, then you can't create a compute unless SSH is disabled. Attempting to create a compute with SSH enabled results in an error. The error is also logged in the activity log. The policy identifier is returned as part of this error.
102
102
103
-
### Hubs should be encrypted with customer-managed key
103
+
### Hubs should be encrypted with a customer-managed key
104
104
105
105
Controls whether a hub and its projects should be encrypted with a customer-managed key, or with a Microsoft-managed key to encrypt metrics and metadata. For more information on using customer-managed key, see the [Customer-managed keys](../concepts/encryption-keys-portal.md) article.
106
106
@@ -116,73 +116,73 @@ To configure this policy, set the effect parameter to __Audit__, __Deny__, or __
116
116
117
117
If the policy is set to __Deny__, then you can't create a hub that allows network access from the public internet.
118
118
119
-
### Hubs should use private link
119
+
### Hubs should use Azure Private Link
120
120
121
121
Controls whether a hub and its projects should use Azure Private Link to communicate with Azure Virtual Network. For more information on using private link, see [Configure a private endpoint](configure-private-link.md).
122
122
123
123
To configure this policy, set the effect parameter to __Audit__ or __Deny__. If set to __Audit__, you can create a hub without using private link and a warning event is created in the activity log.
124
124
125
125
If the policy is set to __Deny__, then you can't create a hub unless it uses a private link. Attempting to create a hub without a private link results in an error. The error is also logged in the activity log. The policy identifier is returned as part of this error.
126
126
127
-
### Hubs should use user-assigned managed identity
127
+
### Hubs should use a user-assigned managed identity
128
128
129
129
Controls whether a hub is created using a system-assigned managed identity (default) or a user-assigned managed identity. The managed identity for the hub is used to access associated resources such as Azure Storage, Azure Container Registry, Azure Key Vault, and Azure Application Insights.
130
130
131
131
To configure this policy, set the effect parameter to __Audit__, __Deny__, or __Disabled__. If set to __Audit__, you can create a hub without specifying a user-assigned managed identity. A system-assigned identity is used, and a warning event is created in the activity log.
132
132
133
133
If the policy is set to __Deny__, then you can't create a hub unless you provide a user-assigned identity during the creation process. Attempting to create a hub without providing a user-assigned identity results in an error. The error is also logged to the activity log. The policy identifier is returned as part of this error.
134
134
135
-
### Configure computes to modify/disable local authentication
135
+
### Configure compute resources to modify or disable local authentication
136
136
137
137
This policy modifies any compute cluster or instance creation request to disable local authentication (SSH).
138
138
139
139
To configure this policy, set the effect parameter to __Modify__ or __Disabled__. If set __Modify__, any creation of a compute cluster or instance within the scope where the policy applies automatically has local authentication disabled.
140
140
141
-
### Configure hub to use private DNS zones
141
+
### Configure a hub to use private DNS zones
142
142
143
143
This policy configures a hub to use a private DNS zone, overriding the default DNS resolution for a private endpoint.
144
144
145
145
To configure this policy, set the effect parameter to __DeployIfNotExists__. Set the __privateDnsZoneId__ to the Azure Resource Manager ID of the private DNS zone to use.
146
146
147
-
### Configure hub to disable public network access
147
+
### Configure a hub to disable public network access
148
148
149
149
Configures a hub and its projects to disable network access from the public internet. Disabling public network access helps protect against data leakage risks. You can instead access your hub and projects by creating private endpoints. For more information, see [Configure a private endpoint](configure-private-link.md).
150
150
151
151
To configure this policy, set the effect parameter to __Modify__ or __Disabled__. If set to __Modify__, any creation of a hub within the scope where the policy applies automatically has public network access disabled.
152
152
153
-
### Configure hub with private endpoints
153
+
### Configure a hub with private endpoints
154
154
155
155
Configures a hub to create a private endpoint within the specified subnet of an Azure Virtual Network.
156
156
157
157
To configure this policy, set the effect parameter to __DeployIfNotExists__. Set the __privateEndpointSubnetID__ to the Azure Resource Manager ID of the subnet.
158
158
159
-
### Configure diagnostic hub to send logs to log analytics workspaces
159
+
### Configure diagnostic hub to send logs to Log Analytics workspaces
160
160
161
161
Configures the diagnostic settings for a hub to send logs to a Log Analytics workspace.
162
162
163
163
To configure this policy, set the effect parameter to __DeployIfNotExists__ or __Disabled__. If set to __DeployIfNotExists__, the policy creates a diagnostic setting to send logs to a Log Analytics workspace if it doesn't already exist.
164
164
165
-
### Resource logs in hub should be enabled
165
+
### Resource logs in a hub should be enabled
166
166
167
167
Audits whether resource logs are enabled for a hub. Resource logs provide detailed information about operations performed on resources in the hub.
168
168
169
169
To configure this policy, set the effect parameter to __AuditIfNotExists__ or __Disabled__. If set to __AuditIfNotExists__, the policy audits if resource logs aren't enabled for the hub.
170
170
171
171
## Create custom definitions
172
172
173
-
When you need to create custom policies for your organization, you can use the [Azure Policy definition structure](/azure/governance/policy/concepts/definition-structure-basics) to create your own definitions. You can use the [Azure Policy Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=AzurePolicy.azurepolicyextension) to author and test your policies.
173
+
Create custom policies by using the [Azure Policy definition structure](/azure/governance/policy/concepts/definition-structure-basics). Use the [Azure Policy Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=AzurePolicy.azurepolicyextension) to author and test policies.
174
174
175
-
To discover the policy aliases you can use in your definition, use the following Azure CLI command to list the aliases for Azure Machine Learning:
175
+
List policy aliases for Azure Machine Learning with this Azure CLI command:
176
176
177
177
```azurecli
178
178
az provider show --namespace Microsoft.MachineLearningServices --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"
179
179
```
180
180
181
-
To discover the allowed values for a specific alias, visit the [Azure Machine Learning REST API](/rest/api/azureml/) reference.
181
+
Find allowed values for a specific alias in the [Azure Machine Learning REST API](/rest/api/azureml/) reference.
182
182
183
-
For a tutorial (not Azure Machine Learning specific) on how to create custom policies, visit[Create a custom policy definition](/azure/governance/policy/tutorials/create-custom-policy-definition).
183
+
For a general tutorial on creating custom policies, see[Create a custom policy definition](/azure/governance/policy/tutorials/create-custom-policy-definition).
184
184
185
-
### Example: Block serverless spark compute jobs
185
+
### Example: Deny serverless Spark compute jobs
186
186
187
187
```json
188
188
{
@@ -210,14 +210,14 @@ For a tutorial (not Azure Machine Learning specific) on how to create custom pol
210
210
}
211
211
```
212
212
213
-
### Example: Configure no public IP for managed computes
213
+
### Example: Deny public IPs for managed computes
214
214
215
215
```json
216
216
{
217
217
"properties": {
218
218
"displayName": "Deny compute instance and compute cluster creation with public IP",
219
219
"description": "Deny compute instance and compute cluster creation with public IP",
220
-
"mode": "all",
220
+
"mode": "All",
221
221
"parameters": {
222
222
"effectType": {
223
223
"type": "string",
@@ -266,5 +266,5 @@ For a tutorial (not Azure Machine Learning specific) on how to create custom pol
*[Working with security policies with Microsoft Defender for Cloud](/azure/security-center/tutorial-security-policy)
269
-
* The [Cloud Adoption Framework scenario for data management and analytics](/azure/cloud-adoption-framework/scenarios/data-management/) outlines considerations in running data and analytics workloads in the cloud
270
-
*[Learn how to use policy to integrate Azure Private Link with Azure Private DNS zones](/azure/cloud-adoption-framework/ready/azure-best-practices/private-link-and-dns-integration-at-scale)
269
+
* The [Cloud Adoption Framework scenario for data management and analytics](/azure/cloud-adoption-framework/scenarios/data-management/) outlines considerations for running data and analytics workloads in the cloud.
270
+
*[Use policy to integrate Azure Private Link with Azure Private DNS zones](/azure/cloud-adoption-framework/ready/azure-best-practices/private-link-and-dns-integration-at-scale)
0 commit comments