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 Administrator aplikacji i Administrator 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 administrator ról uprzywilejowanych
- 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"
Wyświetlanie listy istniejących zasad zgody aplikacji
Warto zacząć od zapoznania się z istniejącymi zasadami zgody aplikacji w organizacji:
Wyświetl listę wszystkich zasad zgody aplikacji:
Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
Wyświetl zestawy warunków "include" zasad:
Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
Wyświetl zestawy warunków "wyklucz":
Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
Tworzenie niestandardowych zasad zgody aplikacji przy użyciu programu PowerShell
Wykonaj następujące kroki, aby utworzyć niestandardowe zasady zgody aplikacji:
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."
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.
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.
Usuwanie niestandardowych zasad zgody aplikacji przy użyciu programu PowerShell
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.
Wyświetlanie listy istniejących zasad zgody aplikacji przy użyciu programu Microsoft Graph
Warto zacząć od zapoznania się z istniejącymi zasadami zgody aplikacji w organizacji:
Wyświetl listę wszystkich zasad zgody aplikacji:
GET /policies/permissionGrantPolicies?$select=id,displayName,description
Wyświetl zestawy warunków "include" zasad:
GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/includes
Wyświetl zestawy warunków "wyklucz":
GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/excludes
Tworzenie niestandardowych zasad zgody aplikacji przy użyciu programu Microsoft Graph
Wykonaj następujące kroki, aby utworzyć niestandardowe zasady zgody aplikacji:
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" }
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.
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-policy /excludes Content-Type: application/json { "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 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.
Usuwanie niestandardowych zasad zgody aplikacji Microsoft Graph
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". |
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 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: