設定使用者同意應用程式的方式
在本文中,您將了解如何設定使用者同意應用程式的方式,以及如何停用應用程式的所有未來使用者同意作業。
在應用程式可以存取貴組織的資料之前,使用者必須授與應用程式權限。 不同的權限允許不同的存取層級。 根據預設,所有使用者都能同意應用程式,從而取得不需要管理員同意的權限。 例如,根據預設,使用者可以同意允許應用程式存取其信箱,但是不能同意允許應用程式不受約束地存取,來讀取和寫入貴組織中的所有檔案。
若要降低惡意應用程式嘗試誘騙使用者授與貴組織資料存取權的風險,建議只允許使用者同意由已驗證的發行者發佈的應用程式。
注意
要求將使用者指派給應用程式的應用程式必須擁有管理員同意的權限,即使目錄的使用者同意原則以其他方式允許使用者代表他們自己同意也一樣。
必要條件
若要設定使用者同意,需要:
設定使用者同意設定
提示
本文中的步驟可能會因您開始使用的入口網站而稍有不同。
若要透過 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
) 在更新集合時包含其他目前的 ManagePermissionGrantsForOwnedResource.*
原則 (如果有)。 如此一來,就可以針對使用者同意設定和其他資源同意設定來保有目前的組態。
$body = @{
"permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
"managePermissionGrantsForSelf.{consent-policy-id}",
"managePermissionGrantsForOwnedResource.{other-current-policies}"
)
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body
將 {consent-policy-id}
取代為要套用的原則識別碼。 可以選擇所建立的自訂應用程式同意原則,也可以從下列內建原則中進行選擇:
識別碼 | 描述 |
---|---|
microsoft-user-default-low | 允許使用者同意來自已驗證發行者之應用程式以及選取的權限 只允許有限使用者同意來自已驗證發行者之應用程式以及在租用戶中所註冊的應用程式,以及只允許同意分類為「低影響」的權限。 (請記住分類權限,以便選取允許使用者同意的權限。) |
microsoft-user-default-legacy | 允許使用者同意應用程式 此選項可讓所有使用者同意任何應用程式的任何權限,而此權限不需要管理員同意 |
例如,若要讓使用者同意遵守內建原則 microsoft-user-default-low
,請執行下列命令:
$body = @{
"permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
"managePermissionGrantsForSelf.managePermissionGrantsForSelf.microsoft-user-default-low",
"managePermissionGrantsForOwnedResource.{other-current-policies}"
)
}
使用 Graph 總管來選擇治理應用程式使用者同意的應用程式同意原則。 必須以特殊權限角色管理員身分登入。
若要停用使用者同意,請確定同意原則 (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}
取代為要套用的原則識別碼。 可以選擇所建立的自訂應用程式同意原則,也可以從下列內建原則中進行選擇:
識別碼 | 描述 |
---|---|
microsoft-user-default-low | 允許使用者同意來自已驗證發行者之應用程式以及選取的權限 只允許有限使用者同意來自已驗證發行者之應用程式以及在租用戶中所註冊的應用程式,以及只允許同意分類為「低影響」的權限。 (請記住分類權限,以便選取允許使用者同意的權限。) |
microsoft-user-default-legacy | 允許使用者同意應用程式 此選項可讓所有使用者同意任何應用程式的任何權限,而此權限不需要管理員同意 |
例如,若要讓使用者同意遵守內建原則 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}"
]
}
}
提示
若要允許使用者要求管理員對不允許使用者同意的應用程式進行檢閱和核准,請啟用管理員同意工作流程。 例如,可能在已停用使用者同意,或應用程式要求不允許使用者授與的權限時執行此動作。