Konfigurowanie zgody krokowej opartej na ryzyku przy użyciu programu PowerShell

W tym artykule dowiesz się, jak skonfigurować zgodę krok po kroku opartą na ryzyku w identyfikatorze Entra firmy Microsoft. Zgoda na krok po kroku oparta na ryzyku pomaga zmniejszyć narażenie użytkowników na złośliwe aplikacje, które wysyłają nielegalne żądania zgody.

Na przykład żądania zgody dla nowo zarejestrowanych aplikacji wielodostępnych, które nie są zweryfikowane przez wydawcę i wymagają nieudostępnych uprawnień, są uznawane za ryzykowne. Jeśli zostanie wykryte ryzykowne żądanie zgody użytkownika, zamiast tego żądanie wymaga "kroku" zgody administratora. Ta funkcja kroku jest domyślnie włączona, ale powoduje zmianę zachowania tylko wtedy, gdy jest włączona zgoda użytkownika.

Po wykryciu ryzykownego żądania zgody w wierszu zgody zostanie wyświetlony komunikat wskazujący, że wymagane jest zatwierdzenie przez administratora. Jeśli przepływ pracy żądania zgody administratora jest włączony, użytkownik może wysłać żądanie do administratora w celu dalszej weryfikacji bezpośrednio z poziomu monitu o wyrażenie zgody. Jeśli przepływ pracy żądania zgody administratora nie jest włączony, zostanie wyświetlony następujący komunikat:

AADSTS90094: <clientAppDisplayName> musi mieć uprawnienia dostępu do zasobów w organizacji, które może udzielić tylko administrator. Poproś administratora o udzielenie uprawnień do tej aplikacji, zanim będzie można jej używać.

W takim przypadku zdarzenie inspekcji jest również rejestrowane z kategorią "ApplicationManagement", typem działania "Zgoda na aplikację" i przyczyną stanu "Wykryto ryzykowną aplikację".

Wymagania wstępne

Aby skonfigurować zgodę na krok po kroku opartym na ryzyku, potrzebne są następujące elementy:

  • Konto użytkownika. Jeśli jeszcze go nie masz, możesz bezpłatnie utworzyć konto.
  • Rola globalnego Administracja istratora lub rola uprzywilejowanego Administracja istratora.

Możesz użyć modułu Programu PowerShell programu Microsoft Graph w wersji beta, aby wyłączyć krok do zgody administratora, która jest wymagana w przypadkach wykrycia ryzyka lub włączenia go, jeśli została ona wcześniej wyłączona.

Ważne

Upewnij się, że używasz modułu poleceń cmdlet programu PowerShell w wersji beta programu Microsoft Graph.

  1. Uruchom następujące polecenie:

    Install-Module Microsoft.Graph.Beta
    
  2. Połączenie do programu Microsoft Graph PowerShell:

    Connect-MgGraph -Scopes "Directory.ReadWrite.All"
    
  3. Pobierz bieżącą wartość ustawień katalogu Ustawienia zasad zgody w dzierżawie. Wymaga to sprawdzenia, czy zostały utworzone ustawienia katalogu dla tej funkcji. Jeśli nie zostały utworzone, użyj wartości z odpowiedniego szablonu ustawień katalogu.

    $consentSettingsTemplateId = "dffd5d46-495d-40a9-8e21-954ff55e198a" # Consent Policy Settings
    $settings = Get-MgBetaDirectorySetting -All | Where-Object { $_.TemplateId -eq $consentSettingsTemplateId }
    if (-not $settings) {
        $params = @{
            TemplateId = $consentSettingsTemplateId
            Values = @(
                @{ 
                    Name = "BlockUserConsentForRiskyApps"
                    Value = "True"
                }
                @{ 
                    Name = "ConstrainGroupSpecificConsentToMembersOfGroupId"
                    Value = "<groupId>"
                }
                @{ 
                    Name = "EnableAdminConsentRequests"
                    Value = "True"
                }
                @{ 
                    Name = "EnableGroupSpecificConsent"
                    Value = "True"
                }
            )
        }
        $settings = New-MgBetaDirectorySetting -BodyParameter $params
    }
    $riskBasedConsentEnabledValue = $settings.Values | ? { $_.Name -eq "BlockUserConsentForRiskyApps" }
    
  4. Sprawdź wartość:

    $riskBasedConsentEnabledValue
    

    Opis wartości ustawień:

    Ustawienie Type Opis
    BlockUserConsentForRiskyApps Wartość logiczna Flaga wskazująca, czy zgoda użytkownika zostanie zablokowana po wykryciu ryzykownego żądania.
  5. Aby zmienić wartość BlockUserConsentForRiskyApps, użyj polecenia cmdlet Update-MgBetaDirectorySetting .

    $params = @{
        TemplateId = $consentSettingsTemplateId
        Values = @(
            @{ 
                Name = "BlockUserConsentForRiskyApps"
                Value = "False"
            }
            @{ 
                Name = "ConstrainGroupSpecificConsentToMembersOfGroupId"
                Value = "<groupId>"
            }
            @{ 
                Name = "EnableAdminConsentRequests"
                Value = "True"
            }
            @{ 
                Name = "EnableGroupSpecificConsent"
                Value = "True"
            }
        )
    }
    Update-MgBetaDirectorySetting -DirectorySettingId $settings.Id -BodyParameter $params
    

Następne kroki