Skip to content

Commit f889de8

Browse files
Merge pull request #271052 from Blackmist/227238-abac
ABAC info
2 parents 1623fa7 + d0828aa commit f889de8

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

articles/ai-studio/concepts/architecture.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Learn about the architecture of Azure AI Studio.
55
manager: scottpolly
66
ms.service: azure-ai-studio
77
ms.topic: conceptual
8-
ms.date: 02/06/2024
8+
ms.date: 04/03/2024
99
ms.reviewer: deeikele
1010
ms.author: larryfr
1111
author: Blackmist
@@ -67,15 +67,32 @@ For information on registering resource providers, see [Register an Azure resour
6767

6868
## Role-based access control and control plane proxy
6969

70-
Azure AI Services and Azure OpenAI provide control plane endpoints for operations such as listing model deployments. These endpoints are secured using a separate Azure role-based access control (RBAC) configuration than the one used for Azure AI hub.
70+
Azure AI Services and Azure OpenAI provide control plane endpoints for operations such as listing model deployments. These endpoints are secured using a separate Azure role-based access control (Azure RBAC) configuration than the one used for Azure AI hub.
7171

7272
To reduce the complexity of Azure RBAC management, AI Studio provides a *control plane proxy* that allows you to perform operations on connected Azure AI Services and Azure OpenAI resources. Performing operations on these resources through the control plane proxy only requires Azure RBAC permissions on the AI hub. The Azure AI Studio service then performs the call to the Azure AI Services or Azure OpenAI control plane endpoint on your behalf.
7373

7474
For more information, see [Role-based access control in Azure AI Studio](rbac-ai-studio.md).
7575

76+
## Attribute-based access control
77+
78+
Each AI hub you create has a default storage account. Each child AI project of the AI hub inherits the storage account of the AI hub. The storage account is used to store data and artifacts.
79+
80+
To secure the shared storage account, Azure AI Studio uses both Azure RBAC and Azure attribute-based access control (Azure ABAC). Azure ABAC is a security model that defines access control based on attributes associated with the user, resource, and environment. Each AI project has:
81+
82+
- A service principal that is assigned the Storage Blob Data Contributor role on the storage account.
83+
- A unique ID (workspace ID).
84+
- A set of containers in the storage account. Each container has a prefix that corresponds to the workspace ID value for the AI project.
85+
86+
The role assignment for each AI project's service principal has a condition that only allows the service principal access to containers with the matching prefix value. This condition ensures that each AI project can only access its own containers.
87+
88+
> [!NOTE]
89+
> For data encryption in the storage account, the scope is the entire storage and not per-container. So all containers are encrypted using the same key (provided either by Microsoft or by the customer).
90+
91+
For more information on Azure access-based control, see [What is Azure attribute-based access control](/azure/role-based-access-control/conditions-overview).
92+
7693
## Encryption
7794

78-
Azure AI Studio uses encryption to protect data at rest and in transit. By default, Microsoft-managed keys are used for encryption, however you can use your own encryption keys. For more information, see [Customer-managed keys](../../ai-services/encryption/cognitive-services-encryption-keys-portal.md?context=/azure/ai-studio/context/context).
95+
Azure AI Studio uses encryption to protect data at rest and in transit. By default, Microsoft-managed keys are used for encryption. However you can use your own encryption keys. For more information, see [Customer-managed keys](../../ai-services/encryption/cognitive-services-encryption-keys-portal.md?context=/azure/ai-studio/context/context).
7996

8097
## Virtual network
8198

0 commit comments

Comments
 (0)