> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Konfiguracja integracji z Microsoft Entra ID

> Połącz Microsoft Entra ID z Living Security, aby uzyskać dane o tożsamościach, logowaniach, ryzyku, urządzeniach i symulacjach ataków.

export const EgressIpAllowlistBothSets = ({system}) => <Warning>
    <strong>{system} wymaga dwóch zestawów adresów, a nie jednego.</strong> Living Security generuje token dostępu tej integracji we własnej infrastrukturze i stale go odświeża, dlatego ruch konfiguracyjny i ruch synchronizacji wychodzą z różnych sieci. Dodaj oba zestawy do listy dozwolonych w {system} i pozostaw oba — nie jest to wymóg dotyczący wyłącznie konfiguracji.
    <br />
    <br />
    <strong>Ruch synchronizacji integracji</strong> — taki sam we wszystkich regionach:
    <br />
    <code>52.34.139.153/32</code>, <code>54.69.127.183/32</code>, <code>44.247.133.183/32</code>,{' '}
    <code>52.26.211.56/32</code>
    <br />
    <br />
    <strong>Ruch platformy</strong> — użyj wyłącznie wiersza odpowiadającego regionowi, w którym jest hostowana Twoja organizacja:
    <br />
    Stany Zjednoczone: <code>98.91.60.249/32</code>, <code>13.216.91.102/32</code>
    <br />
    Unia Europejska: <code>34.246.236.210/32</code>, <code>52.31.102.238/32</code>
    <br />
    <br />
    Jeśli dodasz do listy dozwolonych tylko zestaw synchronizacji, konfiguracja nigdy się nie zakończy. Jeśli dodasz tylko zestaw platformy, konfiguracja zakończy się powodzeniem, ale każda synchronizacja zakończy się błędem. Opis obu objawów błędów oraz zasady wprowadzania zmian znajdziesz w artykule{' '}
    <a href="/pl/integrations/managing/egress-ip-addresses">
      Konfigurowanie adresów IP ruchu wychodzącego integracji
    </a>.
  </Warning>;

export const PublicIntegrationNextSteps = () => <>
    <hr />
    <h2>Powiązane zasoby</h2>
    <ul>
      <li>
        <a href="/pl/signals/data-sources">Dowiedz się, w jaki sposób dane z integracji stają się sygnałami w ramach zarządzania ryzykiem związanym z czynnikiem ludzkim (Human Risk Management)</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/integrations">Poznaj integracje Living Security</a>
      </li>
      <li>
        <a href="https://app.livingsecurity.ai/">Otwórz Living Security Platform</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/request-demo/">Poproś o demonstrację Living Security</a>
      </li>
    </ul>
  </>;

export const HandoffPaths = () => <Tabs>
    <Tab title="Konfiguracja delegowana (zalecana w przypadku sekretów)">
      Zaproś administratora systemu do platformy z uprawnieniami o ograniczonym zakresie. Administrator wprowadza
      dane uwierzytelniające bezpośrednio, dzięki czemu Ty nigdy nie masz kontaktu z sekretem.
    </Tab>
    <Tab title="Przekazanie danych uwierzytelniających">
      Wyślij administratorowi stronę dostawcy. Administrator utworzy dane uwierzytelniające i przekaże je
      Tobie, a Ty wprowadzisz je w oknie dialogowym Connect.
    </Tab>
  </Tabs>;

export const ConnectInPlatform = ({tile, children}) => <Step title="Wprowadź dane uwierzytelniające w Living Security Platform">
    <p>
      Czynność wykonuje osoba posiadająca dostęp do Living Security — właściciel programu lub
      administrator systemu, jeśli został zaproszony (konfiguracja delegowana).
    </p>
    <ol>
      <li>
        Przejdź do <strong>Ustawienia → Integracje → Katalog</strong>, znajdź kafelek{' '}
        <strong>{tile}</strong> i kliknij <strong>Połącz</strong>.
      </li>
      <li>
        Wypełnij poniższe pola, a następnie kliknij <strong>Połącz</strong>.
      </li>
    </ol>
    {children}
  </Step>;

