將您的 Microsoft Entra 應用程式限制為 Microsoft Entra 租用戶中的一組使用者
根據預設,在 Microsoft Entra 租用戶中註冊的應用程式可供成功驗證的租使用者所有使用者使用。
同樣地,在 多租 用戶應用程式中,布建應用程式的 Microsoft Entra 租使用者中的所有使用者,只要他們在各自的租使用者中成功驗證,就可以存取應用程式。
租用戶系統管理員和開發人員通常需要將應用程式限制為一組特定使用者或應用程式(服務)。 有兩種方式可將應用程式限制為一組特定使用者、應用程式或安全組:
- 開發人員可以使用熱門的授權模式,例如 Azure 角色型訪問控制(Azure RBAC)。
- 租用戶系統管理員和開發人員可以使用 Microsoft Entra 標識碼的內建功能。
支援的應用程式組態
將應用程式限制為租使用者中特定一組使用者、應用程式或安全組的選項,適用於下列類型的應用程式:
- 針對使用 SAML 型驗證的同盟單一登錄所設定的應用程式。
- 使用 Microsoft Entra 預先驗證的應用程式 Proxy 應用程式。
- 直接建置在 Microsoft Entra 應用程式平臺上的應用程式,在使用者或系統管理員同意該應用程式之後,使用 OAuth 2.0/OpenID 連線 驗證。
更新應用程式以要求使用者指派
提示
本文中的步驟可能會根據您從開始的入口網站稍有不同。
若要更新應用程式以要求使用者指派,您必須是企業應用程式下的應用程式擁有者,或至少是雲端應用程式 管理員 istrator。
- 登入 Microsoft Entra 系統管理中心。
- 如果您有多個租使用者的存取權,請使用頂端功能表中的 [目錄 + 訂用帳戶] 篩選,從 [目錄 + 訂用帳戶] 功能表切換至包含應用程式註冊的租使用者。
- 流覽至 [身分>識別應用程式企業應用程式>],然後選取 [所有應用程式]。
- 選取您想要設定以要求指派的應用程式。 使用視窗頂端的篩選來搜尋特定應用程式。
- 在應用程式的 [概觀] 頁面上,選取 [管理] 底下的 [屬性]。
- 找出 [需要指派嗎?] 設定,並將它設定為 [是]。 當此選項設定為 [是] 時,嘗試存取應用程式或服務的使用者和服務必須先為此應用程式指派,否則將無法登入或取得存取令牌。
- 選取頂端列上的 [ 儲存 ]。
當應用程式需要指派時,不允許使用者同意該應用程式。 即使這樣會允許該應用程式的使用者同意,也是如此。 請務必對要求指派的應用程式授予全租用戶的管理員同意。
將應用程式指派給使用者和群組以限制存取
設定應用程式以啟用使用者指派後,您可以繼續將應用程式指派給使用者和群組。
在 [管理] 下,選取 [使用者和群組],然後選取 [新增使用者/群組]。
選取 [ 使用者 ] 選取器。
使用者和安全組清單會連同文本框一起顯示,以搜尋並找出特定使用者或群組。 此畫面可讓您一次選取多個使用者和群組。
完成選取使用者和群組之後,請選取 [ 選取]。
(選擇性)如果您已在應用程式中定義應用程式角色,您可以使用 [ 選取角色 ] 選項,將應用程式角色指派給選取的使用者和群組。
選取 [ 指派 ] 以完成應用程式指派給使用者和群組。
確認您新增的使用者和群組會顯示在更新 的 [使用者和群組 ] 清單中。
指派其他服務來限制對應用程式 (資源) 的存取權
請遵循本節中的步驟,保護您的租用戶的應用程式對應用程式驗證存取。
- 流覽至租使用者中的服務主體登入記錄,以尋找正在驗證以存取租使用者中的資源的服務。
- 檢查您的租使用者中是否有資源與用戶端應用程式的服務主體存在,且您想要管理存取權。
Get-MgServicePrincipal ` -Filter "AppId eq '$appId'"
- 如果服務主體不存在,請使用應用程式標識碼建立服務主體:
New-MgServicePrincipal ` -AppId $appId
- 明確將用戶端應用程式指派給資源應用程式(此功能僅適用於 API,不適用於 Microsoft Entra 系統管理中心):
$clientAppId = “[guid]” $clientId = (Get-MgServicePrincipal -Filter "AppId eq '$clientAppId'").Id New-MgServicePrincipalAppRoleAssignment ` -ServicePrincipalId $clientId ` -PrincipalId $clientId ` -ResourceId (Get-MgServicePrincipal -Filter "AppId eq '$appId'").Id ` -AppRoleId "00000000-0000-0000-0000-000000000000"
- 資源應用程式需要指派,才能將存取限制為明確指派的用戶或服務。
Update-MgServicePrincipal -ServicePrincipalId (Get-MgServicePrincipal -Filter "AppId eq '$appId'").Id -AppRoleAssignmentRequired:$true
注意
如果您不想要為應用程式發出令牌,或想要封鎖租使用者中的使用者或服務存取應用程式,請為應用程式建立服務主體,並 停用應用程式的使用者登入 。
其他相關資訊
如需角色和安全組的詳細資訊,請參閱: