Zarządzanie zasadami wyrażania zgody aplikacji

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 zapewnić, że udzielają dostępu tylko do zaufanych aplikacji.

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

Za pomocą programu Microsoft Graph i programu Microsoft Graph PowerShell można wyświetlać zasady zgody aplikacji i zarządzać nimi.

Zasady zgody aplikacji składają się z co najmniej jednego zestawu warunków "dołączania" i zera lub większej liczby zestawów warunków "wykluczania". Aby zdarzenie było brane pod uwagę w zasadach zgody aplikacji, musi być zgodne z co najmniej jednym zestawem warunków "dołączania" i nie może być zgodne 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 aplikacji, w których identyfikator zaczyna się od "microsoft-" są wbudowanymi zasadami. Niektóre z tych wbudowanych zasad są używane w istniejących wbudowanych rolach katalogu. Na przykład microsoft-application-admin zasady zgody aplikacji opisują warunki, w których role Administracja istrator aplikacji i Administracja istratora aplikacji w chmurze mogą udzielać zgody administratora dla całej dzierżawy. 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:
    • Rola katalogu globalnego Administracja istratora
    • Rola uprzywilejowana Administracja istrator katalogu
    • Rola katalogu niestandardowego z niezbędnymi uprawnieniami do zarządzania zasadami zgody aplikacji
    • Rola aplikacji microsoft Graph (uprawnienie aplikacji) Policy.ReadWrite.PermissionGrant podczas nawiązywania połączenia jako aplikacja lub usługa

Aby zarządzać zasadami zgody aplikacji dla aplikacji za pomocą programu Microsoft Graph PowerShell, połącz się z programem Microsoft Graph PowerShell.

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

Warto zacząć od zapoznania się z istniejącymi zasadami zgody aplikacji w organizacji:

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

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

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    
  3. Wyświetl zestawy warunków "wyklucz":

    Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    

Wykonaj następujące kroki, aby utworzyć niestandardowe zasady zgody aplikacji:

  1. Utwórz nowe puste zasady zgody aplikacji.

    New-MgPolicyPermissionGrantPolicy `
        -Id "my-custom-policy" `
        -DisplayName "My first custom consent policy" `
        -Description "This is a sample custom app consent policy."
    
  2. Dodaj zestawy warunków dołączania.

    # Include delegated permissions classified "low", for apps from verified publishers
    New-MgPolicyPermissionGrantPolicyInclude `
        -PermissionGrantPolicyId "my-custom-policy" `
        -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-policy" `
        -PermissionType "delegated" `
        -ResourceApplication $azureApi.AppId
    

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

Po utworzeniu zasad zgody aplikacji należy przypisać ją do roli niestandardowej w identyfikatorze Entra firmy Microsoft. Następnie należy przypisać użytkowników do tej roli niestandardowej, która jest dołączona do utworzonych zasad zgody aplikacji. Aby uzyskać więcej informacji na temat przypisywania zasad zgody aplikacji do roli niestandardowej, zobacz Uprawnienia zgody aplikacji dla ról niestandardowych.

Poniższe polecenie cmdlet pokazuje, jak można usunąć niestandardowe zasady zgody aplikacji.

   Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-policy"

Aby zarządzać zasadami zgody aplikacji, zaloguj się do Eksploratora programu Graph przy użyciu jednej z ról wymienionych w sekcji wymagań wstępnych.

Musisz wyrazić zgodę na Policy.ReadWrite.PermissionGrant uprawnienie.

Warto zacząć od zapoznania się z istniejącymi zasadami zgody aplikacji w organizacji:

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

    GET /policies/permissionGrantPolicies?$select=id,displayName,description
    
  2. Wyświetl zestawy warunków "include" zasad:

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

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/excludes
    

Wykonaj następujące kroki, aby utworzyć niestandardowe zasady zgody aplikacji:

  1. Utwórz nowe puste zasady zgody aplikacji.

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies
    Content-Type: application/json
    
    {
      "id": "my-custom-policy",
      "displayName": "My first custom consent policy",
      "description": "This is a sample custom app consent policy"
    }
    
  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-policy }/includes
    Content-Type: application/json
    
    {
      "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 46e6adf4-a9cf-4b60-9390-0ba6fb00bf6b)

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/my-custom-policy /excludes
    Content-Type: application/json
    
    {
      "permissionType": "delegated",
      "resourceApplication": "46e6adf4-a9cf-4b60-9390-0ba6fb00bf6b "
    }
    

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

Po utworzeniu zasad zgody aplikacji należy przypisać ją do roli niestandardowej w identyfikatorze Entra firmy Microsoft. Następnie należy przypisać użytkowników do tej roli niestandardowej, która jest dołączona do utworzonych zasad zgody aplikacji. Aby uzyskać więcej informacji na temat przypisywania zasad zgody aplikacji do roli niestandardowej, zobacz Uprawnienia zgody aplikacji dla ról niestandardowych.

  1. Poniżej przedstawiono sposób usuwania niestandardowych zasad zgody aplikacji.

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

Ostrzeżenie

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

Obsługiwane warunki

Poniższa tabela zawiera listę obsługiwanych warunków dla zasad zgody aplikacji.

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".
Permissiontype 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 są 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.
scopeType Typ zakresu zasobów, do których ma zastosowanie preapproval. Możliwe wartości: group dla grup i zespołów, chat czatów lub tenant dostępu do całej dzierżawy. Wymagany.
sensitivityLabels Etykiety poufności, które mają zastosowanie do typu zakresu i nie są wstępnie zatwierdzone. Umożliwia ochronę poufnych danych organizacji. Dowiedz się więcej o etykietach poufności. Uwaga: zasób czatu nie obsługuje jeszcze poufnościLabels.

Następne kroki

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