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:
- Administrator ról uprzywilejowanych
- Rola niestandardowa z uprawnieniami niezbędnymi do zarządzania zasadami zgody właściciela grupy
- Rola aplikacji programu Microsoft Graph (uprawnienie aplikacji) Policy.ReadWrite.PermissionGrant (podczas nawiązywania połączenia jako aplikacja lub usługa)
- 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"
Pobieranie bieżącej wartości zasad zgody właściciela grupy przy użyciu programu PowerShell
Dowiedz się, jak sprawdzić, czy ustawienie zgody właściciela grupy zostało autoryzowane na inne sposoby.
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 programiePermissionGrantPoliciesAssigned
, ustawienie zgody właściciela grupy mogło zostać autoryzowane na inne sposoby.Sprawdź, czy zakres zasad ma zakres .
group
Get-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | Select -ExpandProperty AdditionalProperties
Jeśli ResourceScopeType
== group
ustawienie zgody właściciela grupy zostało autoryzowane na inne sposoby. Ponadto jeśli przypisano microsoft-pre-approval-apps-for-group
zasady zgody aplikacji dla grup, oznacza to, że funkcja preapproval jest włączona dla dzierżawy.
Wyświetlanie listy istniejących zasad zgody właściciela grupy przy użyciu programu PowerShell
Warto zacząć od zapoznania się z istniejącymi zasadami zgody właściciela grupy w organizacji:
Wyświetl listę wszystkich zasad zgody właściciela grupy:
Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
Wyświetl zestawy warunków "include" zasad:
Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
Wyświetl zestawy warunków "wyklucz":
Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
Tworzenie niestandardowych zasad zgody właściciela grupy przy użyciu programu PowerShell
Wykonaj następujące kroki, aby utworzyć niestandardowe zasady zgody właściciela grupy:
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"}
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.
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.
Usuwanie niestandardowych zasad zgody właściciela grupy przy użyciu programu PowerShell
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.
Pobieranie bieżącej wartości zasad zgody właściciela grupy przy użyciu programu Microsoft Graph
Dowiedz się, jak sprawdzić, czy ustawienie zgody właściciela grupy zostało autoryzowane na inne sposoby.
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.Sprawdź, czy zasady mają zakres
group
GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }
Jeśli
resourceScopeType
==group
ustawienie zgody właściciela grupy zostało autoryzowane na inne sposoby. Ponadto jeśli przypisanomicrosoft-pre-approval-apps-for-group
zasady zgody aplikacji dla grup, oznacza to, że funkcja preapproval jest włączona dla dzierżawy.
Wyświetlanie listy istniejących zasad zgody właściciela grupy przy użyciu programu Microsoft Graph
Warto zacząć od zapoznania się z istniejącymi zasadami zgody właściciela grupy w organizacji:
Wyświetl listę wszystkich zasad zgody aplikacji:
GET /policies/permissionGrantPolicies
Wyświetl zestawy warunków "include" zasad:
GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/includes
Wyświetl zestawy warunków "wyklucz":
GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/excludes
Tworzenie niestandardowych zasad zgody właściciela grupy przy użyciu programu Microsoft Graph
Wykonaj następujące kroki, aby utworzyć niestandardowe zasady zgody właściciela grupy:
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" }
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.
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.
Usuwanie niestandardowych zasad zgody właściciela grupy przy użyciu programu Microsoft Graph
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: