> ## 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.

# Penyiapan integrasi Microsoft Entra ID

> Hubungkan Microsoft Entra ID ke Living Security untuk aktivitas identitas, proses masuk, risiko, perangkat, dan simulasi serangan.

export const EgressIpAllowlistBothSets = ({system}) => <Warning>
    <strong>{system} memerlukan dua set alamat, bukan satu.</strong> Living Security membuat token akses integrasi ini pada infrastrukturnya sendiri dan memperbaruinya secara terus-menerus, sehingga lalu lintas penyiapan dan lalu lintas sinkronisasi keluar dari jaringan yang berbeda. Masukkan kedua set ke daftar izin di {system}, dan
    pertahankan keduanya — ini bukan persyaratan yang hanya berlaku saat penyiapan.
    <br />
    <br />
    <strong>Lalu lintas sinkronisasi Integrasi</strong> — sama di setiap wilayah:
    <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>Lalu lintas platform</strong> — gunakan hanya baris untuk wilayah yang menjadi host organisasi Anda:
    <br />
    Amerika Serikat: <code>98.91.60.249/32</code>, <code>13.216.91.102/32</code>
    <br />
    Uni Eropa: <code>34.246.236.210/32</code>, <code>52.31.102.238/32</code>
    <br />
    <br />
    Jika hanya set sinkronisasi yang dimasukkan ke daftar izin, penyiapan tidak akan pernah selesai. Jika hanya set platform yang dimasukkan ke daftar izin, penyiapan berhasil tetapi setiap sinkronisasi gagal. Lihat{' '}
    <a href="/id/integrations/managing/egress-ip-addresses">
      Mengonfigurasi Alamat IP Egress Integrasi
    </a>{' '}
    untuk kedua ciri kegagalan tersebut dan kebijakan perubahan.
  </Warning>;

export const PublicIntegrationNextSteps = () => <>
    <hr />
    <h2>Sumber daya terkait</h2>
    <ul>
      <li>
        <a href="/id/signals/data-sources">Pelajari bagaimana data integrasi menjadi sinyal Human Risk Management</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/integrations">Jelajahi integrasi Living Security</a>
      </li>
      <li>
        <a href="https://app.livingsecurity.ai/">Buka Living Security Platform</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/request-demo/">Minta demo Living Security</a>
      </li>
    </ul>
  </>;

export const HandoffPaths = () => <Tabs>
    <Tab title="Penyiapan terdelegasi (direkomendasikan untuk secret)">
      Undang administrator sistem ke dalam platform dengan izin yang dibatasi. Administrator tersebut memasukkan
      kredensial secara langsung; Anda tidak pernah menangani secret tersebut.
    </Tab>
    <Tab title="Penyerahan kredensial">
      Kirimkan halaman penyedia kepada administrator. Administrator akan menyediakan kredensial dan mengembalikannya kepada
      Anda; selanjutnya Anda memasukkannya di dialog Connect.
    </Tab>
  </Tabs>;

export const ConnectInPlatform = ({tile, children}) => <Step title="Masukkan kredensial di Living Security Platform">
    <p>
      Dilakukan oleh pihak yang memiliki akses ke Living Security — pemilik program, atau admin
      sistem jika yang bersangkutan telah diundang (penyiapan terdelegasi).
    </p>
    <ol>
      <li>
        Buka <strong>Pengaturan → Integrasi → Katalog</strong>, temukan kartu{' '}
        <strong>{tile}</strong>, lalu klik <strong>Hubungkan</strong>.
      </li>
      <li>
        Isi kolom di bawah ini, lalu klik <strong>Hubungkan</strong>.
      </li>
    </ol>
    {children}
  </Step>;

export const SystemAdminBanner = ({system, recommendDelegated}) => <Note>
    <p>
      <strong>Panduan ini ditujukan bagi administrator {system} Anda.</strong> Panduan ini membahas pembuatan kredensial API
      di dalam {system}, yang memerlukan akses admin ke {system}, bukan ke
      Living Security Platform.
    </p>
    <p>
      Jika Anda adalah <strong>pemilik program</strong> Living Security dan tidak mengelola {system},
      kirimkan halaman ini kepada pihak yang mengelolanya. Mereka menyelesaikan Bagian A dan menyerahkan kembali kredensial tersebut kepada Anda
      (atau memasukkannya secara langsung jika Anda telah mengundang mereka ke dalam platform).
      {recommendDelegated && <>
          {' '}Karena proses penyiapan menghasilkan materi kunci yang sensitif, kami merekomendasikan jalur{' '}
          <strong>penyiapan terdelegasi</strong> agar secret tidak pernah dikirimkan kembali kepada Anda.
        </>}
    </p>
  </Note>;

<SystemAdminBanner system="Microsoft Entra ID" />

<HandoffPaths />

## Kontribusi integrasi ini

Microsoft Entra ID dapat menyumbangkan aktivitas identitas, proses masuk, risiko, perangkat, dan simulasi serangan yang telah dinormalisasi. Contoh yang telah ditinjau meliputi:

* `account.compromised` — akun yang ditandai sebagai telah disusupi
* `auth.login.unusual` — masuk dari konteks yang tidak biasa
* `phishing.simulation.clicked` — mengeklik simulasi tanpa melaporkannya

Contoh-contoh ini bersifat representatif dan bukan jaminan bahwa setiap peristiwa tersedia di setiap tenant. Lihat [bagaimana data integrasi menjadi sinyal](/id/signals/data-sources).

## Yang dibutuhkan Living Security

| Kredensial | Deskripsi |
| - | - |
| **ID tenant** | UUID direktori (tenant) dari pusat admin Microsoft Entra Anda |
| **ID Klien** | UUID aplikasi (klien) yang ditetapkan saat Anda mendaftarkan aplikasi |
| **Rahasia Klien** | Kredensial rahasia yang dibuat pada pendaftaran aplikasi Anda — dialog koneksi memberi label kolom ini **Kunci API** |
| **Host Graph API** | Nama host Microsoft Graph (komersial: `graph.microsoft.com`) |
| **Host otoritas** | Nama host otoritas Microsoft Entra (komersial: `login.microsoftonline.com`) |

**Cakupan (Izin aplikasi):**

| Izin | Digunakan untuk |
| - | - |
| `User.Read.All` | Direktori pengguna |
| `SecurityAlert.Read.All` | Peringatan keamanan |
| `AuditLog.Read.All` | Log proses masuk dan detail pendaftaran MFA |
| `Policy.Read.ConditionalAccess` | Detail akses bersyarat pada setiap proses masuk — kebijakan mana yang diterapkan dan kontrol pemberian akses apa yang diberlakukannya. Deteksi MFA bergantung pada izin ini |
| `AttackSimulation.Read.All` | Hasil Attack Simulation Training |
| `Device.Read.All` | Objek perangkat Entra ID, termasuk perangkat yang tidak dikelola oleh Intune |
| `DeviceManagementManagedDevices.Read.All` | Perangkat terkelola Intune |
| `IdentityRiskEvent.Read.All` | Deteksi risiko Identity Protection, termasuk kredensial yang bocor |
| `GroupMember.ReadWrite.All` | **Opsional.** Tindakan keanggotaan grup — memungkinkan Buku Pedoman menambahkan seseorang ke grup Microsoft Entra ID atau menghapusnya dari grup tersebut |

### Anda yang menentukan apa yang dapat dilakukan koneksi ini

Koneksi ini membaca data. Koneksi ini juga dapat *melakukan tindakan* di direktori Anda, tetapi hanya jika Anda
memilih untuk mengizinkannya.

Setiap izin di atas kecuali yang terakhir bersifat hanya-baca. Jika hanya izin tersebut yang diberikan, koneksi
tidak akan pernah dapat mengubah apa pun di tenant Anda — platform mendeteksi hal itu dan
sama sekali tidak menawarkan tindakan grup.

Tambahkan `GroupMember.ReadWrite.All` dan tindakan keanggotaan grup akan tersedia untuk digunakan di
Buku Pedoman. Tidak ada yang berjalan dengan sendirinya: Anda tetap harus memilih grup mana yang
boleh disentuh platform (lihat di bawah) dan membuat Buku Pedoman yang menggunakannya.

