Skip to content

Commit 7044e86

Browse files
committed
freshness entra id configuration
1 parent 7e1112c commit 7044e86

File tree

5 files changed

+67
-65
lines changed

5 files changed

+67
-65
lines changed

articles/ai-foundry/foundry-models/how-to/configure-entra-id.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Configure key-less authentication with Microsoft Entra ID
33
titleSuffix: Azure AI Foundry
4-
description: Learn how to configure key-less authorization to use Azure AI Foundry Models with Microsoft Entra ID.
4+
description: Learn how to configure key-less authorization to use Azure AI Foundry Models with Microsoft Entra ID and enhance security.
55
ms.service: azure-ai-foundry
66
ms.subservice: azure-ai-foundry-model-inference
77
ms.topic: how-to
@@ -13,6 +13,9 @@ recommendations: false
1313
zone_pivot_groups: azure-ai-models-deployment
1414
ms.reviewer: fasantia
1515
reviewer: santiagxf
16+
ai-usage: ai-assisted
17+
18+
#CustomerIntent: As a developer, I want to configure keyless authentication with Microsoft Entra ID for Azure AI Foundry Models so that I can secure my AI model deployments without relying on API keys and leverage role-based access control for better security and compliance.
1619
---
1720

1821
# Configure key-less authentication with Microsoft Entra ID
@@ -29,6 +32,6 @@ reviewer: santiagxf
2932
[!INCLUDE [bicep](../../foundry-models/includes/configure-entra-id/bicep.md)]
3033
::: zone-end
3134

32-
## Next steps
35+
## Next step
3336

3437
* [Develop applications using Azure AI Foundry Models](../../model-inference/supported-languages.md)

articles/ai-foundry/foundry-models/includes/configure-entra-id/bicep.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ author: santiagxf
44
ms.author: fasantia
55
ms.service: azure-ai-foundry
66
ms.subservice: azure-ai-foundry-model-inference
7-
ms.date: 12/15/2024
7+
ms.date: 08/29/2025
88
ms.topic: include
99
zone_pivot_groups: azure-ai-models-deployment
1010
---
@@ -33,13 +33,13 @@ cd azureai-model-inference-bicep/infra
3333

3434
## Understand the resources
3535

36-
The tutorial helps you create:
36+
In this tutorial, you create the following resources:
3737

38-
> [!div class="checklist"]
39-
> * An Azure AI Foundry (formerly known Azure AI Services) resource with key access disabled. For simplicity, this template doesn't deploy models.
40-
> * A role-assignment for a given security principal with the role **Cognitive Services User**.
4138

42-
You are using the following assets to create those resources:
39+
* An Azure AI Foundry (formerly known Azure AI Services) resource with key access disabled. For simplicity, this template doesn't deploy models.
40+
* A role-assignment for a given security principal with the role **Cognitive Services User**.
41+
42+
To create these resources, use the following assets:
4343

4444
1. Use the template `modules/ai-services-template.bicep` to describe your Azure AI Foundry (formerly known Azure AI Services) resource:
4545

@@ -48,9 +48,9 @@ You are using the following assets to create those resources:
4848
:::code language="bicep" source="~/azureai-model-inference-bicep/infra/modules/ai-services-template.bicep":::
4949

5050
> [!TIP]
51-
> Notice that this template can take the parameter `allowKeys` which, when `false` will disable the use of keys in the resource. This configuration is optional.
51+
> This template accepts the `allowKeys` parameter. Set it to `false` to disable key access in the resource. This configuration is optional.
5252
53-
2. Use the template `modules/role-assignment-template.bicep` to describe a role assignment in Azure:
53+
1. Use the template `modules/role-assignment-template.bicep` to describe a role assignment in Azure:
5454

5555
__modules/role-assignment-template.bicep__
5656

@@ -66,36 +66,36 @@ In your console, follow these steps:
6666

6767
:::code language="bicep" source="~/azureai-model-inference-bicep/infra/deploy-entra-id.bicep":::
6868

69-
2. Log into Azure:
69+
1. Sign in to Azure:
7070

