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/machine-learning/concept-endpoints-online-auth.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,17 @@
1
1
---
2
2
title: Authentication and authorization for online endpoints
3
3
titleSuffix: Azure Machine Learning
4
-
description: Learn how authenticationand authorization work for Azure Machine Learning online endpoints.
4
+
description: Learn how authentication, authorization, and Azure role-based access control (RBAC) work for Azure Machine Learning online endpoints.
5
5
services: machine-learning
6
6
ms.service: azure-machine-learning
7
7
ms.subservice: inferencing
8
-
ms.topic: conceptual
8
+
ms.topic: concept-article
9
9
author: msakande
10
10
ms.author: mopeakande
11
11
ms.reviewer: sehan
12
-
ms.custom: devplatv2
12
+
ms.custom: devplatv2, FY25Q1-Linter
13
13
ms.date: 09/30/2024
14
+
#Customer intent: As a data scientist, I want to learn how authentication and authorization work for Azure Machine Learning online endpoints so I can create and deploy online endpoints.
14
15
---
15
16
16
17
# Authentication and authorization for online endpoints
@@ -30,11 +31,11 @@ The user identity and endpoint identity have separate permission requirements. F
30
31
31
32
## Permissions and scope for authorization
32
33
33
-
[Azure role-based access control (Azure RBAC)](/azure/role-based-access-control/overview) allows you to define and assign **roles** with a set of allowed and/or denied **actions** on specific **scopes**. You can customize these roles and scopes according to your business needs. The following examples serve as a starting point that you can extend as necessary.
34
+
[Azure role-based access control (RBAC)](/azure/role-based-access-control/overview) allows you to define and assign **roles** with a set of allowed and/or denied **actions** on specific **scopes**. You can customize these roles and scopes according to your business needs. The following examples serve as a starting point that you can extend as necessary.
34
35
35
36
For user identity:
36
37
37
-
- To control control plane and data plane operations, you can use the built-in role **AzureML Data Scientist** that includes the permission action `Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actions`.
38
+
- To manage control plane and data plane operations, you can use the built-in role **AzureML Data Scientist** that includes the permission action `Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actions`.
38
39
- To control the operations for a specific endpoint, use the scope `/subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>`.
39
40
- To control the operations for all endpoints in a workspace, use the scope `/subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>`.
40
41
@@ -73,15 +74,15 @@ For control plane operations, your user identity needs to have the proper Azure
73
74
74
75
#### Permissions for user identity to enforce access to default secret stores
75
76
76
-
If you use the [secret injection](concept-secret-injection.md) feature and you set the flag to enforce access to the default secret stores while creating your endpoints, your user identity must have permission to read secrets from workspace connections.
77
+
If you use the [secret injection](concept-secret-injection.md) feature, and you set the flag to enforce access to the default secret stores while creating endpoints, your user identity must have permission to read secrets from workspace connections.
77
78
78
-
An endpoint identity can be either a system-assigned identity (SAI) or a user-assigned identity (UAI). When the endpoint is created with a SAI and the flag to enforce access to the default secret stores is set, a user identity must have permissions to read secrets from workspace connections when creating an endpoint and creating deployments under the endpoint. This restriction ensures that only a user identity with the permission to read secrets can grant the endpoint identity the permission to read secrets.
79
+
An endpoint identity can be either a system-assigned identity (SAI) or a user-assigned identity (UAI). When the endpoint is created with a SAI and the flag to enforce access to the default secret stores is set, a user identity must have permissions to read secrets from workspace connections when creating an endpoint and deployments. This restriction ensures that only a user identity with the permission to read secrets can grant the endpoint identity the permission to read secrets.
79
80
80
-
If a user identity that doesn't have permission to read secrets from workspace connections tries to create an endpoint or a deployment with a SAI, and the endpoint's flag is set to enforce access to the default secret stores, the endpoint or deployment creation is rejected.
81
+
If a user identity that doesn't have permission to read secrets from workspace connections tries to create an endpoint or a deployment with a SAI, and the endpoint's flag is set to enforce access to the default secret stores, the endpoint, or deployment creation is rejected.
81
82
82
-
If the endpoint is created with a UAI, or the endpoint uses a SAI but the the flag to enforce access to the default secret stores isn't set, the user identity doesn't need to be able to read secrets from workspace connections to create an endpoint or deployment. In this case, the endpoint identity isn't automatically granted the permission to read secrets, but can be manually granted this permission by assigning the proper role.
83
+
If the endpoint is created with a UAI, or the endpoint uses a SAI but the flag to enforce access to the default secret stores isn't set, the user identity doesn't need to be able to read secrets from workspace connections to create an endpoint or deployment. In this case, the endpoint identity isn't automatically granted the permission to read secrets, but can be manually granted this permission by assigning the proper role.
83
84
84
-
Regardless of whether the role assignment is automatic or manual, the secret retrieval and injection is triggered if you mapped the environment variables with secret references in the endpoint or deployment definition. The secret injection feature uses the endpoint identity to do the secret retrieval and injection. For more information on secret injection, see [Secret injection in online endpoints](concept-secret-injection.md).
85
+
Regardless of whether the role assignment is automatic or manual, the secret retrieval, and injection is triggered if you mapped the environment variables with secret references in the endpoint or deployment definition. The secret injection feature uses the endpoint identity to do the secret retrieval and injection. For more information on secret injection, see [Secret injection in online endpoints](concept-secret-injection.md).
85
86
86
87
### Data plane operations
87
88
@@ -118,20 +119,19 @@ An online deployment runs your user container with the endpoint identity, that i
118
119
119
120
If the endpoint identity is a SAI, the following roles are assigned to the endpoint identity for convenience.
120
121
121
-
Role | Description | Condition for automatic role assignment
122
-
-- | -- | --
123
-
**AcrPull** | Allows the endpoint identity to pull images from the Azure container registry associated with the workspace | The endpoint identity is a SAI.
124
-
**Storage Blob Data Reader** | Allows the endpoint identity to read blobs from the default datastore of the workspace | The endpoint identity is a SAI.
125
-
**AzureML Metrics Writer (preview)** | Allows the endpoint identity to write metrics to the workspace | The endpoint identity is a SAI.
126
-
**Azure Machine Learning Workspace Connection Secrets Reader** | Allows the endpoint identity to read secrets from workspace connections | The endpoint identity is a SAI and the endpoint creation has a flag to enforce access to the default secret stores. The user identity that creates the endpoint also has permission to read secrets from workspace connections.
122
+
|Role | Description | Condition for automatic role assignment|
123
+
|-- | -- | --|
124
+
| **AcrPull** | Allows the endpoint identity to pull images from the Azure container registry associated with the workspace | The endpoint identity is a SAI.
125
+
| **Storage Blob Data Reader** | Allows the endpoint identity to read blobs from the default datastore of the workspace | The endpoint identity is a SAI.
126
+
| **AzureML Metrics Writer (preview)** | Allows the endpoint identity to write metrics to the workspace | The endpoint identity is a SAI.
127
+
| **Azure Machine Learning Workspace Connection Secrets Reader** | Allows the endpoint identity to read secrets from workspace connections | The endpoint identity is a SAI and the endpoint creation has a flag to enforce access to the default secret stores. The user identity that creates the endpoint also has permission to read secrets from workspace connections.
127
128
128
129
- If the endpoint identity is a SAI, and the enforce flag isn't set or the user identity doesn't have permission to read secrets, there's no automatic role assignment for the **Azure Machine Learning Workspace Connection Secrets Reader** role. For more information, see [How to deploy online endpoint with secret injection](how-to-deploy-online-endpoint-with-secret-injection.md#create-an-endpoint).
129
130
- If the endpoint identity is a UAI, there's no automatic role assignment for the **Azure Machine Learning Workspace Connection Secrets Reader** role. In this case, you need to manually assign roles to the endpoint identity as needed.
130
131
131
132
For more information on the **Azure Machine Learning Workspace Connection Secrets Reader** role, see [Assign permissions to the identity]
0 commit comments