Anda dapat mengubah keputusan kapan saja. Menambahkan atau menghapus izin di Microsoft Entra ID
lalu memberikan ulang persetujuan admin sudah cukup — Anda tidak perlu memasukkan ulang kredensial di
platform, dan sinkronisasi data Anda tetap berjalan sepanjang proses. Perubahan berlaku dalam waktu sekitar
satu jam.

<Note>
  **Tindakan keanggotaan grup juga dibatasi pada grup yang Anda tentukan.** Setelah
  terhubung, administrator memilih daftar izin eksplisit berisi grup pada koneksi.
  Sebelum daftar tersebut ada, tindakan grup tidak tersedia meskipun izin telah diberikan —
  sehingga `GroupMember.ReadWrite.All` tidak pernah berarti "grup mana pun di tenant".

  Pilih grup tersebut dengan cermat: hindari grup apa pun yang memberikan peran administratif,
  akses istimewa, atau hak lisensi.
</Note>

**Peran yang diperlukan:** **Application Administrator** atau **Global Administrator** di Microsoft Entra ID

<Note>
  **Dua dari izin ini merupakan tambahan yang lebih baru.** Jika Anda menghubungkan Microsoft Entra ID sebelum izin tersebut
  muncul dalam daftar ini, tambahkan izin tersebut ke pendaftaran aplikasi Anda yang sudah ada dan **berikan ulang persetujuan admin** —
  Microsoft mewajibkan persetujuan diberikan ulang setiap kali izin berubah. Semua aliran data lainnya
  tetap berfungsi normal selama itu.

  `Policy.Read.ConditionalAccess` — tanpa izin ini, Microsoft menghapus detail akses bersyarat
  dari setiap catatan proses masuk. Catatan tersebut tetap melaporkan bahwa kebijakan akses bersyarat
  telah terpenuhi, tetapi daftar kebijakannya kosong. Tidak ada yang gagal dan tidak ada peringatan: data
  proses masuk tetap masuk dan koneksi tetap sehat. Platform hanya tidak dapat mengetahui proses masuk mana
  yang dipenuhi oleh autentikasi multifaktor, sehingga aktivitas MFA dari koneksi ini tetap kosong.

  `IdentityRiskEvent.Read.All` — membaca deteksi risiko juga memerlukan lisensi **Microsoft Entra ID P1 atau
  P2**. Deteksi kredensial bocor itu sendiri tersedia di setiap tingkat termasuk P1; deteksi
  premium dilaporkan sebagai `generic` di bawah P2.
</Note>

### Prasyarat

* Anda harus memiliki akses **Application Administrator** atau **Global Administrator** di Microsoft Entra ID untuk mendaftarkan aplikasi dan memberikan persetujuan admin.

***

## Bagian A — Di Microsoft Entra ID

*Administrator Microsoft Entra ID Anda menyelesaikan langkah-langkah ini.*

