Udostępnij za pośrednictwem


Udzielanie zgody administratora całej dzierżawy dla aplikacji

Z tego artykułu dowiesz się, jak udzielić zgody administratora dla całej dzierżawy na aplikację w usłudze Microsoft Entra ID. Aby dowiedzieć się, jak skonfigurować ustawienia zgody poszczególnych użytkowników, zobacz Konfigurowanie sposobu wyrażania zgody przez użytkowników końcowych na aplikacje.

Po przyznaniu zgody administracyjnej na poziomie dzierżawy na aplikację, udzielasz aplikacji dostępu do uprawnień żądanych w imieniu całej organizacji. Udzielanie zgody administratora w imieniu organizacji jest operacją wrażliwą, co potencjalnie umożliwia wydawcy aplikacji dostęp do znaczących części danych organizacji lub uprawnienia do wykonywania wysoce uprzywilejowanych operacji. Przykładami takich operacji może być zarządzanie rolami, pełny dostęp do wszystkich skrzynek pocztowych lub wszystkich witryn oraz personifikacja pełnego użytkownika. W związku z tym należy dokładnie przejrzeć uprawnienia, których aplikacja żąda przed udzieleniem zgody.

Domyślnie udzielenie zgody administratora dla całej dzierżawy na aplikację umożliwia wszystkim użytkownikom dostęp do aplikacji, chyba że w przeciwnym razie jest to ograniczone. Aby ograniczyć użytkowników, którzy mogą logować się do aplikacji, skonfiguruj aplikację tak, aby wymagała przypisania użytkownika, a następnie przypisz użytkowników lub grupy do aplikacji.

Ważne

Udzielenie zgody administratora obejmującej całą dzierżawę może odwołać uprawnienia, które zostały już przyznane dzierżawcy dla tej aplikacji. Uprawnienia, które użytkownicy otrzymali już w swoim imieniu, nie mają wpływu.

Wymagania wstępne

Udzielenie zgody administratora dla całej dzierżawy wymaga zalogowania się jako użytkownik, który jest autoryzowany do udzielania zgody w imieniu organizacji.

Aby udzielić zgody administratora dla całego dzierżawcy, potrzebujesz:

  • Konto użytkownika Microsoft Entra z jedną z następujących ról:

    • Administrator ról uprzywilejowanych, odpowiedzialny za udzielanie zgody aplikacjom żądającym dowolnych uprawnień do dowolnego interfejsu API.
    • Administrator aplikacji w chmurze lub administrator aplikacji, który udziela zgody dla aplikacji żądających jakichkolwiek uprawnień dla jakiegokolwiek interfejsu API, z wyjątkiem roli aplikacji programu Microsoft Graph (uprawnień aplikacji).
    • Niestandardowa rola katalogu, która obejmuje uprawnienie do przyznawania uprawnień aplikacjom, zgodnie z wymaganiami aplikacji.

Możesz udzielić zgody administratora na poziomie całej dzierżawy za pośrednictwem okienka Aplikacje dla przedsiębiorstw, jeśli dana aplikacja została już aprowizowana w Twojej dzierżawie. Na przykład aplikacja może zostać wdrożona w Twoim dzierżawcy, jeśli co najmniej jeden użytkownik wyrazi zgodę na aplikację. Aby uzyskać więcej informacji, zobacz How and why applications are added to Microsoft Entra ID (Jak i dlaczego aplikacje są dodawane do identyfikatora Entra firmy Microsoft).

Aby udzielić zgody administratora dla całej dzierżawy na aplikację wymienioną w okienku Aplikacje dla przedsiębiorstw:

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator aplikacji w chmurze.
  2. Przejdź do Identity>Aplikacje>Aplikacje korporacyjne>Wszystkie aplikacje.
  3. Wprowadź nazwę istniejącej aplikacji w polu wyszukiwania, a następnie wybierz aplikację z wyników wyszukiwania.
  4. Wybierz pozycję Uprawnienia w obszarze Zabezpieczenia. Zrzut ekranu przedstawia, jak udzielić zgody administratora na poziomie całej dzierżawy.
  5. Dokładnie przejrzyj uprawnienia wymagane przez aplikację. Jeśli zgadzasz się z uprawnieniami wymaganymi przez aplikację, wybierz pozycję Udziel zgody administratora.

Możesz udzielić zgody administratora dla całej dzierżawy Microsoft Entra w sekcji Rejestracje aplikacji w centrum administracyjnym Microsoft Entra, dla aplikacji, które Twoja organizacja opracowuje i rejestruje bezpośrednio w dzierżawie Microsoft Entra.

Aby udzielić zgody administratora w całej dzierżawie z poziomu Rejestracje aplikacji:

  1. W Centrum administracyjnym Microsoft Entra przejdź do pozycji Tożsamość>Aplikacje>Rejestracje aplikacji>Wszystkie aplikacje.
  2. Wprowadź nazwę istniejącej aplikacji w polu wyszukiwania, a następnie wybierz aplikację z wyników wyszukiwania.
  3. Wybierz Uprawnienia interfejsu API w sekcji Zarządzaj.
  4. Dokładnie przejrzyj uprawnienia wymagane przez aplikację. Jeśli się zgadzasz, wybierz pozycję Udziel zgody administratora.

Po udzieleniu zgody administratora dla całej dzierżawy, przy użyciu jednej z metod opisanych w poprzedniej sekcji, automatycznie otwiera się okno z centrum administracyjnego Microsoft Entra, co ma na celu wyświetlenie monitu o udzielenie zgody dla całej dzierżawy. Jeśli znasz identyfikator klienta (znany również jako identyfikator aplikacji) aplikacji, możesz utworzyć ten sam adres URL, aby udzielić zgody administratora wszystkim dzierżawcom.

Adres URL zgody administratora dla całej dzierżawy ma następujący format:

https://login.microsoftonline.com/{organization}/adminconsent?client_id={client-id}

Gdzie:

  • {client-id} jest identyfikatorem klienta aplikacji (nazywanym również identyfikatorem aplikacji).
  • {organization} to identyfikator dzierżawcy lub dowolna zweryfikowana nazwa domeny dzierżawcy, któremu chcesz udzielić zgody na użycie aplikacji. Możesz użyć wartości organizations, która powoduje, że zgoda ma miejsce w domowej dzierżawie użytkownika, z którym się logujesz.

Jak zawsze należy dokładnie przejrzeć uprawnienia żądane przez aplikację przed udzieleniem zgody.

Aby uzyskać więcej informacji na temat konstruowania adresu URL zgody administratora dla całej dzierżawy, zobacz w zgoda administratora na platformie tożsamości Microsoft.

W tej sekcji udzielasz delegowanych uprawnień aplikacji. Uprawnienia delegowane to uprawnienia, które aplikacja potrzebuje, aby uzyskać dostęp do interfejsu API w imieniu zalogowanego użytkownika. Uprawnienia są definiowane przez interfejs API zasobów i przyznawane aplikacji klienckiej przedsiębiorstwa. Ta zgoda jest udzielana w imieniu wszystkich użytkowników.

W poniższym przykładzie zasób API jest identyfikatorem Microsoft Graph obiektu aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb. Interfejs API programu Microsoft Graph definiuje delegowane uprawnienia, User.Read.Alli Group.Read.All. Wartość consentType to AllPrincipals, co wskazuje, że wyrażasz zgodę w imieniu wszystkich użytkowników w ramach dzierżawy. Identyfikator obiektu aplikacji dla przedsiębiorstw klienta to aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb.

Uwaga

Ostrożnie! Uprawnienia przyznane programowo nie podlegają przeglądowi ani potwierdzeniu. Natychmiast wejdą one w życie.

  1. Połącz się z programem Microsoft Graph PowerShell i zaloguj się jako co najmniej administrator aplikacji w chmurze.

    Connect-MgGraph -Scopes "Application.ReadWrite.All", "DelegatedPermissionGrant.ReadWrite.All"
    
  2. Pobierz wszystkie delegowane uprawnienia zdefiniowane przez program Microsoft Graph (aplikacja zasobów) w aplikacji dzierżawy. Zidentyfikuj delegowane uprawnienia, które należy przyznać aplikacji klienckiej. W tym przykładzie uprawnienia delegowania to User.Read.All i Group.Read.All

    Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" -Property Oauth2PermissionScopes | Select -ExpandProperty Oauth2PermissionScopes | fl
    
  3. Udziel delegowanych uprawnień aplikacji klienckiej dla przedsiębiorstw, uruchamiając następujące żądanie.

    $params = @{
    
    "ClientId" = "00001111-aaaa-2222-bbbb-3333cccc4444"
    "ConsentType" = "AllPrincipals"
    "ResourceId" = "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
    "Scope" = "User.Read.All Group.Read.All"
    }
    
    New-MgOauth2PermissionGrant -BodyParameter $params | 
    Format-List Id, ClientId, ConsentType, ResourceId, Scope
    
  4. Upewnij się, że udzieliłeś zgody administratora dla całej dzierżawy, uruchamiając następujące żądanie.

 Get-MgOauth2PermissionGrant -Filter "clientId eq '00001111-aaaa-2222-bbbb-3333cccc4444' and consentType eq 'AllPrincipals'" 

W tej sekcji przyznasz aplikacji uprawnienia do aplikacji dla przedsiębiorstw. Uprawnienia aplikacji to uprawnienia, których aplikacja potrzebuje do uzyskania dostępu do interfejsu API zasobów. Uprawnienia są definiowane przez interfejs API zasobów i przyznawane aplikacji dla przedsiębiorstw, która jest aplikacją nadrzędną. Po udzieleniu aplikacji dostępu do interfejsu API zasobów, działa ona jako usługa w tle lub jako proces demonowy bez zalogowanego użytkownika. Uprawnienia aplikacji są również nazywane rolami aplikacji.

W poniższym przykładzie przyznasz aplikacji Microsoft Graph (podmiotowi zabezpieczeń) aaaaaaaa-bbbb-cccc-1111-222222222222 rolę aplikacji (uprawnienie aplikacji) o identyfikatorze df021288-bdef-4463-88db-98f22de89214, która jest udostępniana przez interfejs API zasobu o identyfikatorze 11112222-bbbb-3333-cccc-4444dddd5555.

  1. Połącz się z programem Microsoft Graph PowerShell i zaloguj się jako co najmniej administrator ról uprzywilejowanych.

    Connect-MgGraph -Scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
    
  2. Pobierz role aplikacji zdefiniowane w Microsoft Graph w Twojej dzierżawie. Zidentyfikuj rolę aplikacji, którą musisz przyznać aplikacji klienta biznesowego. W tym przykładzie identyfikator roli aplikacji to df021288-bdef-4463-88db-98f22de89214.

    Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" -Property AppRoles | Select -ExpandProperty appRoles |fl
    
  3. Przyznaj aplikacji zasadniczej uprawnienia (rola aplikacji) poprzez uruchomienie następującego żądania.

 $params = @{
  "PrincipalId" ="aaaaaaaa-bbbb-cccc-1111-222222222222"
  "ResourceId" = "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
  "AppRoleId" = "df021288-bdef-4463-88db-98f22de89214"
}

New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId 'aaaaaaaa-bbbb-cccc-1111-222222222222' -BodyParameter $params | 
  Format-List Id, AppRoleId, CreatedDateTime, PrincipalDisplayName, PrincipalId, PrincipalType, ResourceDisplayName

Użyj Eksploratora programu Graph, aby udzielić uprawnień delegowanych i aplikacji.

W tej sekcji udzielasz delegowanych uprawnień aplikacji. Uprawnienia delegowane to uprawnienia, których aplikacja potrzebuje, aby uzyskać dostęp do interfejsu API w imieniu zalogowanego użytkownika. Uprawnienia są określane przez interfejs API zasobów i przyznawane aplikacji przedsiębiorstwa, która jest aplikacją kliencką. Ta zgoda jest udzielana w imieniu wszystkich użytkowników.