7171
```azurecli
7272
az login
7373
```
7474
75-
3. Ensure you are in the right subscription:
75+
1. Make sure you're in the right subscription:
7676
7777
```azurecli
7878
az account set --subscription "<subscription-id>"
7979
```
8080
81-
4. Run the deployment:
81+
1. Run the deployment:
8282
8383
```azurecli
8484
RESOURCE_GROUP="<resource-group-name>"
8585
SECURITY_PRINCIPAL_ID="<your-security-principal-id>"
8686
8787
az deployment group create \
8888
--resource-group $RESOURCE_GROUP \
89-
--securityPrincipalId $SECURITY_PRINCIPAL_ID
89+
--parameters securityPrincipalId=$SECURITY_PRINCIPAL_ID \
9090
--template-file deploy-entra-id.bicep
9191
```
9292
93-
7. The template outputs the Azure AI Foundry Models endpoint that you can use to consume any of the model deployments you have created.
93+
1. The template outputs the Azure AI Foundry Models endpoint that you can use to consume any of the model deployments you created.
9494
9595
9696
## Use Microsoft Entra ID in your code
9797
98-
Once you configured Microsoft Entra ID in your resource, you need to update your code to use it when consuming the inference endpoint. The following example shows how to use a chat completions model:
98+
After you configure Microsoft Entra ID in your resource, update your code to use it when consuming the inference endpoint. The following example shows how to use a chat completions model:
9999
100100
[!INCLUDE [code](../code-create-chat-client-entra.md)]
101101
@@ -107,7 +107,7 @@ Once you configured Microsoft Entra ID in your resource, you need to update your
107107
108108
## Disable key-based authentication in the resource
109109
110-
Disabling key-based authentication is advisable when you implemented Microsoft Entra ID and fully addressed compatibility or fallback concerns in all the applications that consume the service. You can achieve it by changing the property `disableLocalAuth`:
110+
We advise that you disable key-based authentication when you implement Microsoft Entra ID and fully address compatibility or fallback concerns in all the applications that consume the service. Change the `disableLocalAuth` property to disable key-based authentication:
111111
112112
__modules/ai-services-template.bicep__
113113

articles/ai-foundry/foundry-models/includes/configure-entra-id/cli.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ author: santiagxf
44
ms.author: fasantia
55
ms.service: azure-ai-foundry
66
ms.subservice: azure-ai-foundry-model-inference
7-
ms.date: 12/15/2024
7+
ms.date: 08/29/2025
88
ms.topic: include
99
zone_pivot_groups: azure-ai-models-deployment
1010
---
@@ -19,74 +19,74 @@ zone_pivot_groups: azure-ai-models-deployment
1919

2020
* Your Azure AI Foundry (formerly known Azure AI Services) resource name.
2121

22-
* The resource group where the Azure AI Foundry (formerly known Azure AI Services) resource is deployed.
22+
* The resource group where you deployed the Azure AI Foundry resource (formerly known Azure AI Services resource).
2323

2424

2525
## Configure Microsoft Entra ID for inference
2626

2727
Follow these steps to configure Microsoft Entra ID for inference:
2828

2929

30-
1. Log in into your Azure subscription:
30+
1. Sign in to your Azure subscription:
3131

3232
```azurecli
3333
az login
3434
```
3535
36-
2. If you have more than one subscription, select the subscription where your resource is located:
36+
1. If you have more than one subscription, select the subscription where your resource is located:
3737
3838
```azurecli
3939
az account set --subscription "<subscription-id>"
4040
```
4141
42-
3. Set the following environment variables with the name of the Azure AI Foundry (formerly known Azure AI Services) resource you plan to use and resource group.
42+
1. Set the following environment variables with the name of the Azure AI Foundry (formerly known Azure AI Services) resource you plan to use and resource group.
4343
4444
```azurecli
4545
ACCOUNT_NAME="<ai-services-resource-name>"
4646
RESOURCE_GROUP="<resource-group>"
4747
```
4848
49-
4. Get the full name of your resource:
49+
1. Get the full name of your resource:
5050
5151
```azurecli
52-
RESOURCE_ID=$(az resource show -g $RESOURCE_GROUP -n $ACCOUNT_NAME --resource-type "Microsoft.CognitiveServices/accounts")
52+
RESOURCE_ID=$(az resource show -g $RESOURCE_GROUP -n $ACCOUNT_NAME --resource-type "Microsoft.CognitiveServices/accounts" --query id --output tsv)
5353
```
5454
55-
5. Get the object ID of the security principal you want to assign permissions to. The following example shows how to get the object ID associated with:
55+
1. Get the object ID of the security principal you want to assign permissions to. The following example shows how to get the object ID associated with:
5656
57-
__Your own logged in account:__
57+
**Your own signed in account:**
5858
5959
```azurecli
6060
OBJECT_ID=$(az ad signed-in-user show --query id --output tsv)
6161
```
6262
63-
__A security group:__
63+
**A security group:**
6464
6565
```azurecli
6666
OBJECT_ID=$(az ad group show --group "<group-name>" --query id --output tsv)
6767
```
6868
69-
__A service principal:__
69+
**A service principal:**
7070
7171
```azurecli
7272
OBJECT_ID=$(az ad sp show --id "<service-principal-guid>" --query id --output tsv)
7373
```
7474
75-
6. Assign the **Cognitive Services User** role to the service principal (scoped to the resource). By assigning a role, you're granting service principal access to this resource.
75+
1. Assign the **Cognitive Services User** role to the service principal (scoped to the resource). By assigning a role, you grant the service principal access to this resource.
7676
7777
```azurecli
7878
az role assignment create --assignee-object-id $OBJECT_ID --role "Cognitive Services User" --scope $RESOURCE_ID
7979
```
8080
81-
8. The selected user can now use Microsoft Entra ID for inference.
81+
1. The selected user can now use Microsoft Entra ID for inference.
8282
8383
> [!TIP]
84-
> Keep in mind that Azure role assignments may take up to five minutes to propagate. Adding or removing users from a security group propagates immediately.
84+
> Keep in mind that Azure role assignments can take up to five minutes to propagate. Adding or removing users from a security group propagates immediately.
8585
8686
8787
## Use Microsoft Entra ID in your code
8888
89-
Once Microsoft Entra ID is configured in your resource, you need to update your code to use it when consuming the inference endpoint. The following example shows how to use a chat completions model:
89+
After you configure Microsoft Entra ID in your resource, update your code to use it when consuming the inference endpoint. The following example shows how to use a chat completions model:
9090
9191
[!INCLUDE [code](../code-create-chat-client-entra.md)]
9292

