對應用程式授與全租用戶的管理員同意
在本文中,您將瞭解如何將全租用戶系統管理員同意授與 Microsoft Entra 識別碼中的應用程式。 若要瞭解如何設定個別使用者同意設定,請參閱 設定使用者同意應用程式的方式。
當您將全租用戶系統管理員同意授與應用程式時,您會將代表整個組織要求的許可權授與應用程式存取權。 代表組織授與系統管理員同意是一項敏感性作業、可能允許應用程式的發行者存取貴組織數據的重要部分,或執行高度特殊許可權作業的許可權。 這類作業的範例可能是角色管理、所有信箱或所有網站的完整存取權,以及完整用戶模擬。 因此,您必須在授與同意之前,仔細檢閱應用程式所要求的許可權。
根據預設,除非另有限制,否則將全租用戶系統管理員同意授與應用程式,可讓所有使用者存取應用程式。 若要限制哪些使用者可以登入應用程式,請將應用程式設定為 要求使用者指派 ,然後將 使用者或群組指派給應用程式。
重要
授與全租用戶系統管理員同意,可能會撤銷已為該應用程式授與整個租用戶的許可權。 使用者已代表自己授與的許可權不會受到影響。
必要條件
若要授與全租用戶的管理員同意,您必須以有權代表組織同意的使用者身分登入。
若要授與全租用戶的系統管理員同意,您需要:
具有下列其中一個角色的 Microsoft Entra 用戶帳戶:
- 全域管理員或特殊權限角色管理員,用於為要求任何 API 任何權限的應用程式授與同意。
- Cloud Application 管理員 istrator 或 Application 管理員 istrator,用於授與要求任何 API 任何許可權的應用程式同意,但 Microsoft Graph 應用程式角色除外(應用程式許可權)。
- 自定義目錄角色,其中包含 將許可權授與應用程式的許可權,以取得應用程式所需的許可權。
在 [企業應用程式] 窗格中授與全租用戶的系統管理員同意
如果您的租使用者中已佈建應用程式,您可以透過 [企業應用程式 ] 窗格授與全租用戶的系統管理員同意。 例如,如果至少一個使用者已對應用程式同意,則應用程式可佈建在您的租用戶中。 如需詳細資訊,請參閱 如何將應用程式新增至 Microsoft Entra ID 和原因。
提示
本文中的步驟可能會根據您從開始的入口網站稍有不同。
若要將全租用戶系統管理員同意授與企業應用程式窗格中所列 的應用程式 :
- 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心。
- 流覽至 [身分>識別應用程式>企業應用程式>] [所有應用程式]。
- 在搜尋方塊中輸入現有應用程式的名稱,然後從搜尋結果中選取應用程式。
- 選取 [安全性] 底下的 [許可權]。
- 仔細檢閱應用程式所需的許可權。 如果您同意應用程式所需的許可權,請選取 [ 授與管理員同意]。
在 [應用程式註冊] 窗格中授與系統管理員同意
您可以授 應用程式註冊 與全租用戶系統管理員同意,從 Microsoft Entra 系統管理中心的 Microsoft Entra 系統管理中心,為您的組織開發並直接在 Microsoft Entra 租用戶中註冊的應用程式。
若要從 應用程式註冊 授與全租用戶的系統管理員同意:
- 在 Microsoft Entra 系統管理中心上,流覽至 [身分>識別應用程式> 應用程式註冊> 所有應用程式]。
- 在搜尋方塊中輸入現有應用程式的名稱,然後從搜尋結果中選取應用程式。
- 選取 [管理] 底下的 [API 許可權]。
- 仔細檢閱應用程式所需的許可權。 如果您同意,請選取 [ 授與管理員同意]。
建構用來授與全租用戶管理員同意的 URL
當您使用上一節所述的任一種方法授與全租使用者管理員同意時,會從 Microsoft Entra 系統管理中心開啟視窗,以提示全租使用者管理員同意。 如果您知道應用程式的用戶端識別碼 (也稱為應用程式識別碼),您可以建立相同的 URL 來授與全租用戶的管理員同意。
全租用戶管理員同意 URL 會遵循下列格式:
https://login.microsoftonline.com/{organization}/adminconsent?client_id={client-id}
其中:
{client-id}
是應用程式的用戶端識別碼 (也稱為應用程式識別碼)。{organization}
是租用戶標識碼或任何您想要同意應用程式之租使用者的已驗證功能變數名稱。 您可以使用值organizations
,讓同意在您登入之使用者的主租用戶中發生。
一如往常,請先仔細檢閱應用程式所要求的權限,再授與同意。
如需建構全租使用者管理員同意 URL 的詳細資訊,請參閱 Microsoft 身分識別平台 管理員 同意。
使用 Microsoft Graph PowerShell 授與委派許可權的管理員同意
在本節中,您會將委派的許可權授與您的應用程式。 委派的許可權是您應用程式必須代表登入使用者存取 API 的許可權。 許可權是由資源 API 所定義,並授與您企業應用程式,也就是用戶端應用程式。 此同意會代表所有使用者授與。
在下列範例中,資源 API 是對象識別碼 7ea9e944-71ce-443d-811c-71e8047b557a
的 Microsoft Graph。 Microsoft Graph API 會定義委派的權限和 User.Read.All
Group.Read.All
。 consentType 是 AllPrincipals
,表示您代表租使用者中的所有使用者同意。 用戶端應用程式的物件識別碼為 b0d9b9e3-0ecf-4bfd-8dab-9273dd055a941
。
警告
請務必小心! 以程序設計方式授與的許可權不受檢閱或確認。 他們立即生效。
連線 至 Microsoft Graph PowerShell 並至少登入雲端應用程式 管理員 istrator。
Connect-MgGraph -Scopes "Application.ReadWrite.All", "DelegatedPermissionGrant.ReadWrite.All"
擷取您租使用者應用程式中 Microsoft graph (資源應用程式) 所定義的所有委派許可權。 識別您需要授與用戶端應用程式的委派許可權。 在此範例中,委派許可權為
User.Read.All
和Group.Read.All
Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" -Property Oauth2PermissionScopes | Select -ExpandProperty Oauth2PermissionScopes | fl
執行下列要求,將委派的許可權授與用戶端應用程式。
$params = @{ "ClientId" = "b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94" "ConsentType" = "AllPrincipals" "ResourceId" = "7ea9e944-71ce-443d-811c-71e8047b557a" "Scope" = "User.Read.All Group.Read.All" } New-MgOauth2PermissionGrant -BodyParameter $params | Format-List Id, ClientId, ConsentType, ResourceId, Scope
執行下列要求,確認您已授與租使用者廣泛的系統管理員同意。
Get-MgOauth2PermissionGrant -Filter "clientId eq 'b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94' and consentType eq 'AllPrincipals'"
使用 Microsoft Graph PowerShell 授與應用程式許可權的管理員同意
在本節中,您會將應用程式許可權授與企業應用程式。 應用程式許可權是應用程式存取資源 API 所需的許可權。 許可權是由資源 API 所定義,並授與您企業應用程式,也就是主體應用程式。 將資源 API 的存取權授與應用程式之後,它會以背景服務或精靈的形式執行,而不需要登入的使用者。 應用程式許可權也稱為應用程式角色。
在下列範例中,您會將標識符的資源 API 7ea9e944-71ce-443d-811c-71e8047b557a
公開的應用程式角色(應用程式許可權)授與 Microsoft Graph 應用程式(標識符的b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94
主體)df021288-bdef-4463-88db-98f22de89214
應用程式角色(應用程式許可權)。
連線 至 Microsoft Graph PowerShell,並以 登入身分登入全域 管理員 istrator。
Connect-MgGraph -Scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
擷取您租使用者中 Microsoft Graph 所定義的應用程式角色。 識別您需要授與用戶端應用程式的應用程式角色。 在這裡範例中,應用程式角色識別碼為
df021288-bdef-4463-88db-98f22de89214
。Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" -Property AppRoles | Select -ExpandProperty appRoles |fl
執行下列要求,將應用程式許可權(應用程式角色)授與主體應用程式。
$params = @{
"PrincipalId" ="b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94"
"ResourceId" = "7ea9e944-71ce-443d-811c-71e8047b557a"
"AppRoleId" = "df021288-bdef-4463-88db-98f22de89214"
}
New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId 'b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94' -BodyParameter $params |
Format-List Id, AppRoleId, CreatedDateTime, PrincipalDisplayName, PrincipalId, PrincipalType, ResourceDisplayName
使用 Graph 總管 來授與委派和應用程式許可權。
使用 Microsoft Graph API 授與管理員同意委派的許可權
在本節中,您會將委派的許可權授與您的應用程式。 委派的許可權是您應用程式必須代表登入使用者存取 API 的許可權。 許可權是由資源 API 所定義,並授與您企業應用程式,也就是用戶端應用程式。 此同意會代表所有使用者授與。
您必須至少以雲端應用程式 管理員 istrator 身分登入。
在下列範例中,資源 API 是對象識別碼 7ea9e944-71ce-443d-811c-71e8047b557a
的 Microsoft Graph。 Microsoft Graph API 會定義委派的權限和 User.Read.All
Group.Read.All
。 consentType 是 AllPrincipals
,表示您代表租使用者中的所有使用者同意。 用戶端應用程式的物件識別碼為 b0d9b9e3-0ecf-4bfd-8dab-9273dd055a941
。
警告
請務必小心! 以程序設計方式授與的許可權不受檢閱或確認。 他們立即生效。
擷取您租使用者應用程式中 Microsoft graph (資源應用程式) 所定義的所有委派許可權。 識別您需要授與用戶端應用程式的委派許可權。 在此範例中,委派許可權為
User.Read.All
和Group.Read.All
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq 'Microsoft Graph'&$select=id,displayName,appId,oauth2PermissionScopes
執行下列要求,將委派的許可權授與用戶端應用程式。
POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants Request body { "clientId": "b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94", "consentType": "AllPrincipals", "resourceId": "7ea9e944-71ce-443d-811c-71e8047b557a", "scope": "User.Read.All Group.Read.All" }
執行下列要求,確認您已授與租使用者廣泛的系統管理員同意。
GET https://graph.microsoft.com/v1.0/oauth2PermissionGrants?$filter=clientId eq 'b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94' and consentType eq 'AllPrincipals'
使用 Microsoft Graph API 授與應用程式許可權的管理員同意
在本節中,您會將應用程式許可權授與企業應用程式。 應用程式許可權是應用程式存取資源 API 所需的許可權。 許可權是由資源 API 所定義,並授與您企業應用程式,也就是主體應用程式。 將資源 API 的存取權授與應用程式之後,它會以背景服務或精靈的形式執行,而不需要登入的使用者。 應用程式許可權也稱為應用程式角色。
在下列範例中,您會將標識符的資源企業應用程式公開的應用程式角色(應用程式許可權)授與應用程式 Microsoft Graph(標識符的b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94
7ea9e944-71ce-443d-811c-71e8047b557a
主體)df021288-bdef-4463-88db-98f22de89214
應用程式角色(應用程式許可權)。
您必須以 Global 管理員 istrator 簽署。
擷取您租使用者中 Microsoft Graph 所定義的應用程式角色。 識別您需要授與用戶端應用程式的應用程式角色。 在此範例中,應用程式角色識別碼為
df021288-bdef-4463-88db-98f22de89214
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq 'Microsoft Graph'&$select=id,displayName,appId,appRoles
執行下列要求,將應用程式許可權(應用程式角色)授與主體應用程式。
POST https://graph.microsoft.com/v1.0/servicePrincipals/7ea9e944-71ce-443d-811c-71e8047b557a/appRoleAssignedTo Request body { "principalId": "b0d9b9e3-0ecf-4bfd-8dab-9273dd055a94", "resourceId": "7ea9e944-71ce-443d-811c-71e8047b557a", "appRoleId": "df021288-bdef-4463-88db-98f22de89214" }
下一步
- 設定使用者同意應用程式的方式。
- 設定管理員同意工作流程。