Udostępnij za pośrednictwem


Konfigurowanie sposobu, w jaki użytkownicy wyrażają zgodę na aplikacje

Z tego artykułu dowiesz się, jak skonfigurować ustawienia zgody użytkownika w usłudze Microsoft Entra ID, aby kontrolować, kiedy i jak użytkownicy udzielają uprawnień do aplikacji. Te wskazówki pomagają administratorom IT ograniczyć zagrożenia bezpieczeństwa, ograniczając lub wyłączając zgodę użytkownika.

Aby aplikacja mogła uzyskać dostęp do danych organizacji, użytkownik musi udzielić aplikacji odpowiednich uprawnień. Różne uprawnienia umożliwiają uzyskiwanie dostępu na różnych poziomach. Domyślnie wszyscy użytkownicy mogą wyrażać zgodę na aplikacje w przypadku uprawnień, które nie wymagają zgody administratora. Na przykład domyślnie użytkownik może wyrazić zgodę na zezwolenie aplikacji na dostęp do swojej skrzynki pocztowej, ale nie może wyrazić zgody na nieograniczony dostęp aplikacji do odczytu i zapisu we wszystkich plikach w organizacji.

Aby zmniejszyć ryzyko złośliwych aplikacji próbujących skłonić użytkowników do udzielenia im dostępu do danych organizacji, zalecamy zezwolenie na zgodę użytkownika tylko dla aplikacji opublikowanych przez zweryfikowanego wydawcę.

Uwaga

Aplikacje, które wymagają przypisania użytkowników do aplikacji, muszą mieć zgody administratora na uprawnienia, nawet jeśli zasady zgody użytkowników w katalogu normalnie zezwalają użytkownikowi na wyrażenie zgody osobiście.

Wymagania wstępne

Aby skonfigurować zgodę użytkownika, potrzebne są następujące elementy:

Ustawienia zgody użytkownika można skonfigurować w usłudze Microsoft Entra ID przy użyciu centrum administracyjnego firmy Microsoft Entra, programu Microsoft Graph PowerShell lub interfejsu API programu Microsoft Graph. Skonfigurowane ustawienia mają zastosowanie do wszystkich użytkowników w organizacji.

Aby skonfigurować ustawienia zgody użytkownika za pośrednictwem centrum administracyjnego firmy Microsoft Entra:

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako administrator globalny.

  2. Przejdź do sekcji Tożsamość>Aplikacje>Aplikacje dla przedsiębiorstw>Zgody i uprawnienia>Ustawienia zgód użytkownika.

  3. W obszarze Zgoda użytkownika dla aplikacji wybierz ustawienie zgody, które chcesz skonfigurować dla wszystkich użytkowników.

  4. Wybierz pozycję Zapisz , aby zapisać ustawienia.

Zrzut ekranu przedstawiający okienko

Omówienie zasad autoryzacji i udzielania uprawnień w programie Microsoft Graph PowerShell

Aby programowo skonfigurować ustawienia zgody użytkownika przy użyciu programu Microsoft Graph PowerShell, ważne jest, aby zrozumieć rozróżnienie między zasadami autoryzacji dla całej dzierżawy i poszczególnymi zasadami udzielania uprawnień. Element authorizationPolicy, pobrany przy użyciu polecenia Update-MgPolicyAuthorizationPolicy kontroluje ustawienia globalne, takie jak to, czy użytkownicy mogą wyrazić zgodę na aplikacje i które zasady udzielania uprawnień są przypisywane do domyślnej roli użytkownika. Możesz na przykład wyłączyć zgodę użytkownika, jednocześnie zezwalając deweloperom na zarządzanie uprawnieniami dla własnych aplikacji, przypisując je tylko ManagePermissionGrantsForOwnedResource.DeveloperConsent w permissionGrantPoliciesAssigned kolekcji.

Z drugiej strony punkt końcowy permissionGrantPolicies zawiera listę bieżących zasad udzielania uprawnień. Te zasady określają, jakie uprawnienia można udzielić aplikacjom i w jakich okolicznościach. Każda zasada "zawiera" pewne warunki, ale "wyklucza" inne. Gdy użytkownik próbuje wyrazić zgodę na aplikację, system sprawdza zasady udzielania uprawnień, aby sprawdzić, czy którykolwiek z nich ma zastosowanie do żądania użytkownika. Na przykład zasady niskiego ryzyka umożliwiają użytkownikom wyrażanie zgody na te uprawnienia skonfigurowane jako "niskie ryzyko". Obejmuje ono te zasady o niskim ryzyku (w formie identyfikatora GUID). W innym scenariuszu, jeśli użytkownik próbuje wyrazić zgodę w kontekście zgodnym z zasadami "AdminOnly", nie może wyrazić zgody.

Uwaga

Przed zaktualizowaniem Update-MgPolicyPermissionGrantPolicy ustawień zgody za pomocą polecenia zawsze pobierz bieżący authorizationPolicy , aby zidentyfikować, które zasady udzielania uprawnień są już przypisane. Dzięki temu zachowasz niezbędne uprawnienia , takie jak te, które umożliwiają deweloperom zarządzanie zgodą dla własnych aplikacji i unikanie przypadkowego usuwania istniejących funkcji.

Aby wybrać, które zasady zgody aplikacji określają zgodę użytkownika dla aplikacji, użyj modułu Microsoft Graph PowerShell . Polecenia cmdlet używane tutaj znajdują się w module Microsoft.Graph.Identity.SignIns .

Połącz się z programem Microsoft Graph PowerShell, używając minimalnych wymaganych uprawnień. Aby odczytać bieżące ustawienia zgody użytkownika, użyj opcji Policy.Read.All. Aby odczytywać i zmieniać ustawienia zgody użytkownika, użyj pozycji Policy.ReadWrite.Authorization. Musisz zalogować się jako administrator ról uprzywilejowanych.

Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization"

Aby wyłączyć zgodę użytkownika, upewnij się, że podczas aktualizowania kolekcji zasady zgody (PermissionGrantPoliciesAssigned) zawierają inne bieżące polityki ManagePermissionGrantsForOwnedResource.*, jeśli takie istnieją. Dzięki temu można zachować bieżącą konfigurację ustawień zgody użytkownika i innych ustawień zgody na zasoby.

# only exclude user consent policy
$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForOwnedResource.{other-current-policies}" 
    )
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body

Aby zezwolić na zgodę użytkownika, wybierz zasady zgody aplikacji, które powinny zarządzać autoryzacją użytkowników w celu udzielenia zgody na aplikacje. Upewnij się, że zasady zgody (PermissionGrantPoliciesAssigned) zawierają inne bieżące zasady ManagePermissionGrantsForOwnedResource.*, jeśli istnieją podczas aktualizowania kolekcji. Dzięki temu można zachować bieżącą konfigurację ustawień zgody użytkownika i innych ustawień zgody na zasoby.

$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForSelf.{consent-policy-id}",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
    )
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body

Zastąp {consent-policy-id} element identyfikatorem zasad, które chcesz zastosować. Możesz wybrać niestandardowe zasady zgody aplikacji, które utworzyłeś, lub wybrać spośród następujących wbudowanych zasad:

identyfikator opis
microsoft-użytkownik-domyślny-niski Zezwalaj użytkownikom na udzielanie zgody aplikacjom od zweryfikowanych wydawców na wybrane uprawnienia
Zezwalaj na ograniczoną zgodę użytkownika tylko dla aplikacji ze zweryfikowanych wydawców i aplikacji zarejestrowanych w Twojej dzierżawie oraz tylko dla uprawnień sklasyfikowanych jako niskiego wpływu. pl-PL: (Pamiętaj, aby sklasyfikować uprawnienia i określić, na które uprawnienia użytkownicy mogą wyrazić zgodę).
microsoft-użytkownik-domyślny-legacy Zezwalaj na zgodę użytkownika dla aplikacji
Ta opcja umożliwia wszystkim użytkownikom wyrażanie zgody na wszelkie uprawnienia, które nie wymagają zgody administratora dla żadnej aplikacji

Aby na przykład włączyć tę zgodę użytkownika podlegającą wbudowanej zasadzie microsoft-user-default-low, uruchom następujące polecenia:

$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForSelf.managePermissionGrantsForSelf.microsoft-user-default-low",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
    )
}

Omówienie zasad autoryzacji i udzielania uprawnień w programie Microsoft Graph

Aby programowo skonfigurować ustawienia zgody użytkownika przy użyciu programu Microsoft Graph, ważne jest, aby zrozumieć rozróżnienie między zasadami autoryzacji dla całej dzierżawy i poszczególnymi zasadami udzielania uprawnień. Element authorizationPolicy (pobrany przy użyciu programu GET https://graph.microsoft.com/v1.0/policies/authorizationPolicy/authorizationPolicy) zarządza ustawieniami globalnymi, takimi jak to, czy użytkownicy mogą wyrazić zgodę na aplikacje i które zasady udzielania uprawnień są przypisywane do domyślnej roli użytkownika. Możesz na przykład wyłączyć zgodę użytkownika, jednocześnie zezwalając deweloperom na zarządzanie uprawnieniami dla własnych aplikacji, przypisując je tylko ManagePermissionGrantsForOwnedResource.DeveloperConsent w permissionGrantPoliciesAssigned kolekcji.

Z drugiej strony permissionGrantPolicies punkt końcowy (GET https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies) wyświetla listę bieżących zasad udzielania uprawnień. Te zasady określają, jakie uprawnienia można udzielić aplikacjom i w jakich okolicznościach. Każda zasada "zawiera" pewne warunki, ale "wyklucza" inne. Gdy użytkownik próbuje wyrazić zgodę na aplikację, system sprawdza zasady udzielania uprawnień, aby sprawdzić, czy którykolwiek z nich ma zastosowanie do żądania użytkownika. Na przykład zasady niskiego ryzyka umożliwiają użytkownikom wyrażanie zgody na te uprawnienia skonfigurowane jako "niskie ryzyko". Obejmuje ono te zasady o niskim ryzyku (w formie identyfikatora GUID). W innym scenariuszu, jeśli użytkownik próbuje wyrazić zgodę w kontekście zgodnym z zasadami "AdminOnly", nie może wyrazić zgody.

Uwaga

Przed zaktualizowaniem PATCH ustawień zgody przy użyciu żądania należy zawsze pobrać bieżący authorizationPolicy element, aby zidentyfikować, które zasady udzielania uprawnień są już przypisane. Dzięki temu zachowasz niezbędne uprawnienia , takie jak te, które umożliwiają deweloperom zarządzanie zgodą dla własnych aplikacji i unikanie przypadkowego usuwania istniejących funkcji.

Użyj Eksploratora programu Graph, aby wybrać, które zasady zgody aplikacji określają zgodę użytkownika dla aplikacji. Musisz zalogować się jako administrator ról uprzywilejowanych.

Aby wyłączyć zgodę użytkownika, upewnij się, że podczas aktualizowania kolekcji zasady zgody (PermissionGrantPoliciesAssigned) zawierają inne bieżące polityki ManagePermissionGrantsForOwnedResource.*, jeśli takie istnieją. Dzięki temu można zachować bieżącą konfigurację ustawień zgody użytkownika i innych ustawień zgody na zasoby.

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy
{
   "defaultUserRolePermissions": {
       "permissionGrantPoliciesAssigned": [
           "managePermissionGrantsForOwnedResource.{other-current-policies}"
        ]
    }
}

Aby zezwolić na zgodę użytkownika, wybierz zasady zgody aplikacji, które powinny zarządzać autoryzacją użytkowników w celu udzielenia zgody na aplikacje. Upewnij się, że zasady zgody (PermissionGrantPoliciesAssigned) zawierają inne bieżące zasady ManagePermissionGrantsForOwnedResource.*, jeśli istnieją podczas aktualizowania kolekcji. Dzięki temu można zachować bieżącą konfigurację ustawień zgody użytkownika i innych ustawień zgody na zasoby.

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
    "defaultUserRolePermissions": {
        "managePermissionGrantsForSelf.{consent-policy-id}",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
   }
}

Zastąp {consent-policy-id} element identyfikatorem zasad, które chcesz zastosować. Możesz wybrać niestandardowe zasady zgody aplikacji, które utworzyłeś, lub wybrać spośród następujących wbudowanych zasad:

identyfikator opis
microsoft-użytkownik-domyślny-niski Zezwalaj użytkownikom na udzielanie zgody aplikacjom od zweryfikowanych wydawców na wybrane uprawnienia
Zezwalaj na ograniczoną zgodę użytkownika tylko dla aplikacji ze zweryfikowanych wydawców i aplikacji zarejestrowanych w Twojej dzierżawie oraz tylko dla uprawnień sklasyfikowanych jako niskiego wpływu. pl-PL: (Pamiętaj, aby sklasyfikować uprawnienia i określić, na które uprawnienia użytkownicy mogą wyrazić zgodę).
microsoft-użytkownik-domyślny-legacy Zezwalaj na zgodę użytkownika dla aplikacji
Ta opcja umożliwia wszystkim użytkownikom wyrażanie zgody na wszelkie uprawnienia, które nie wymagają zgody administratora dla żadnej aplikacji

Aby na przykład włączyć zgodę użytkownika, podlegając wbudowanym zasadom microsoft-user-default-low, użyj następującego polecenia PATCH:

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
    "defaultUserRolePermissions": {
        "permissionGrantPoliciesAssigned": [
            "managePermissionGrantsForSelf.microsoft-user-default-low",
            "managePermissionGrantsForOwnedResource.{other-current-policies}"
        ]
    }
}

Wszystkie aktualizacje ustawień zgody użytkownika mają wpływ tylko na przyszłe operacje zgody dla aplikacji. Istniejące udzielenie zgody pozostaje niezmienione, a użytkownicy nadal mają dostęp na podstawie wcześniej udzielonych uprawnień. Aby dowiedzieć się, jak odwołać istniejące udzielanie zgody, zobacz Przeglądanie uprawnień przyznanych aplikacjom dla przedsiębiorstw.

Napiwek

Aby umożliwić użytkownikom żądanie przeglądu i zatwierdzenia aplikacji przez administratora, do którego użytkownik nie może wyrazić zgody, włącz przepływ pracy zgody administratora. Na przykład można to zrobić, gdy zgoda użytkownika została wyłączona lub gdy aplikacja żąda uprawnień, które użytkownik nie może udzielić.

Następne kroki