在本文中,您將學習 Microsoft Foundry 的核心角色為基礎的存取控制(RBAC)概念,包括範圍、內建角色及常見的企業指派模式。
小提示
RBAC 角色適用於使用 Microsoft Entra ID 進行認證。 如果你改用基於金鑰的認證,金鑰會授予完全的 access 權限,且沒有角色限制。 Microsoft 建議使用 Entra ID 認證來提高安全性並提供細緻的存取控制。
欲了解更多關於 Microsoft Foundry 認證與授權的資訊,請參閱 「認證與授權」。
開始所需的最低角色分配
對於新手使用 Azure 和 Microsoft Foundry 的使用者,請先從這些最低指派開始,這樣你的使用者主體和 project 管理身份都能 access Foundry 的功能。
你可以透過使用 檢查使用者對單一 Azure 資源的存取權 來驗證目前的分配。
- 將 Foundry 資源上的 Azure AI User 角色指派給你的 user principal。
- 將 Foundry 資源上的 Azure AI User 角色指派給你的 project 的管理身份 。
若建立project的使用者能指派角色(例如,將 Azure Owner 角色設於訂閱或資源群組範圍),兩個角色都會自動加入。
若要手動分配這些角色,請使用以下快速步驟。
為你的使用者主體指派一個角色
在 Azure 入口網站中,打開你的 Foundry 資源,然後前往 存取控制(IAM)。 建立 Azure AI 使用者 的角色分配,將 成員設為 使用者、群組或服務主體,選擇您的使用者主體,然後選擇 檢閱並指派。
為你的專案的受管身份指派一個角色
在 Azure 入口網站中,打開你的 Foundry 專案,前往存取控制(IAM)。 建立 Azure AI User 的角色指派,將 Members 設為 Managed identity,選擇你project的管理身份,然後選擇 Review + assign。
在 Foundry 中的基於角色的存取控制術語
要了解 Microsoft Foundry 中基於角色的存取控制(access control),請考慮兩個針對企業的問題。
- 我希望我的團隊在 Microsoft Foundry 中建置時擁有哪些權限?
- 我應該在什麼範圍內為我的團隊指派權限?
為了幫助回答這些問題,以下是本文中使用的一些術語描述。
- 權限:允許或拒絕身份者對資源執行的動作,例如讀取、寫入、刪除或管理控制平面與資料平面操作。
- Scope:角色指派所適用的Azure資源集合。 典型範圍包括訂閱、資源群組、Foundry 資源或 Foundry project。
- Role:一組命名的權限集合,定義在特定範圍內可對Azure資源執行哪些動作。
根據您的企業需求,一個身份可在選定的特定範圍內獲得具有特定權限的角色。
在 Microsoft Foundry 中,完成角色指派時可考慮兩個範疇。
- Foundry 資源:定義 Microsoft Foundry 環境管理、安全與監控邊界的頂層範疇。
- Foundry project:Foundry 資源中的子範疇,用於組織工作並強制執行 Foundry API、工具及開發者工作流程的存取控制。
內建角色
Foundry 中的 內建角色是由 Microsoft 建立的,涵蓋常見的 access 情境,您可以指派給團隊成員。 Azure 中主要使用的內建角色包括擁有者、貢獻者與讀者。 這些角色並不專屬於 Foundry 的資源權限。
對於 Foundry 資源,請使用其他內建的角色來遵循最小權限的存取原則。 下表列出了 Foundry 的關鍵內建角色,並連結到AI + Machine Learning內建角色 中的精確角色定義。
| Role | Description |
|---|---|
| Azure AI 使用者 | 授予讀取者對 Foundry 專案、資源和資料操作的存取權限。 如果您可以指派角色,則會自動將此角色指派給您。 否則,您的訂用帳戶擁有者或具有角色指派權限的使用者會授與它。 Foundry 中的最低特權存取角色。 |
| Azure AI Project Manager | 讓你能對 Foundry 專案執行管理操作,與專案一起建置與開發,並有條件地將 Azure AI 使用者角色分配給其他使用者主體。 |
| Azure AI 帳號擁有者 | 授權你完全管理專案和資源的 access,並允許你有條件地將 Azure AI 使用者角色指派給其他使用者主體。 |
| Azure AI 擁有者 | 授予對受管理專案和資源的完全存取權,並與專案一起建設和開發。 為數位原生族群設計的高權限自助式角色。 |
每個內建角色的權限
請使用以下表格與示意圖,查看 Foundry 中每個內建角色所允許的權限,包括 Azure 內建的關鍵角色。
| 內建角色 | 建立 Foundry 專案 | 建立 Foundry 帳戶 | 在專案中建構與開發(資料操作) | 完成角色指派 | 讀者存取專案與帳戶 | 管理模型 |
|---|---|---|---|---|---|---|
| Azure AI 使用者 | ✔ | ✔ | ||||
| Azure AI Project Manager | ✔ | ✔ | ✔(僅指派 Azure AI User 角色) | ✔ | ||
| Azure AI 帳號擁有者 | ✔ | ✔ | ✔ (僅指派 Azure AI 使用者角色) | ✔ | ✔ | |
| Azure AI 擁有者 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| Owner | ✔ | ✔ | ✔ (將任何角色指派給任何使用者) | ✔ | ✔ | |
| Contributor | ✔ | ✔ | ✔ | ✔ | ||
| Reader | ✔ |
關於 Azure 和 Foundry 中內建角色的更多資訊,請參見 Azure 內建角色。 欲進一步了解 Azure AI 帳戶擁有者及 Azure AI 專案經理角色中使用的條件委派,請參閱 將 Azure 角色分配管理委派給他人並附加條件。
專案的樣本企業 RBAC 對應
以下是如何為企業 Foundry 資源應用角色型別存取控制(RBAC)的範例。
| 角色 | 角色與範圍 | 目標 |
|---|---|---|
| IT 系統管理員 | 訂閱範圍管理者 | IT 管理員確保 Foundry 資源符合企業標準。 指派經理在資源上的 Azure AI 帳戶擁有者 角色,讓他們能建立新的 Foundry 帳戶。 指派經理在資源上擔任 Azure AI Project Manager 角色,讓他們能在帳戶內建立專案。 |
| Managers | Azure AI 帳戶擁有者在 Foundry 資源範圍 | 管理者管理 Foundry 資源、部署模型、稽核運算資源、稽核連線,並建立共享連線。 他們無法在專案中建置,但可以指派Azure AI User 角色給自己和他人開始建構。 |
| 團隊負責人或首席開發人員 | Azure AI 專案經理在 Foundry 資源範圍內 | 首席開發人員會為他們的團隊建立專案並開始在那些專案中進行建置。 建立project後,project擁有者會邀請其他成員並分配 Azure AI 使用者 角色。 |
| 團隊成員或開發人員 | Azure AI 使用者在 Foundry project 範圍,Reader 在 Foundry 資源範圍 | 開發者在專案中利用預先部署的Foundry模型和預建的連線來建立代理。 |
管理角色指派
要管理 Foundry 的角色,你必須有權限在 Azure 中指派和移除角色。 Azure內建的 Owner 角色包含了這個權限。 你可以透過 Foundry 入口(管理頁面)、Azure portal IAM 或 Azure CLI 來指派角色。 你可以使用 Azure portal IAM 或 Azure CLI 來移除角色。
在 Foundry 入口網站中,透過以下方式管理權限:
- 在 Foundry 開啟 Admin 頁面,然後選擇 Operate>Admin。
- 選擇你的 project 名稱。
- 選擇新增使用者來管理專案存取權。 此動作僅在您擁有角色指派權限時可用。
- 相同的流程應用於 Foundry 資源層級的存取。
你可以在Azure portal中的存取控制 (IAM)下管理權限,或在使用 Azure CLI。
例如,以下指令將 Azure AI 使用者角色分配給 joe@contoso.com,用於訂閱 00000000-0000-0000-0000-000000000000 中的資源群組 this-rg:
az role assignment create --role "Azure AI User" --assignee "joe@contoso.com" --scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/this-rg
為專案建立自訂角色
如果內建角色不符合企業需求,請建立一個自訂角色,讓玩家能精確控制允許的動作與範圍。 這裡有一個訂閱層級自訂角色定義的範例:
{
"properties": {
"roleName": "My Enterprise Foundry User",
"description": "Custom role for Foundry at my enterprise to only allow building Agents. Assign at subscription level.",
"assignableScopes": ["/subscriptions/<your-subscription-id>"],
"permissions": [ {
"actions": ["Microsoft.CognitiveServices/*/read", "Microsoft.Authorization/*/read", "Microsoft.CognitiveServices/accounts/listkeys/action","Microsoft.Resources/deployments/*"],
"notActions": [],
"dataActions": ["Microsoft.CognitiveServices/accounts/AIServices/agents/*"],
"notDataActions": []
} ]
}
}
欲了解更多關於建立自訂角色的資訊,請參閱以下文章。
- Azure portal
- Azure CLI
- Azure PowerShell
- 停用具有基於角色存取的預覽功能。 本文提供更多關於 Foundry 中控制層與資料層面特定權限的細節,這些權限在建立自訂角色時可利用。
注意事項和限制
- 若要檢視並清除已刪除的 Foundry 帳戶,您必須在訂用帳戶層級被指派參與者角色。
- 擁有貢獻者角色的使用者可以在 Foundry 中部署模型。
- 您必須在資源的範圍內具備擁有者角色,才能在該資源中建立自訂角色。
- 如果您在 Azure 中有權限指派角色(例如在帳戶範圍內的擁有者角色)給您的使用者主體,且您從 Azure portal 或 Foundry 入口網站 UI 部署 Foundry 資源,那麼 Azure AI 使用者角色將自動地被分配給您的使用者主體。 此任務不適用於從 SDK 或 CLI 部署 Foundry 時。
- 當你建立 Foundry 資源時,內建的角色基礎的存取控制(RBAC)權限會允許你存取該資源。 要使用在 Foundry 之外建立的資源,請確保該資源擁有允許你access的權限。 這裡有一些範例:
- 若要使用新的 Azure Blob Storage 帳戶,請將 Foundry 帳戶資源的受控身分識別加入該儲存帳戶的 Storage Blob Data Reader 角色。
- 若要使用新的 Azure AI Search 來源,請將 Foundry 加入 Azure AI Search 角色分配。
- 要在 Foundry 中微調模型,你需要資料平面和控制平面權限。 部署微調模型是控制平面的權限。 因此,唯一內建同時擁有資料平面與控制平面權限的角色是 Azure AI 擁有者角色。 或者,如果你願意,也可以將 Azure AI User 角色用於資料平面權限,Azure AI Account Owner 角色用於控制平面權限。
相關內容
附錄
存取隔離範例
每個組織可能根據企業中的使用者角色,對訪問隔離的需求有所不同。 Access 隔離指的是企業中哪些使用者被分配到哪些角色,無論是利用內建角色分開權限,還是統一且高度寬鬆的角色。 Foundry 有三種 access 隔離選項,您可以根據您的組織選擇 access isolation 需求。
沒有存取隔離。 這表示在你的企業中,開發者、project 經理或管理員之間沒有權限分開的要求。這些角色的權限可以跨團隊分配。
所以,你應該......
- 授權企業中所有使用者在資源範圍內擔任 Azure AI 擁有者角色
部分訪問隔離。 這表示企業中的 project 經理應該能夠在專案內發展並創造專案。 但管理員不應該能在 Foundry 內開發,只能建立 Foundry 專案和帳號。
所以,你應該......
- 授予你的管理員在資源範圍上具有Azure AI Account Owner的權限
- 授權你的開發者和project經理擁有 Azure AI Project Manager 的角色
完全存取隔離。 這表示你的管理員、project 經理和開發人員在企業內不同職能上都有明確的權限,且不會重疊。
因此,你應該...
- 授予你的管理員在資源範疇內的 Azure AI 帳戶擁有者 角色
- 請授權開發者擔任 Foundry 資源範圍的 Reader 職位,以及專案範圍的 Azure AI 使用者
- 請在資源範圍內授予您的專案經理Azure AI Project Manager角色。
使用 Microsoft Entra 群組搭配 Foundry
Microsoft Entra ID 提供多種方法來管理資源、應用程式和任務的存取。 透過使用 Microsoft Entra 群組,你可以將 access 和權限授予一組使用者,而非每個個別使用者。 企業 IT 管理員可以在 Azure portal 建立 Microsoft Entra 群組,以簡化開發者的角色分配流程。 當您建立 Microsoft Entra 群組時,您可以透過在必要資源上指派所需角色,來將新開發人員在 Foundry 專案中所需的角色指派數目降到最低。
請完成以下步驟以使用 Foundry 的 Microsoft Entra ID 群組:
- 在Azure portalGroups建立一個Security群組。
- 新增一位擁有者和組織中需要共享access的使用者負責人。
- 打開目標資源,進入 Access control (IAM)。
- 將所需角色指派給 使用者、群組或服務主體,並選擇新的安全群組。
- 選擇 檢閱 + 指派,將角色分配至所有成員。
常見範例:
- 若要建立代理、執行追蹤並使用核心 Foundry 功能,請將 Azure AI User 指派給 Microsoft Entra 群組。
- 要使用追蹤與監控功能,請將連接的 Application Insights 資源中的 讀取 器指派給同一群組。
欲了解更多關於 Microsoft Entra ID 群組、前置條件及限制,請參閱: