Udostępnij za pośrednictwem


Zarządzanie zasadami zgody aplikacji dla właścicieli grup

Zasady zgody aplikacji to sposób zarządzania uprawnieniami, które aplikacje muszą uzyskiwać dostęp do danych w organizacji. Są one używane do kontrolowania aplikacji, na które użytkownicy mogą wyrazić zgodę, i w celu zapewnienia, że aplikacje spełniają określone kryteria, zanim będą mogli uzyskiwać dostęp do danych. Te zasady pomagają organizacjom zachować kontrolę nad swoimi danymi i upewnić się, że są one dostępne tylko przez zaufane aplikacje.

Z tego artykułu dowiesz się, jak zarządzać wbudowanymi i niestandardowymi zasadami zgody aplikacji w celu kontrolowania, kiedy można udzielić zgody właściciela grupy.

Za pomocą programu Microsoft Graph i programu Microsoft Graph PowerShell można wyświetlać zasady zgody właściciela grupy i zarządzać nimi.

Zasady zgody właściciela grupy składają się z zera lub większej liczby zestawów warunków "uwzględnij" i zero lub więcej "wyklucz" zestawów warunków. Aby zdarzenie, które ma być brane pod uwagę w zasadach zgody właściciela grupy, zestaw warunków "include" nie może być zgodny z żadnym zestawem warunków "wykluczania".

Każdy zestaw warunków składa się z kilku warunków. Aby zdarzenie było zgodne z zestawem warunków, należy spełnić wszystkie warunki w zestawie warunków.

Zasady zgody właściciela grupy, w których identyfikator zaczyna się od "microsoft-" są wbudowanymi zasadami. Na przykład zasady zgody właściciela grupy opisują warunki, microsoft-pre-approval-apps-for-group w których właściciele grupy mogą wyrazić zgodę na aplikacje z listy wstępnie zatwierdzonych przez administratora w celu uzyskania dostępu do danych dla grup, których są właścicielami. Wbudowane zasady mogą być używane w rolach katalogu niestandardowego i do konfigurowania ustawień zgody użytkownika, ale nie można ich edytować ani usuwać.

Wymagania wstępne

  • Użytkownik lub usługa z jedną z następujących ról:
  • Aby zezwolić na zgodę właściciela grupy na zasady zgody aplikacji, ustawienie zgody właściciela grupy musi być wyłączone. Po wyłączeniu bieżące zasady są odczytywane z zasad zgody aplikacji. Aby dowiedzieć się, jak wyłączyć zgodę właściciela grupy, zobacz Wyłączanie ustawienia zgody właściciela grupy

Aby zarządzać zasadami zgody właściciela grupy dla aplikacji za pomocą programu Microsoft Graph PowerShell, połącz się z programem Microsoft Graph PowerShell i zaloguj się przy użyciu jednej z ról wymienionych w sekcji wymagań wstępnych. Musisz również wyrazić zgodę na Policy.ReadWrite.PermissionGrant uprawnienie.

# change the profile to beta by using the `Select-MgProfile` command
Select-MgProfile -Name "beta"
Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"

Dowiedz się, jak sprawdzić, czy ustawienie zgody właściciela grupy zostało autoryzowane na inne sposoby.

  1. Pobieranie bieżącej wartości ustawienia zgody właściciela grupy

      Get-MgPolicyAuthorizationPolicy | select -ExpandProperty DefaultUserRolePermissions | ft PermissionGrantPoliciesAssigned
    

    Jeśli ManagePermissionGrantPoliciesForOwnedResource zostanie zwrócona w programie PermissionGrantPoliciesAssigned, ustawienie zgody właściciela grupy mogło zostać autoryzowane na inne sposoby.

  2. Sprawdź, czy zakres zasad ma zakres .group

       Get-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | Select -ExpandProperty AdditionalProperties
    

Jeśli ResourceScopeType == groupustawienie zgody właściciela grupy zostało autoryzowane na inne sposoby. Ponadto jeśli przypisano microsoft-pre-approval-apps-for-groupzasady zgody aplikacji dla grup, oznacza to, że funkcja preapproval jest włączona dla dzierżawy.

Warto zacząć od zapoznania się z istniejącymi zasadami zgody właściciela grupy w organizacji:

  1. Wyświetl listę wszystkich zasad zgody właściciela grupy:

    Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
    
  2. Wyświetl zestawy warunków "include" zasad:

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
    
  3. Wyświetl zestawy warunków "wyklucz":

    Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
    

Wykonaj następujące kroki, aby utworzyć niestandardowe zasady zgody właściciela grupy:

  1. Utwórz nowe puste zasady zgody właściciela grupy.

    New-MgPolicyPermissionGrantPolicy `
        -Id "my-custom-app-consent-policy-for-group" `
        -DisplayName "My first custom app consent policy for group" `
        -Description "This is a sample custom app consent policy for group." `
        -AdditionalProperties @{includeAllPreApprovedApplications = $false; resourceScopeType = "group"}
    
  2. Dodaj zestawy warunków dołączania.

    # Include delegated permissions classified "low", for apps from verified publishers
    New-MgPolicyPermissionGrantPolicyInclude `
        -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group" `
        -PermissionType "delegated" `
        -PermissionClassification "low" `
        -ClientApplicationsFromVerifiedPublisherOnly
    

    Powtórz ten krok, aby dodać więcej zestawów warunków dołączania.

  3. Opcjonalnie dodaj zestawy warunków "wyklucz".

    # Retrieve the service principal for the Azure Management API
    $azureApi = Get-MgServicePrincipal -Filter "servicePrincipalNames/any(n:n eq 'https://management.azure.com/')"
    
    # Exclude delegated permissions for the Azure Management API
    New-MgPolicyPermissionGrantPolicyExclude `
        -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group" `
        -PermissionType "delegated" `
        -ResourceApplication $azureApi.AppId
    

    Powtórz ten krok, aby dodać więcej zestawów warunków wykluczania.

Po utworzeniu zasad zgody aplikacji dla grupy można zezwolić właścicielom grup na wyrażenie zgody w ramach tych zasad.

  1. Poniżej przedstawiono sposób usuwania niestandardowych zasad zgody właściciela grupy.

    Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group"
    

Aby zarządzać zasadami zgody właściciela grupy, zaloguj się do Eksploratora programu Graph przy użyciu jednej z ról wymienionych w sekcji wymagań wstępnych. Musisz również wyrazić zgodę na Policy.ReadWrite.PermissionGrant uprawnienie.

Dowiedz się, jak sprawdzić, czy ustawienie zgody właściciela grupy zostało autoryzowane na inne sposoby.

  1. Pobieranie bieżącej wartości zasad

    GET /policies/authorizationPolicy
    

    Jeśli ManagePermissionGrantPoliciesForOwnedResource zostanie wyświetlone, ustawienie zgody właściciela grupy mogło zostać autoryzowane na inne sposoby.

  2. Sprawdź, czy zasady mają zakres group

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }
    

    Jeśli resourceScopeType == groupustawienie zgody właściciela grupy zostało autoryzowane na inne sposoby. Ponadto jeśli przypisano microsoft-pre-approval-apps-for-groupzasady zgody aplikacji dla grup, oznacza to, że funkcja preapproval jest włączona dla dzierżawy.

Warto zacząć od zapoznania się z istniejącymi zasadami zgody właściciela grupy w organizacji:

  1. Wyświetl listę wszystkich zasad zgody aplikacji:

    GET /policies/permissionGrantPolicies
    
  2. Wyświetl zestawy warunków "include" zasad:

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/includes
    
  3. Wyświetl zestawy warunków "wyklucz":

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/excludes
    

Wykonaj następujące kroki, aby utworzyć niestandardowe zasady zgody właściciela grupy:

  1. Utwórz nowe puste zasady zgody właściciela grupy.

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies
    
    {
      "id": "my-custom-app-consent-policy-for-group",
      "displayName": "My first custom app consent policy for group",
      "description": "This is a sample custom app consent policy for group",
      "includeAllPreApprovedApplications": false,
      "resourceScopeType": "group"
    }
    
  2. Dodaj zestawy warunków dołączania.

    Uwzględnij delegowane uprawnienia sklasyfikowane jako "niskie" dla aplikacji od zweryfikowanych wydawców

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-app-consent-policy-for-group }/includes
    
    {
      "permissionType": "delegated",
      "permissionClassification": "low",
      "clientApplicationsFromVerifiedPublisherOnly": true
    }
    

    Powtórz ten krok, aby dodać więcej zestawów warunków dołączania.

  3. Opcjonalnie dodaj zestawy warunków "wyklucz". Wyklucz delegowane uprawnienia dla interfejsu API usługi Azure Management (appId 00001111-aaaa-2222-bbbb-3333cc4444)

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-app-consent-policy-for-group }/excludes
    
    {
      "permissionType": "delegated",
      "resourceApplication": "00001111-aaaa-2222-bbbb-3333cccc4444 "
    }
    

    Powtórz ten krok, aby dodać więcej zestawów warunków wykluczania.

Po utworzeniu zasad zgody właściciela grupy można zezwolić właścicielom grup na zgodę podlegać tym zasadom.

  1. Poniżej przedstawiono sposób usuwania niestandardowych zasad zgody właściciela grupy.

    DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
    

Ostrzeżenie

Nie można przywrócić usuniętych zasad zgody właściciela grupy. Jeśli przypadkowo usuniesz niestandardowe zasady zgody właściciela grupy, musisz ponownie utworzyć zasady.

Obsługiwane warunki

Poniższa tabela zawiera listę obsługiwanych warunków zasad zgody właściciela grupy.

Warunek opis
PermissionClassification Klasyfikacja uprawnień dla przyznanego uprawnienia lub "wszystkie" do dopasowania do dowolnej klasyfikacji uprawnień (w tym uprawnień, które nie są klasyfikowane). Wartość domyślna to "all".
Typ uprawnień Typ uprawnienia, któremu udzielono uprawnień. Użyj "aplikacji" dla uprawnień aplikacji (na przykład ról aplikacji) lub "delegowanych" dla delegowanych uprawnień.

Uwaga: wartość "delegatedUserConsentable" wskazuje delegowane uprawnienia, które nie zostały skonfigurowane przez wydawcę interfejsu API w celu wymagania zgody administratora. Tej wartości można używać w wbudowanych zasadach udzielania uprawnień, ale nie można ich używać w niestandardowych zasadach udzielania uprawnień. Wymagany.
ResourceApplication Identyfikator AppId aplikacji zasobów (na przykład interfejs API), dla którego udzielono uprawnień lub "dowolny" do dopasowania do dowolnej aplikacji zasobów lub interfejsu API. Wartość domyślna to "any".
Uprawnienia Lista identyfikatorów uprawnień dla określonych uprawnień do dopasowania z lub listy z pojedynczą wartością "all", która ma być zgodna z dowolnym uprawnieniem. Wartość domyślna to pojedyncza wartość "all".
— Identyfikatory uprawnień delegowanych można znaleźć we właściwości OAuth2Permissions obiektu ServicePrincipal interfejsu API.
— Identyfikatory uprawnień aplikacji można znaleźć we właściwości AppRoles obiektu ServicePrincipal interfejsu API.
ClientApplicationIds Lista wartości AppId dla aplikacji klienckich, które mają być zgodne z, lub lista z pojedynczą wartością "all", aby dopasować dowolną aplikację kliencką. Wartość domyślna to pojedyncza wartość "all".
ClientApplicationTenantIds Lista identyfikatorów dzierżawy firmy Microsoft Entra, w których zarejestrowano aplikację kliencką, lub listę z pojedynczą wartością "all" zgodną z aplikacjami klienckimi zarejestrowanymi w dowolnej dzierżawie. Wartość domyślna to pojedyncza wartość "all".
ClientApplicationPublisherIds Lista identyfikatorów programu Microsoft Partner Network (MPN) dla zweryfikowanych wydawców aplikacji klienckiej lub lista z pojedynczą wartością "all" zgodną z aplikacjami klienckimi od dowolnego wydawcy. Wartość domyślna to pojedyncza wartość "all".
ClientApplicationsFromVerifiedPublisherOnly Ustaw ten przełącznik tak, aby był zgodny tylko dla aplikacji klienckich ze zweryfikowanymi wydawcami. Wyłącz ten przełącznik (-ClientApplicationsFromVerifiedPublisherOnly:$false), aby był zgodny z dowolną aplikacją kliencką, nawet jeśli nie ma zweryfikowanego wydawcy. Wartość domyślna to $false.

Ostrzeżenie

Nie można przywrócić usuniętych zasad zgody właściciela grupy. Jeśli przypadkowo usuniesz niestandardowe zasady zgody właściciela grupy, musisz ponownie utworzyć zasady.

Aby uzyskać pomoc lub znaleźć odpowiedzi na pytania: