Share via


針對應用程式使用角色型訪問控制

角色型存取控制 (RBAC) 是一個熱門的機制,可在應用程式中強制授權。 當組織使用 RBAC 時,應用程式開發人員會定義應用程式的角色。 系統管理員接著可以將角色指派給不同的使用者和群組,以控制誰可以存取應用程式中的內容和功能。

應用程式通常會以安全性令牌中的宣告的形式接收使用者角色資訊。 開發人員有彈性地提供自己的實作,以瞭解如何將角色宣告解譯為應用程式許可權。 此許可權解譯可能牽涉到使用應用程式平臺或相關連結庫平臺所提供的中間件或其他選項。

應用程式角色

Microsoft Entra 外部 ID 可讓您定義應用程式的應用程式角色,並將這些角色指派給使用者和群組。 您指派給使用者或群組的角色會定義他們對應用程式中資源和作業的存取層級。

Microsoft Entra 外部 ID 為已驗證的使用者發出安全性令牌時,它會包含您在安全性令牌角色宣告中指派使用者或群組的角色名稱。 在要求中接收該安全性令牌的應用程式,接著可以根據角色宣告中的值做出授權決策。

提示

立即試用

若要試用這項功能,請移至 Woodgrove Groceries 示範,並啟動「角色型訪問控制」使用案例。

群組

開發人員也可以使用安全組在其應用程式中實作 RBAC,其中特定群組中用戶的成員資格會解譯為其角色成員資格。 當組織使用安全組時,令牌中會包含群組宣告。 groups 宣告會指定使用者目前外部租用戶內指派之所有群組的標識碼。

提示

立即試用

若要試用這項功能,請移至 Woodgrove Groceries 示範,然後啟動「群組型訪問控制」使用案例。

應用程式角色與群組

雖然您可以使用應用程式角色或群組來進行授權,但它們之間的主要差異可能會影響您決定要用於您的案例的項目。

應用程式角色 群組
這些角色專屬應用程式,並在應用程式註冊中定義。 它們並非專屬於應用程式,而是外部租使用者。
無法跨應用程式共用。 可用於多個應用程式中。
移除應用程式的應用程式註冊時,會移除應用程式角色。 即使移除應用程式,群組仍保持不變。
在宣告中 roles 提供。 groups 宣告中提供。

建立安全組

安全組會管理用戶和計算機對共用資源的存取權。 您可以建立安全組,讓所有群組成員都有相同的安全性許可權集。

若要建立安全組,請遵循下列步驟:

  1. 以條件式存取 管理員 istrator、Security 管理員 istrator 或 Global 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  2. 如果您有多個租使用者的存取權,請使用頂端功能表中的 [設定] 圖示,從 [目錄 + 訂用帳戶] 功能表切換至外部租使用者。
  3. 流覽至 [身分>識別群組>] [所有群組]。
  4. 選取新增群組
  5. 在 [ 群組類型 ] 下拉式清單中,選取 [ 安全性]。
  6. 輸入安全組的組名,例如Contoso_App_管理員 istrators
  7. 輸入安全組的群組描述,例如 Contoso 應用程式安全性 管理員 istrator
  8. 選取 建立

新的安全組會出現在 [ 所有群組 ] 清單中。 如果您沒有立即看到,請重新整理頁面。

Microsoft Entra 外部 ID 可以在令牌中包含使用者的群組成員資格資訊,以在應用程式內使用。 您會瞭解如何在將使用者和群組指派給角色一節中,將群組宣告新增至令牌。

宣告應用程式的角色

  1. 以條件式存取 管理員 istrator、Security 管理員 istrator 或 Global 管理員 istrator 身分登入 Microsoft Entra 系統管理中心

  2. 如果您有多個租使用者的存取權,請使用頂端功能表中的 [設定] 圖示,從 [目錄 + 訂用帳戶] 功能表切換至外部租使用者。

  3. 流覽至 [身分>識別應用程式> 應用程式註冊]。

  4. 選取您要在 中定義應用程式角色的應用程式。

  5. 選取 [應用程式角色],然後選取 [建立應用程式角色]。

  6. 在 [建立應用程式角色] 窗格中,輸入角色的設定。 下表描述每個設定及其參數。

    欄位 描述 範例
    顯示名稱 應用程式指派體驗中顯示的應用程式角色顯示名稱。 此值可包含空格。 Orders manager
    允許的成員類型 指定是否可以將此應用程式角色指派給使用者、應用程式或兩者。 Users/Groups
    指定應用程式應在權杖中預期的角色宣告值。 該值應與應用程式碼中所參考的字串完全相符。 值不能包含空格。 Orders.Manager
    說明 系統管理應用程式指派體驗期間所顯示之應用程式角色的更詳細描述。 Manage online orders.
    要啟用此應用程式角色嗎? 指定是否啟用應用程式角色。 若要刪除應用程式角色,請取消選取此核取方塊,並先套用變更之後再嘗試刪除作業。 已選取
  7. 選取 [ 套用 ] 以建立應用程式角色。

將使用者和群組指派給角色

在應用程式中新增應用程式角色之後,系統管理員可以將使用者和群組指派給角色。 您可以透過系統管理中心,或使用 Microsoft Graph 以程式設計方式,將使用者和群組指派給角色。 當指派給各種應用程式角色的使用者登入應用程式時,其令牌會在宣告中 roles 擁有其指派的角色。

