設定使用者同意應用程式的方式
在本文中,您將了解如何設定使用者同意應用程式的方式,以及如何停用應用程式的所有未來使用者同意作業。
在應用程式可以存取貴組織的資料之前,使用者必須授與應用程式權限。 不同的權限允許不同的存取層級。 根據預設,所有使用者都能同意應用程式,以取得不需要系統管理員同意的權限。 例如,根據預設,使用者可以同意允許應用程式存取其信箱,但是不能同意允許應用程式不受約束地存取,以讀取和寫入貴組織中的所有檔案。
若要降低惡意應用程式嘗試誘騙使用者授與貴組織資料存取權的風險,建議只允許使用者同意由已驗證的發行者發佈的應用程式。
注意
要求將使用者指派給應用程式的應用程式必須擁有管理員同意的權限,即使目錄的使用者同意原則以其他方式允許使用者代表他們自己同意也一樣。
必要條件
若要設定使用者同意,您需要:
設定使用者同意設定
若要透過 Microsoft Entra 系統管理中心設定使用者同意設定:
以 [特殊權限角色管理員] 身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[同意和權限]>[使用者同意設定]。
在 [使用者同意應用程式] 底下,選取您要為所有使用者設定的同意設定。
選取 [儲存] 以儲存您的設定。
若要選擇控管應用程式使用者同意的應用程式同意原則,您可以使用 Microsoft Graph PowerShell 模組。 此處使用的 Cmdlet 包含在 Microsoft.Graph.Identity.SignIns 模組中。
連線到 Microsoft Graph PowerShell
使用所需的最低權限連線到 Microsoft Graph PowerShell。 若要讀取目前的使用者同意設定,請使用 Policy.Read.All。 若要讀取和變更使用者同意設定,請使用 Policy.ReadWrite.Authorization。 您必須以特殊權限角色管理員身分登入。
Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization"
關閉使用者同意功能
若要關閉使用者同意,請確定在更新集合時,同意原則 (PermissionGrantPoliciesAssigned
) 如果有的話,應包括其他目前的 ManagePermissionGrantsForOwnedResource.*
原則。 如此一來,您可以維護使用者同意設定和其他資源同意設定的目前設定。
# only exclude user consent policy
$body = @{
"permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
"managePermissionGrantsForOwnedResource.{other-current-policies}"
)
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body
根據應用程式同意原則,使用 PowerShell 允許使用者同意
若要允許使用者同意,請選擇應用程式同意政策來管理使用者對應用程式的授權。 請確保同意政策 (PermissionGrantPoliciesAssigned
) 在更新集合時包含其他現行的政策 (如果有)。 如此一來,您可以維護使用者同意設定和其他資源同意設定的目前設定。
$body = @{
"permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
"managePermissionGrantsForSelf.{consent-policy-id}",
"managePermissionGrantsForOwnedResource.{other-current-policies}"
)
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body
將 {consent-policy-id}
替換為您想要套用的原則識別碼。 您可以選擇您所建立的自訂應用程式同意原則,也可以從下列內建原則中進行選擇:
識別碼 | 描述 |
---|---|
微軟-用戶-預設-低 | 允許使用者同意來自已驗證發行者的應用程式使用選定的權限 僅允許有限使用者同意的應用程式必須來自已驗證的發行者,並且在您的租用戶中註冊,而且僅限於您分類為「低影響」的權限。 (請記住分類權限,以選取允許使用者同意的權限)。 |
microsoft-使用者-預設-舊版 |
允許使用者同意應用程式 此選項可讓所有使用者同意任何應用程式的任何權限,而此權限不需要管理員同意 |
例如,若要讓使用者同意遵守內建原則 microsoft-user-default-low
,請執行下列命令:
$body = @{
"permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
"managePermissionGrantsForSelf.managePermissionGrantsForSelf.microsoft-user-default-low",
"managePermissionGrantsForOwnedResource.{other-current-policies}"
)
}
使用 Graph Explorer 選擇管理應用程式使用者同意的應用程式授權政策。 您必須以特殊權限角色管理員身分登入。
若要停用使用者同意,請確保同意原則 (PermissionGrantPoliciesAssigned
) 在更新集合時,如有其他目前的 ManagePermissionGrantsForOwnedResource.*
原則,則應予以包括。 如此一來,您可以維護使用者同意設定和其他資源同意設定的目前設定。
PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy
{
"defaultUserRolePermissions": {
"permissionGrantPoliciesAssigned": [
"managePermissionGrantsForOwnedResource.{other-current-policies}"
]
}
}
允許使用者依據應用程式同意原則給予同意,使用 Microsoft Graph
若要允許使用者授予應用程式同意,請選擇哪種應用程式同意政策應用於治理使用者的授權。 請確保在更新集合的過程中,同意原則 (PermissionGrantPoliciesAssigned
) 包含其他目前的 ManagePermissionGrantsForOwnedResource.*
原則 (如果有)。 如此一來,您可以維護使用者同意設定和其他資源同意設定的目前設定。
PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy
{
"defaultUserRolePermissions": {
"managePermissionGrantsForSelf.{consent-policy-id}",
"managePermissionGrantsForOwnedResource.{other-current-policies}"
}
}
將 {consent-policy-id}
替換為您想要套用的政策 ID。 您可以選擇您所建立的自訂應用程式同意原則,也可以從下列內建原則中進行選擇:
識別碼 | 描述 |
---|---|
Microsoft 使用者 預設 低 |
允許使用者同意來自已驗證發行者的應用程式以及選取的權限 只允許有限的使用者同意來自已驗證發行者和註冊在您租用戶中的應用程式,並且僅限於您歸類為「低影響」的權限。 (請記住分類權限,以選取允許使用者同意的權限)。 |
Microsoft 預設用戶 - 傳統版本 |
允許使用者同意應用程式 此選項可讓所有使用者同意任何應用程式的任何權限,而此權限不需要管理員同意 |
例如,若要讓使用者同意遵守內建原則 microsoft-user-default-low
,請使用下列 PATCH 命令:
PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy
{
"defaultUserRolePermissions": {
"permissionGrantPoliciesAssigned": [
"managePermissionGrantsForSelf.microsoft-user-default-low",
"managePermissionGrantsForOwnedResource.{other-current-policies}"
]
}
}
提示
若要允許使用者要求管理員對不允許使用者同意的應用程式進行檢閱和核准,請啟用管理員同意工作流程。 例如,執行此動作的時機可能是已停用使用者同意時,或應用程式要求不允許使用者授與的權限時。