articles/ai-foundry/foundry-models/includes/configure-entra-id/intro.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ author: santiagxf
44
ms.author: fasantia
55
ms.service: azure-ai-foundry
66
ms.subservice: azure-ai-foundry-model-inference
7-
ms.date: 01/23/2025
7+
ms.date: 08/29/2025
88
ms.topic: include
99
---
1010

11-
Azure AI Foundry Models support key-less authorization using Microsoft Entra ID. Key-less authorization enhances security, simplifies the user experience, reduces operational complexity, and provides robust compliance support for modern development. It makes it a strong choice for organizations adopting secure and scalable identity management solutions.
11+
Azure AI Foundry Models support keyless authorization with Microsoft Entra ID. Keyless authorization enhances security, simplifies the user experience, reduces operational complexity, and provides robust compliance support for modern development. Keyless authorization is a strong choice for organizations adopting secure and scalable identity management solutions.
1212

1313
This article explains how to configure Microsoft Entra ID for inference in Azure AI Foundry Models.
1414

1515
## Understand roles in the context of resource in Azure
1616

17-
Microsoft Entra ID uses the idea of Role-based Access Control (RBAC) for authorization. Roles are central to managing access to your cloud resources. A role is essentially a collection of permissions that define what actions can be performed on specific Azure resources. By assigning roles to users, groups, service principals, or managed identities—collectively known as security principals—you control their access within your Azure environment to specific resources.
17+
Microsoft Entra ID uses the idea of role-based access control (RBAC) for authorization. Roles are central to managing access to your cloud resources. A role is essentially a collection of permissions that define what actions can be performed on specific Azure resources. By assigning roles to users, groups, service principals, or managed identities—collectively known as security principals—you control their access within your Azure environment to specific resources.
1818

1919
When you assign a role, you specify the security principal, the role definition, and the scope. This combination is known as a role assignment. Azure AI Foundry Models is a capability of the Azure AI Services resources, and hence, roles assigned to that particular resource control the access for inference.
2020

@@ -27,9 +27,8 @@ You identify two different types of access to the resources:
2727
In Azure, administration operations are always performed using Microsoft Entra ID. Roles like **Cognitive Services Contributor** allow you to perform those operations. On the other hand, developer operations can be performed using either access keys or/and Microsoft Entra ID. Roles like **Cognitive Services User** allow you to perform those operations.
2828

2929
> [!IMPORTANT]
30-
> Having administration access to a resource doesn't necessarily grants developer access to it. Explicit access by granting roles is still required. It's analogous to how database servers work. Having administrator access to the database server doesn't mean you can read the data inside of a database.
30+
> Having administration access to a resource doesn't necessarily grant developer access to it. Explicit access by granting roles is still required. It's analogous to how database servers work. Having administrator access to the database server doesn't mean you can read the data inside of a database.
3131
32-
Follow these steps to configure developer access to Azure AI Foundry Models for inference.
3332

3433
## Prerequisites
3534

@@ -41,11 +40,11 @@ To complete this article, you need:
4140

4241
* To assign a role, you must specify three elements:
4342

44-
* Security principal: e.g. your user account.
43+
* Security principal: your user account.
4544
* Role definition: the *Cognitive Services User* role.
4645
* Scope: the Azure AI Services resource.
4746

48-
* If you want to create a custom role definition instead of using *Cognitive Services User* role, ensure the role has the following permissions:
47+
* If you want to create a custom role definition instead of using the *Cognitive Services User* role, ensure the role has the following permissions:
4948

5049
```json
5150
{

0 commit comments

Comments
 (0)