export const SystemAdminBanner = ({system, recommendDelegated}) => <Note>
    <p>
      <strong>Ten przewodnik jest przeznaczony dla administratora systemu {system}.</strong> Opisuje tworzenie
      poświadczeń API w systemie {system}, co wymaga uprawnień administracyjnych w systemie {system}, a nie w
      Living Security Platform.
    </p>
    <p>
      Jeśli jesteś <strong>właścicielem programu</strong> Living Security i nie administrujesz systemem {system},
      przekaż tę stronę osobie, która nim administruje. Osoba ta wykona część A i przekaże Ci poświadczenia
      (lub wprowadzi je bezpośrednio, jeśli została zaproszona do platformy).
      {recommendDelegated && <>
          {' '}Ponieważ konfiguracja generuje poufny materiał kluczowy, zalecamy skorzystanie ze ścieżki{' '}
          <strong>konfiguracji delegowanej</strong>, dzięki której tajny klucz nigdy nie zostanie do Ciebie odesłany.
        </>}
    </p>
  </Note>;

<SystemAdminBanner system="Microsoft Entra ID" />

<HandoffPaths />

## Co wnosi ta integracja

Microsoft Entra ID może dostarczać znormalizowane dane o aktywności dotyczącej tożsamości, logowań, ryzyka, urządzeń i symulacji ataków. Sprawdzone przykłady obejmują:

* `account.compromised` — konto oznaczone jako przejęte
* `auth.login.unusual` — logowania w nietypowych kontekstach
* `phishing.simulation.clicked` — kliknięcie w symulację bez jej zgłoszenia

Są to przykłady reprezentatywne; nie gwarantują, że każde zdarzenie jest dostępne w każdej dzierżawie. Zobacz [jak dane z integracji stają się sygnałami](/pl/signals/data-sources).

## Czego potrzebuje Living Security

| Poświadczenie | Opis |
| - | - |
| **Identyfikator dzierżawy** | Identyfikator UUID katalogu (dzierżawy) z centrum administracyjnego Microsoft Entra |
| **Identyfikator klienta** | Identyfikator UUID aplikacji (klienta) przypisany podczas rejestracji aplikacji |
| **Sekret klienta** | Poświadczenie tajne wygenerowane w rejestracji aplikacji — w oknie połączenia to pole ma etykietę **Klucz API** |
| **Host Graph API** | Nazwa hosta Microsoft Graph (chmura komercyjna: `graph.microsoft.com`) |
| **Host Authority** | Nazwa hosta urzędu uwierzytelniania Microsoft Entra (chmura komercyjna: `login.microsoftonline.com`) |

**Zakresy (uprawnienia aplikacji):**

| Uprawnienie | Zastosowanie |
| - | - |
| `User.Read.All` | Katalog użytkowników |
| `SecurityAlert.Read.All` | Alerty bezpieczeństwa |
| `AuditLog.Read.All` | Dzienniki logowania i szczegóły rejestracji MFA |
| `Policy.Read.ConditionalAccess` | Szczegóły dostępu warunkowego dla każdego logowania — które zasady zostały zastosowane i jakie kontrolki przyznawania dostępu wymusiły. Od tego zależy wykrywanie MFA |
| `AttackSimulation.Read.All` | Wyniki Attack Simulation Training |
| `Device.Read.All` | Obiekty urządzeń Entra ID, w tym urządzenia, którymi Intune nie zarządza |
| `DeviceManagementManagedDevices.Read.All` | Urządzenia zarządzane przez Intune |
| `IdentityRiskEvent.Read.All` | Wykrycia ryzyka z Identity Protection, w tym wycieki poświadczeń |
| `GroupMember.ReadWrite.All` | **Opcjonalnie.** Działania dotyczące członkostwa w grupach — umożliwia Playbookowi dodanie osoby do grupy Microsoft Entra ID lub usunięcie jej z tej grupy |

### Ty decydujesz, co to połączenie może robić

To połączenie odczytuje dane. Może też *wykonywać działania* w Twoim katalogu, ale tylko wtedy, gdy
na to zezwolisz.

Każde z powyższych uprawnień poza ostatnim jest tylko do odczytu. Jeśli nadasz wyłącznie je,
połączenie nigdy nie będzie mogło niczego zmodyfikować w Twojej dzierżawie — platforma to wykrywa i
w ogóle nie oferuje działań na grupach.

Dodaj `GroupMember.ReadWrite.All`, a działania dotyczące członkostwa w grupach staną się dostępne w
Playbookach. Nic nie uruchomi się samo: nadal musisz wskazać grupy, na których
platforma może operować (patrz niżej), oraz utworzyć Playbook, który z nich korzysta.

Możesz zmienić decyzję w dowolnym momencie. Wystarczy dodać lub usunąć uprawnienie w Microsoft Entra ID
i ponownie udzielić zgody administratora — nie trzeba ponownie wprowadzać poświadczeń na platformie,
a synchronizacje danych działają przez cały czas. Zmiana zaczyna obowiązywać w ciągu około
godziny.

<Note>
  **Działania dotyczące członkostwa w grupach są dodatkowo ograniczone do wyznaczonych przez Ciebie grup.** Po
  nawiązaniu połączenia administrator wybiera w ustawieniach połączenia jawną listę dozwolonych grup.
  Dopóki ta lista nie istnieje, działania na grupach są niedostępne, nawet jeśli uprawnienie zostało nadane —
  dlatego `GroupMember.ReadWrite.All` nigdy nie oznacza „dowolnej grupy w dzierżawie”.

  Wybieraj te grupy ostrożnie: unikaj grup, które przyznają role administracyjne,
  uprzywilejowany dostęp lub uprawnienia licencyjne.
</Note>

**Wymagana rola:** **Application Administrator** lub **Global Administrator** w Microsoft Entra ID

<Note>
  **Dwa z tych uprawnień zostały dodane niedawno.** Jeśli Microsoft Entra ID został połączony, zanim pojawiły się one na tej liście,
  dodaj je do istniejącej rejestracji aplikacji i **ponownie udziel zgody administratora** —
  Microsoft wymaga ponownego udzielenia zgody po każdej zmianie uprawnień. Wszystkie pozostałe strumienie danych
  w międzyczasie działają normalnie.

  `Policy.Read.ConditionalAccess` — bez tego uprawnienia Microsoft usuwa szczegóły dostępu warunkowego
  z każdego rekordu logowania. Rekord nadal informuje, że zasada dostępu warunkowego została
  spełniona, ale lista zasad jest pusta. Nic nie kończy się błędem i nic nie ostrzega: dane
  o logowaniach nadal napływają, a połączenie pozostaje sprawne. Platforma po prostu nie może ustalić, które logowania
  zostały zaakceptowane dzięki uwierzytelnianiu wieloskładnikowemu, więc dane o aktywności MFA z tego połączenia pozostają puste.

  `IdentityRiskEvent.Read.All` — odczyt wykryć ryzyka wymaga również licencji **Microsoft Entra ID P1 lub
  P2**. Samo wykrywanie wycieków poświadczeń jest dostępne na każdym poziomie, także w P1; wykrycia
  premium są raportowane jako `generic` poniżej poziomu P2.
</Note>

### Wymagania wstępne

* Aby rejestrować aplikacje i udzielać zgody administratora, musisz mieć dostęp **Application Administrator** lub **Global Administrator** w Microsoft Entra ID.

***

## Część A — W Microsoft Entra ID

*Te kroki wykonuje administrator Microsoft Entra ID.*

<Steps>
  <Step title="Zarejestruj nową aplikację">
    1. Zaloguj się do [centrum administracyjnego Microsoft Entra](https://entra.microsoft.com).
    2. W nawigacji po lewej stronie przejdź do **Entra ID** → **App registrations**.
    3. Kliknij **New registration**.
    4. Wprowadź zrozumiałą nazwę aplikacji, na przykład `Living Security Platform`.
    5. W sekcji **Supported account types** wybierz **Accounts in this organizational directory only**.
    6. Pozostaw pole **Redirect URI** puste — ta integracja korzysta z przepływu poświadczeń klienta (client credentials flow).
    7. Kliknij **Register**.

    Po rejestracji zapisz następujące wartości ze strony **Overview**:

    * **Application (client) ID**
    * **Directory (tenant) ID**
  </Step>

  <Step title="Dodaj uprawnienia aplikacji Microsoft Graph">
    1. Na stronie **Overview** swojej aplikacji kliknij w lewym menu **API permissions**.
    2. Kliknij **Add a permission**.
    3. Wybierz **Microsoft Graph**.
    4. Wybierz **Application permissions**.
    5. Wyszukaj i wybierz każde z poniższych uprawnień, a następnie kliknij **Add permissions**:
       * `User.Read.All`
       * `SecurityAlert.Read.All`
       * `AuditLog.Read.All`
       * `Policy.Read.ConditionalAccess`
       * `AttackSimulation.Read.All`
       * `Device.Read.All`
       * `DeviceManagementManagedDevices.Read.All`
       * `IdentityRiskEvent.Read.All`
    6. Dodaj `GroupMember.ReadWrite.All` **tylko wtedy**, gdy chcesz, aby Playbooki mogły zmieniać członkostwo w grupach. Pomiń je, aby to połączenie pozostało tylko do odczytu.

    <Note>
      To minimalne uprawnienia dla wszystkich strumieni danych. Jeśli zamierzasz włączyć tylko część strumieni, możesz pominąć uprawnienia dla strumieni, z których nie będziesz korzystać.
    </Note>
  </Step>

  <Step title="Udziel zgody administratora">
    Uprawnienia aplikacji wymagają jawnej zgody administratora.

    1. Na stronie **API permissions** kliknij **Grant admin consent for \<your tenant name>**.
    2. W oknie potwierdzenia kliknij **Yes**.
    3. Sprawdź, czy przy każdym uprawnieniu w kolumnie **Status** widnieje **Granted**.

    <Note>
      Jeśli przycisk **Grant admin consent** jest wyszarzony, potrzebujesz uprawnień **Privileged Role Administrator** lub **Global Administrator**. Zgodę administratora trzeba udzielić ponownie za każdym razem, gdy dodajesz nowe uprawnienia.
    </Note>
  </Step>

  <Step title="Utwórz sekret klienta">
    1. Na stronie **Overview** swojej aplikacji kliknij w lewym menu **Certificates & secrets**.
    2. Otwórz kartę **Client secrets**, a następnie kliknij **New client secret**.
    3. Wprowadź opis (np. `Living Security Platform`).
    4. Wybierz okres ważności zgodny z Twoją polityką rotacji.
    5. Kliknij **Add**.

    <Warning>
      **Skopiuj wartość sekretu od razu.** Microsoft Entra ID wyświetla pełny sekret klienta tylko raz. Jeśli opuścisz stronę przed jego skopiowaniem, musisz usunąć sekret i utworzyć nowy.
    </Warning>

    Przechowuj sekret w bezpiecznym miejscu. Ustaw przypomnienie w kalendarzu, aby zmienić go przed wygaśnięciem — wygasły sekret powoduje błędy synchronizacji z komunikatem `401 Unauthorized`.
  </Step>

  <Step title="Ustal hosty Graph API i Authority">
    W większości organizacji korzystających z chmury komercyjnej należy użyć wartości domyślnych:

    | Pole | Wartość dla chmury komercyjnej |
    | - | - |
    | **Host Graph API** | `graph.microsoft.com` |
    | **Host Authority** | `login.microsoftonline.com` |

    W przypadku chmur rządowych lub suwerennych użyj punktów końcowych właściwych dla Twojego środowiska.

    <Note>
      Host Graph API i host Authority muszą do siebie pasować — tokeny z urzędu uwierzytelniania jednej chmury nie są ważne dla punktu końcowego Graph innej chmury.
    </Note>
  </Step>
</Steps>

***

## Część B — W Living Security Platform

*Ten krok wykonuje właściciel programu lub administrator systemu, jeśli został zaproszony na platformę.*

<Steps>
  <ConnectInPlatform tile="Microsoft Entra ID (Client Credentials)">
    | Pole | Wartość |
    | - | - |
    | **Klucz API** | Sekret klienta z Części A, krok 4 |
    | **Identyfikator dzierżawy Azure** | Directory (tenant) ID z Części A, krok 1 |
    | **Identyfikator klienta** | Application (client) ID z Części A, krok 1 |
    | **Host Graph API** | `graph.microsoft.com` (lub punkt końcowy Twojej chmury) |
    | **Host Authority** | `login.microsoftonline.com` (lub punkt końcowy Twojej chmury) |

    <img src="https://mintcdn.com/livingsecurity/oVkrOMkYmNevekTI/integrations/images/microsoft-entra-id-cc/connect-dialog.png?fit=max&auto=format&n=oVkrOMkYmNevekTI&q=85&s=2a192b0a28e753ad0e0bc0b640508136" alt="Okno połączenia Living Security dla Microsoft Entra ID" style={{maxWidth: "450px"}} width="576" height="692" data-path="integrations/images/microsoft-entra-id-cc/connect-dialog.png" />
  </ConnectInPlatform>
</Steps>

Połączenie z Microsoft Entra ID (Client Credentials) zostało nawiązane.

***

## Rozwiązywanie problemów

<AccordionGroup>
  <Accordion title="401 Unauthorized">
    Poświadczenia są nieprawidłowe lub wygasły. Sprawdź:

    1. Czy Sekret klienta nie wygasł i nie został zmieniony
    2. Czy Identyfikator dzierżawy i Identyfikator klienta są poprawne
    3. Czy host Authority odpowiada Twojemu środowisku chmurowemu
  </Accordion>

  <Accordion title="403 Forbidden">
    W rejestracji aplikacji brakuje uprawnień lub nie udzielono zgody administratora. Sprawdź:

    1. Czy wszystkie wymagane uprawnienia są wymienione w **API permissions**
    2. Czy przy każdym uprawnieniu widnieje stan **Granted** (zielony znacznik)
    3. Czy zgodę administratora udzielono po dodaniu uprawnień

    <Note>
      Jeśli po pierwotnym udzieleniu zgody dodano nowe uprawnienia, trzeba ponownie udzielić zgody administratora.
    </Note>
  </Accordion>

  <Accordion title="Puste wyniki dla określonych strumieni danych">
    W aplikacji może brakować uprawnienia dla danego strumienia:

    * Brak użytkowników → brakuje `User.Read.All`
    * Brak alertów bezpieczeństwa → brakuje `SecurityAlert.Read.All`
    * Brak dzienników logowania → brakuje `AuditLog.Read.All`
    * Brak wyników symulacji ataków → brakuje `AttackSimulation.Read.All`
    * Brak urządzeń Entra ID → brakuje `Device.Read.All`
    * Brak urządzeń zarządzanych przez Intune → brakuje `DeviceManagementManagedDevices.Read.All`
    * Brak wykryć ryzyka → brakuje `IdentityRiskEvent.Read.All`, nie udzielono ponownie zgody administratora
      po jego dodaniu lub dzierżawa nie spełnia minimalnego wymogu licencji Microsoft Entra ID P1
  </Accordion>

  <Accordion title="Żądanie tokenu kończy się błędem invalid_client">
    Host Graph API i host Authority mogą do siebie nie pasować. Oba muszą odpowiadać temu samemu środowisku chmurowemu (komercyjnemu, rządowemu itd.).
  </Accordion>

  <Accordion title="Działania na grupach nie są widoczne w Playbooku">
    Działania dotyczące członkostwa w grupach są oferowane tylko wtedy, gdy spełnione są wszystkie trzy warunki:

    1. `GroupMember.ReadWrite.All` znajduje się w rejestracji aplikacji i udzielono zgody administratora. Jeśli dodano je niedawno, odczekaj do godziny.
    2. Administrator wyznaczył w połączeniu listę dozwolonych grup.
    3. Połączenie jest aktywne i sprawne.

    Jeśli uprawnienie zostało nadane, a działania nadal są niedostępne, ponownie udziel zgody administratora — Microsoft wymaga tego po każdej zmianie uprawnień.
  </Accordion>

  <Accordion title="Dostęp warunkowy blokuje połączenie lub jego działania">
    Jeśli w Twojej dzierżawie obowiązuje zasada dostępu warunkowego (Conditional Access) ograniczona adresami IP, może ona blokować żądania
    zawierające poświadczenie tego połączenia. Większości dzierżaw to nie dotyczy — Microsoft Graph
    domyślnie nie ogranicza dostępu według adresów IP. Jeśli jednak stosujesz zasadę opartą na adresach IP dla jednostek
    usługi, ta integracja wymaga dodania do listy dozwolonych **dwóch** zestawów adresów, ponieważ konfiguracja i
    synchronizacja danych korzystają z różnych sieci.

    Living Security samodzielnie generuje token dostępu dla tego połączenia i stale go odnawia, więc
    żądania tokenu wychodzą z własnych adresów platformy, a nie z adresów używanych przez synchronizacje
    danych.

    Działania na grupach są odrębne. Domyślnie są kierowane tak samo jak synchronizacje danych i wychodzą
    z adresów synchronizacji. Przechodzą na adresy platformy tylko wtedy, gdy administrator
    przełączy połączenie na bezpośredni ruch wychodzący.

    <EgressIpAllowlistBothSets system="Microsoft Entra ID" />

    Dodaj oba zestawy do **lokalizacji nazwanej** (named location), którą Twoja zasada dostępu warunkowego traktuje jako zaufaną lub
    wyklucza. Żądania tokenu trafiają do `login.microsoftonline.com`, a żądania danych do
    `graph.microsoft.com`; oba muszą zostać przepuszczone.

    Jeśli na liście dozwolonych są tylko adresy synchronizacji, konfiguracja kończy się błędem podczas uzyskiwania tokenu i
    połączenie nie zostaje utworzone. Jeśli na liście dozwolonych są tylko adresy platformy, konfiguracja kończy się powodzeniem, ale
    każda synchronizacja zwraca zero rekordów.
  </Accordion>
</AccordionGroup>

<PublicIntegrationNextSteps />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.