若要使用 Azure 入口網站 將使用者和群組指派給應用程式角色:

  1. 以條件式存取 管理員 istrator、Security 管理員 istrator 或 Global 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  2. 如果您有多個租使用者的存取權,請使用頂端功能表中的 [設定] 圖示,從 [目錄 + 訂用帳戶] 功能表切換至外部租使用者。
  3. 流覽至 [身分>識別應用程式企業應用程式]。>
  4. 選取 [所有應用程式],以檢視所有應用程式的清單。 如果您的應用程式未顯示在清單中,請使用 [所有應用程式] 清單頂端的各種篩選來限制清單,或向下捲動清單以找出您的應用程式。
  5. 選取您想要在其中將使用者或安全性群組指派給角色的應用程式。
  6. 在 [管理] 下選取 [使用者和群組]。
  7. 選取 [新增使用者] 以開啟 [新增指派] 窗格。
  8. 在 [ 新增指派] 窗格中,選取 [ 使用者和群組]。 使用者和安全組清單隨即出現。 您可以在清單中選取多個使用者和群組。
  9. 選取使用者和群組之後,請選擇 [ 選取]。
  10. 在 [ 新增指派 ] 窗格中,選擇 [ 選取角色]。 您為應用程式定義的所有角色都會出現。
  11. 選取角色,然後選擇 [ 選取]。
  12. 選取 [指派],以完成將使用者和群組指派給應用程式的作業。
  13. 確認您新增的使用者和群組出現在 [使用者和群組] 清單中。

若要測試您的應用程式,請使用您指派角色的使用者再次註銷並登入。 檢查安全性令牌,以確定它包含使用者的角色。

將群組宣告新增至安全性令牌

若要在安全性令牌中發出群組成員資格宣告,請遵循下列步驟:

  1. 以條件式存取 管理員 istrator、安全性 管理員 istrator 或 Global 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  2. 如果您有多個租使用者的存取權,請使用頂端功能表中的 [設定] 圖示,從 [目錄 + 訂用帳戶] 功能表切換至外部租使用者。
  3. 流覽至 [身分>識別應用程式> 應用程式註冊。
  4. 選取您要在其中新增群組宣告的應用程式。
  5. 在 [管理] 底下,選取 [令牌組態]。
  6. 選取 [ 新增群組宣告]。
  7. 選取要包含在安全性令牌中的群組類型。
  8. 針對 [ 依類型自定義令牌屬性],選取 [群組標識符]。
  9. 選取 [新增 ] 以新增群組宣告。

將成員新增至群組

既然您已在應用程式中新增應用程式群組宣告,請將使用者新增至安全組。 如果您沒有安全組, 請建立一個

  1. 以條件式存取 管理員 istrator、安全性 管理員 istrator 或 Global 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  2. 如果您有多個租使用者的存取權,請使用頂端功能表中的 [設定] 圖示,從 [目錄 + 訂用帳戶] 功能表切換至外部租使用者。
  3. 流覽至 [身分>識別群組>] [所有群組]。
  4. 選取您要管理的群組。
  5. 選取 [成員]
  6. 選取 + 新增成員
  7. 捲動清單或在搜尋方塊中輸入名稱。 您可以選擇多個名稱。 當您準備好時,請選擇 [ 選取]。
  8. [ 群組概觀] 頁面會更新以顯示現在新增至群組的成員數目。

若要測試您的應用程式,請註銷,然後使用您新增至安全組的使用者再次登入。 檢查安全性令牌,以確定它包含使用者的群組成員資格。

群組和應用程式角色支援

外部租使用者遵循 Microsoft Entra 使用者和群組管理模型和應用程式指派。 許多核心的 Microsoft Entra 功能正分階段進入外部租使用者。

下表顯示目前可用的功能。

功能 目前可用嗎?
建立資源的應用程式角色 是,修改應用程式指令清單
將應用程式角色指派給使用者 Yes
將應用程式角色指派給群組 是,僅透過 Microsoft Graph
將應用程式角色指派給應用程式 是,透過應用程式許可權
將使用者指派給應用程式角色 Yes
將應用程式指派給應用程式角色(應用程式權限) Yes
將群組新增至應用程式/服務主體(群組宣告) 是,僅透過 Microsoft Graph
透過 Microsoft Entra 系統管理中心建立/更新/刪除客戶(本機使用者) Yes
透過 Microsoft Entra 系統管理中心重設客戶的密碼(本機使用者) Yes
透過 Microsoft Graph 建立/更新/刪除客戶(本機使用者) Yes
透過 Microsoft Graph 重設客戶的密碼(本機使用者) 是,只有當服務主體新增至全域 管理員 istrator 角色時
透過 Microsoft Entra 系統管理中心建立/更新/刪除安全組 Yes
透過 Microsoft Graph API 建立/更新/刪除安全組 Yes
使用 Microsoft Entra 系統管理中心變更安全組成員 Yes
使用 Microsoft Graph API 變更安全組成員 Yes
相應增加至50,000個使用者和50,000個群組 目前無法使用
將 50,000 位使用者新增至至少兩個群組 目前無法使用

下一步