Musisz zalogować się jako co najmniej administrator aplikacji w chmurze.

W poniższym przykładzie interfejs API zasobu jest Microsoft Graph identyfikator obiektu aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb. Interfejs API programu Microsoft Graph definiuje delegowane uprawnienia User.Read.All i Group.Read.All. Wartość consentType to AllPrincipals, co wskazuje, że wyrażasz zgodę w imieniu wszystkich użytkowników dzierżawcy. Identyfikator obiektu aplikacji dla przedsiębiorstw klienta to aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb.

Uwaga

Ostrożnie! Uprawnienia przyznane programowo nie podlegają przeglądowi ani potwierdzeniu. Natychmiast wejdą one w życie.

  1. Pobierz wszystkie delegowane uprawnienia zdefiniowane przez program Microsoft Graph (aplikacja zasobów) w aplikacji dzierżawy. Zidentyfikuj delegowane uprawnienia, które należy przyznać aplikacji klienckiej. W tym przykładzie uprawnienia delegowania to User.Read.All i Group.Read.All

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq 'Microsoft Graph'&$select=id,displayName,appId,oauth2PermissionScopes
    
  2. Udziel delegowanych uprawnień aplikacji klienckiej dla przedsiębiorstw, uruchamiając następujące żądanie.

    POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants
    
    Request body
    {
       "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
       "consentType": "AllPrincipals",
       "resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
       "scope": "User.Read.All Group.Read.All"
    }
    
  3. Upewnij się, że udzielono zgody administratora dla całej dzierżawy, uruchamiając następujące żądanie.

    GET https://graph.microsoft.com/v1.0/oauth2PermissionGrants?$filter=clientId eq '00001111-aaaa-2222-bbbb-3333cccc4444' and consentType eq 'AllPrincipals'
    

W tej sekcji dajesz aplikacji uprawnienia do aplikacji przedsiębiorstwa. Uprawnienia aplikacji to uprawnienia, których aplikacja potrzebuje do uzyskania dostępu do interfejsu API zasobów. Uprawnienia są definiowane przez interfejs API zasobów i przyznawane aplikacji dla przedsiębiorstw, która jest główną aplikacją. Po udzieleniu aplikacji dostępu do interfejsu API zasobów działa w tle jako usługa lub demon bez zalogowanego użytkownika. Uprawnienia aplikacji są również nazywane rolami aplikacji.

W poniższym przykładzie przyznajesz aplikacji Microsoft Graph (podmiot zabezpieczeń o identyfikatorze 00001111-aaaa-2222-bbbb-3333cccc4444) rolę aplikacji o identyfikatorze df021288-bdef-4463-88db-98f22de89214, którą ujawnia aplikacja przedsiębiorstwa jako zasób o identyfikatorze 11112222-bbbb-3333-cccc-4444dddd5555.

Musisz zalogować się jako co najmniej Administrator ról uprzywilejowanych.

  1. Pobierz role aplikacji zdefiniowane przez Microsoft Graph w Twojej dzierżawie. Zidentyfikuj rolę aplikacji, którą musisz przyznać aplikacji kliencko-przedsiębiorczej. W tym przykładzie identyfikator roli aplikacji to df021288-bdef-4463-88db-98f22de89214

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq 'Microsoft Graph'&$select=id,displayName,appId,appRoles
    
  2. Udziel aplikacji uprawnień (roli aplikacji) głównej aplikacji, uruchamiając następujące żądanie.

    POST https://graph.microsoft.com/v1.0/servicePrincipals/11112222-bbbb-3333-cccc-4444dddd5555/appRoleAssignedTo
    
    Request body
    
    {
       "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
       "resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
       "appRoleId": "df021288-bdef-4463-88db-98f22de89214"
    }
    

Następne kroki