Udostępnij za pośrednictwem


Omówienie sposobu integrowania aprowizacji z dziennikami usługi Azure Monitor

Aprowizowanie integruje się z dziennikami usługi Azure Monitor i usługą Log Analytics. Dzięki monitorowaniu platformy Azure możesz wykonywać takie czynności, jak tworzenie skoroszytów, nazywane również pulpitami nawigacyjnymi, przechowywanie dzienników aprowizacji przez 30 dni i tworzenie niestandardowych zapytań i alertów. W tym artykule omówiono sposób integrowania dzienników aprowizacji z dziennikami usługi Azure Monitor. Aby dowiedzieć się więcej na temat ogólnego sposobu działania dzienników aprowizacji, zobacz dzienniki aprowizacji.

Włączanie integracji dzienników aprowizacji

Jeśli nie znasz jeszcze usług Azure Monitor i Log Analytics, zapoznaj się z następującymi zasobami, a następnie wróć, aby dowiedzieć się więcej na temat integrowania dzienników aprowizacji aplikacji z dziennikami usługi Azure Monitor.

Aby zintegrować dzienniki aprowizacji z dziennikami usługi Azure Monitor:

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator zabezpieczeń.

  2. Utwórz obszar roboczy usługi Log Analytics.

  3. Przejdź do pozycji Ustawienia>diagnostyczne monitorowania tożsamości i kondycji.>

    Zrzut ekranu przedstawiający uzyskiwanie dostępu do ustawień diagnostycznych.

  4. Wybierz dzienniki, które chcesz przesłać strumieniowo, wybierz opcję Wyślij do obszaru roboczego usługi Log Analytics i wypełnij pola.

    Zrzut ekranu przedstawiający włączanie dzienników aprowizacji aplikacji.

  5. Przejdź do usługi Log Analytics>i kondycji>i rozpocznij wykonywanie zapytań dotyczących danych.

Uwaga

Zanim dzienniki pojawią się w usłudze Log Analytics po pierwszym włączeniu integracji, może upłynąć trochę czasu. Jeśli wystąpi błąd z informacją, że subskrypcja nie jest zarejestrowana do korzystania z microsoft.insights , sprawdź ponownie po kilku minutach.

Informacje o danych

Podstawowy strumień danych, który aprowizacja wysyła osoby przeglądające dzienniki, jest prawie identyczny. Dzienniki usługi Azure Monitor pobierają niemal ten sam strumień co centrum administracyjne firmy Microsoft Entra i interfejs API programu Microsoft Graph. Istnieje kilka różnic w polach dziennika, jak opisano w poniższej tabeli. Usługa Log Analytics może wyświetlać więcej zdarzeń niż dzienniki w centrum administracyjnym firmy Microsoft Entra. Aby dowiedzieć się więcej o tych polach, zobacz List provisioningObjectSummary.

Dzienniki usługi Azure Monitor Interfejs użytkownika witryny Azure Portal Azure API
errorDescription reason resultDescription
status resultType resultType
activityDateTime TimeGenerated TimeGenerated

Skoroszyty firmy Microsoft Entra

Skoroszyty tożsamości firmy Microsoft Entra udostępniają elastyczną kanwę do analizy danych. Zapewniają one również tworzenie rozbudowanych raportów wizualnych w witrynie Azure Portal. Aby dowiedzieć się więcej, zobacz Microsoft Entra workbooks (Skoroszyty firmy Microsoft).

Analiza aprowizacji i szczegółowe informacje dotyczące aprowizacji to dwa wstępnie utworzone skoroszyty. Aby wyświetlić dane, upewnij się, że wszystkie filtry (timeRange, jobID, appName) są wypełnione. Upewnij się również, że aplikacja została aprowizowana. W przeciwnym razie nie ma żadnych danych w dziennikach.

Skoroszyty aprowizacji aplikacji

Pulpit nawigacyjny aprowizacji aplikacji

Zapytania niestandardowe

Możesz tworzyć zapytania niestandardowe i wyświetlać dane w skoroszytach. Aby dowiedzieć się, jak to zrobić, zobacz Rozpoczynanie pracy z zapytaniami dzienników w usłudze Azure Monitor i Zapytania dziennika w usłudze Azure Monitor.

Poniżej przedstawiono kilka przykładów, które umożliwiają rozpoczęcie pracy z zapytaniami dziennika aprowizacji aplikacji.

Wykonaj zapytanie dotyczące dzienników dla użytkownika na podstawie ich identyfikatora w systemie źródłowym:

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| where tostring(SourceIdentity.Id) == "49a4974bb-5011-415d-b9b8-78caa7024f9a"

Podsumowywanie liczby na kod błędu:

AADProvisioningLogs
| summarize count() by ErrorCode = ResultSignature

Podsumowywanie liczby zdarzeń dziennie według akcji:

AADProvisioningLogs
| where TimeGenerated > ago(7d)
| summarize count() by Action, bin(TimeGenerated, 1d)

Weź 100 zdarzeń i właściwości klucza projektu:

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| extend TargetIdentity = parse_json(TargetIdentity)
| extend ServicePrincipal = parse_json(ServicePrincipal)
| where tostring(SourceIdentity.identityType) == "Group"
| project tostring(ServicePrincipal.Id), tostring(ServicePrincipal.Name), ModifiedProperties, JobId, Id, CycleId, ChangeId, Action, SourceIdentity.identityType, SourceIdentity.details, TargetIdentity.identityType, TargetIdentity.details, ProvisioningSteps
| take 100

Pobieranie grup z pominiętymi członkami z powodu problemów z rozwiązywaniem odwołań.

AADProvisioningLogs
| where TimeGenerated >= ago(10d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend SourceIdentity = parse_json(SourceIdentity)
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| where tostring(SourceIdentity.identityType) == "Group"
| where ProvisioningSteps matches regex "UnableToResolveReferenceAttributeValue"
| parse tostring(ProvisioningSteps.[2].description) with "We were unable to assign " userObjectId " as the members of " groupDisplayName "." *
| project groupDisplayName, userObjectId,  JobId
| take 100

Podsumowanie akcji według aplikacji.

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, JobId
| order by JobId asc
| take 5

Identyfikowanie skoków liczby określonych operacji.

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "scim.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, bin(TimeGenerated, 1d)
| render timechart

Alerty niestandardowe

Usługa Azure Monitor umożliwia konfigurowanie alertów niestandardowych, dzięki czemu można otrzymywać powiadomienia o kluczowych zdarzeniach związanych z aprowizowaniem. Możesz na przykład chcieć otrzymywać alert o gwałtownych skokach liczby niepowodzeń, wyłączeń lub usunięć. Możesz również chcieć otrzymywać alerty, jeśli występują braki w dostarczaniu, co oznacza, że coś jest nie w porządku.

Aby dowiedzieć się więcej na temat alertów, zobacz Alerty dzienników usługi Azure Monitor. Istnieje wiele opcji i konfiguracji, dlatego zapoznaj się z pełną dokumentacją. Ogólnie rzecz biorąc, oto jak możesz utworzyć alert:

  1. Z poziomu Log Analytics wybierz pozycję + Nowa reguła alertu.
  2. Na karcie wybierz link Wyświetl wynik i edytuj zapytanie w Dziennikach.
  3. Wprowadź zapytanie, dla którego chcesz otrzymywać alert, i wypełnij pola niezbędne do utworzenia alertu.

Aby utworzyć alert w przypadku nagłego wzrostu liczby niepowodzeń:

AADProvisioningLogs
| where JobId == "string" // Customize by adding a specific app JobId
| where ResultType == "Failure"

Może wystąpić problem, który spowodował, że usługa aprowizacji przestała działać. Użyj następującego zapytania, aby wykryć, czy w danym przedziale czasu nie ma żadnych zdarzeń aprowizacji.

AADProvisioningLogs
| take 1

Aby utworzyć alert w przypadku nagłego wzrostu liczby wyłączeń lub usunięć:

AADProvisioningLogs
| where Action in ("Disable", "Delete")

Współtworzenie społeczności

Korzystamy z podejścia open source i opartego na społeczności do aprowizacji zapytań i pulpitów nawigacyjnych aplikacji. Utwórz zapytanie, alert lub skoroszyt, który uważasz za przydatne dla innych użytkowników, a następnie opublikuj je w repozytorium GitHub AzureMonitorCommunity. Zastrzelij nam wiadomość e-mail z linkiem. Przeglądamy i publikujemy zapytania i pulpity nawigacyjne w usłudze, aby inne osoby również korzystały. Skontaktuj się z nami pod adresem provisioningfeedback@microsoft.com.

Następne kroki