<Steps>
  <Step title="Daftarkan aplikasi baru">
    1. Masuk ke [pusat admin Microsoft Entra](https://entra.microsoft.com).
    2. Pada navigasi kiri, buka **Entra ID** → **App registrations**.
    3. Klik **New registration**.
    4. Masukkan nama aplikasi yang bermakna, seperti `Living Security Platform`.
    5. Di bawah **Supported account types**, pilih **Accounts in this organizational directory only**.
    6. Biarkan **Redirect URI** kosong — integrasi ini menggunakan alur client credentials.
    7. Klik **Register**.

    Setelah pendaftaran, catat nilai berikut dari halaman **Ikhtisar**:

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

  <Step title="Tambahkan izin aplikasi Microsoft Graph">
    1. Pada halaman **Ikhtisar** aplikasi Anda, klik **API permissions** di menu kiri.
    2. Klik **Add a permission**.
    3. Pilih **Microsoft Graph**.
    4. Pilih **Application permissions**.
    5. Cari dan pilih setiap izin di bawah ini, lalu klik **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. Tambahkan `GroupMember.ReadWrite.All` **hanya jika** Anda ingin Buku Pedoman dapat mengubah keanggotaan grup. Lewati izin ini agar koneksi tetap hanya-baca.

    <Note>
      Ini adalah izin minimum untuk semua aliran data. Jika Anda hanya berniat mengaktifkan sebagian aliran, Anda dapat menghilangkan izin untuk aliran yang tidak akan digunakan.
    </Note>
  </Step>

  <Step title="Berikan persetujuan admin">
    Izin aplikasi memerlukan persetujuan admin secara eksplisit.

    1. Pada halaman **API permissions**, klik **Grant admin consent for \<your tenant name>**.
    2. Pada dialog konfirmasi, klik **Ya**.
    3. Pastikan setiap izin menampilkan **Granted** di kolom **Status**.

    <Note>
      Jika tombol **Grant admin consent** berwarna abu-abu, Anda memerlukan hak **Privileged Role Administrator** atau **Global Administrator**. Persetujuan admin harus diberikan ulang setiap kali Anda menambahkan izin baru.
    </Note>
  </Step>

  <Step title="Buat rahasia klien">
    1. Pada halaman **Ikhtisar** aplikasi Anda, klik **Certificates & secrets** di menu kiri.
    2. Klik tab **Client secrets**, lalu klik **New client secret**.
    3. Masukkan deskripsi (misalnya, `Living Security Platform`).
    4. Pilih masa berlaku yang sesuai dengan kebijakan rotasi Anda.
    5. Klik **Tambahkan**.

    <Warning>
      **Salin nilai rahasia segera.** Microsoft Entra ID hanya menampilkan rahasia klien secara lengkap satu kali. Jika Anda berpindah halaman sebelum menyalinnya, Anda harus menghapus rahasia tersebut dan membuat yang baru.
    </Warning>

    Simpan rahasia dengan aman. Atur pengingat kalender untuk merotasinya sebelum kedaluwarsa — rahasia yang kedaluwarsa menyebabkan sinkronisasi gagal dengan `401 Unauthorized`.
  </Step>

  <Step title="Tentukan host Graph API dan host otoritas">
    Untuk sebagian besar organisasi di cloud komersial, gunakan nilai default:

    | Kolom | Nilai cloud komersial |
    | - | - |
    | **Host Graph API** | `graph.microsoft.com` |
    | **Host otoritas** | `login.microsoftonline.com` |

    Untuk cloud pemerintah atau cloud berdaulat, gunakan endpoint yang sesuai dengan lingkungan Anda.

    <Note>
      Host Graph API dan host otoritas harus cocok — token dari otoritas satu cloud tidak valid untuk endpoint Graph cloud lain.
    </Note>
  </Step>
</Steps>

***

## Bagian B — Di Living Security Platform

*Pemilik program menyelesaikan langkah ini, atau admin sistem jika diundang ke dalam platform.*

<Steps>
  <ConnectInPlatform tile="Microsoft Entra ID (Client Credentials)">
    | Kolom | Nilai |
    | - | - |
    | **Kunci API** | Rahasia Klien dari Bagian A, Langkah 4 |
    | **ID tenant Azure** | Directory (tenant) ID dari Bagian A, Langkah 1 |
    | **ID Klien** | Application (client) ID dari Bagian A, Langkah 1 |
    | **Host Graph API** | `graph.microsoft.com` (atau endpoint cloud Anda) |
    | **Host otoritas** | `login.microsoftonline.com` (atau endpoint cloud Anda) |

    <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="Dialog koneksi Living Security untuk Microsoft Entra ID" style={{maxWidth: "450px"}} width="576" height="692" data-path="integrations/images/microsoft-entra-id-cc/connect-dialog.png" />
  </ConnectInPlatform>
</Steps>

Sekarang Anda telah terhubung ke Microsoft Entra ID (Client Credentials).

***

## Pemecahan masalah

<AccordionGroup>
  <Accordion title="401 Unauthorized">
    Kredensial tidak valid atau telah kedaluwarsa. Periksa:

    1. Rahasia Klien belum kedaluwarsa atau dirotasi
    2. ID tenant dan ID Klien sudah benar
    3. Host otoritas sesuai dengan lingkungan cloud Anda
  </Accordion>

  <Accordion title="403 Forbidden">
    Pendaftaran aplikasi tidak memiliki izin atau persetujuan admin belum diberikan. Pastikan:

    1. Semua izin yang diperlukan tercantum di **API permissions**
    2. Setiap izin menampilkan status **Granted** (tanda centang hijau)
    3. Persetujuan admin diberikan setelah izin ditambahkan

    <Note>
      Jika Anda menambahkan izin baru setelah persetujuan awal, Anda harus memberikan ulang persetujuan admin.
    </Note>
  </Accordion>

  <Accordion title="Hasil kosong untuk aliran data tertentu">
    Aplikasi mungkin tidak memiliki izin khusus untuk aliran tersebut:

    * Tidak ada pengguna → izin `User.Read.All` tidak ada
    * Tidak ada peringatan keamanan → izin `SecurityAlert.Read.All` tidak ada
    * Tidak ada log proses masuk → izin `AuditLog.Read.All` tidak ada
    * Tidak ada hasil simulasi serangan → izin `AttackSimulation.Read.All` tidak ada
    * Tidak ada perangkat Entra ID → izin `Device.Read.All` tidak ada
    * Tidak ada perangkat terkelola Intune → izin `DeviceManagementManagedDevices.Read.All` tidak ada
    * Tidak ada deteksi risiko → izin `IdentityRiskEvent.Read.All` tidak ada, persetujuan admin tidak diberikan ulang setelah
      izin ditambahkan, atau tenant berada di bawah batas minimum lisensi Microsoft Entra ID P1
  </Accordion>

  <Accordion title="Permintaan token gagal dengan invalid_client">
    Host Graph API dan host otoritas mungkin tidak cocok. Keduanya harus sesuai dengan lingkungan cloud yang sama (komersial, pemerintah, dll.).
  </Accordion>

  <Accordion title="Tindakan grup tidak muncul di Buku Pedoman">
    Tindakan keanggotaan grup hanya ditawarkan jika ketiga kondisi berikut terpenuhi:

    1. `GroupMember.ReadWrite.All` ada pada pendaftaran aplikasi, dengan persetujuan admin yang telah diberikan. Jika baru ditambahkan, tunggu hingga satu jam.
    2. Administrator telah menentukan daftar izin berisi grup pada koneksi.
    3. Koneksi aktif dan sehat.

    Jika Anda telah memberikan izin tersebut dan tindakan tetap tidak tersedia, berikan ulang persetujuan admin — Microsoft mewajibkannya setiap kali izin berubah.
  </Accordion>

  <Accordion title="Akses bersyarat memblokir koneksi atau tindakannya">
    Jika tenant Anda memiliki kebijakan Conditional Access yang dibatasi berdasarkan alamat IP, kebijakan tersebut dapat memblokir permintaan
    yang membawa kredensial koneksi ini. Sebagian besar tenant tidak terpengaruh — Microsoft Graph
    secara default tidak membatasi berdasarkan alamat IP. Jika Anda memberlakukan kebijakan berbasis IP untuk
    service principal, integrasi ini memerlukan **dua** set alamat dalam daftar izin, karena penyiapan dan
    sinkronisasi data berasal dari jaringan yang berbeda.

    Living Security menerbitkan sendiri token akses koneksi ini dan memperbaruinya secara terus-menerus, sehingga
    permintaan token berasal dari alamat milik platform, bukan dari alamat yang digunakan sinkronisasi data
    Anda.

    Tindakan grup bersifat terpisah. Secara default, tindakan tersebut dirutekan dengan cara yang sama seperti sinkronisasi data Anda dan berasal
    dari alamat sinkronisasi. Tindakan tersebut berpindah ke alamat platform hanya jika administrator
    mengalihkan koneksi ke egress langsung.

    <EgressIpAllowlistBothSets system="Microsoft Entra ID" />

    Tambahkan kedua set tersebut ke **named location** yang dipercaya atau dikecualikan oleh kebijakan Conditional Access Anda. Permintaan token menuju `login.microsoftonline.com` dan permintaan data menuju
    `graph.microsoft.com`; keduanya harus lolos.

    Jika hanya alamat sinkronisasi yang masuk daftar izin, penyiapan gagal saat memperoleh token dan tidak ada
    koneksi yang dibuat. Jika hanya alamat platform yang masuk daftar izin, penyiapan berhasil dan
    setiap sinkronisasi tidak mengembalikan catatan apa pun.
  </Accordion>
</AccordionGroup>

<PublicIntegrationNextSteps />


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