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

# Microsoft Entra ID integratsiyasini sozlash

> Microsoft Entra ID'ni identifikatsiya, tizimga kirish, xavf, qurilma va hujum simulyatsiyasi faoliyati ma'lumotlari uchun Living Security bilan ulang.

export const EgressIpAllowlistBothSets = ({system}) => <Warning>
    <strong>{system} uchun bitta emas, ikki guruh manzil kerak.</strong> Living Security ushbu integratsiyaning kirish tokenini o‘z infratuzilmasida yaratadi va uni uzluksiz yangilab turadi, shu sababli sozlash trafigi va sinxronizatsiya trafigi turli tarmoqlardan chiqadi. Ikkala guruhni ham {system} tizimidagi ruxsat etilganlar ro‘yxatiga kiriting va ikkalasini ham saqlab qo‘ying — bu faqat sozlash bosqichiga tegishli talab emas.
    <br />
    <br />
    <strong>Integratsiya sinxronizatsiyasi trafigi</strong> — barcha mintaqalarda bir xil:
    <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>Platforma trafigi</strong> — faqat tashkilotingiz joylashgan mintaqaga tegishli qatordan foydalaning:
    <br />
    AQSh: <code>98.91.60.249/32</code>, <code>13.216.91.102/32</code>
    <br />
    Yevropa Ittifoqi: <code>34.246.236.210/32</code>, <code>52.31.102.238/32</code>
    <br />
    <br />
    Faqat sinxronizatsiya guruhi ruxsat etilsa, sozlash hech qachon yakunlanmaydi. Faqat platforma guruhi ruxsat etilsa, sozlash muvaffaqiyatli bo‘ladi, ammo barcha sinxronizatsiyalar xato bilan tugaydi. Ikkala nosozlik belgilari va o‘zgartirish siyosati bo‘yicha{' '}
    <a href="/uz/integrations/managing/egress-ip-addresses">
      Configuring Integration Egress IP Addresses
    </a>{' '}
    bo‘limiga qarang.
  </Warning>;

export const PublicIntegrationNextSteps = () => <>
    <hr />
    <h2>Tegishli resurslar</h2>
    <ul>
      <li>
        <a href="/uz/signals/data-sources">Integrations ma'lumotlari Human Risk Management signallariga qanday aylanishini bilib oling</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/integrations">Living Security integratsiyalarini o'rganing</a>
      </li>
      <li>
        <a href="https://app.livingsecurity.ai/">Living Security Platform'ni oching</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/request-demo/">Living Security demosini so'rang</a>
      </li>
    </ul>
  </>;

export const HandoffPaths = () => <Tabs>
    <Tab title="Vakolat berilgan sozlash (maxfiy ma’lumotlar uchun tavsiya etiladi)">
      Tizim administratorini platformaga cheklangan ruxsatlar bilan taklif qiling. U
      hisob ma’lumotlarini bevosita o‘zi kiritadi; siz maxfiy kalit bilan hech qachon ishlamaysiz.
    </Tab>
    <Tab title="Hisob ma’lumotlarini topshirish">
      Administratorga provayder sahifasini yuboring. U hisob ma’lumotlarini yaratadi va
      sizga qaytaradi; siz ularni Connect dialog oynasiga kiritasiz.
    </Tab>
  </Tabs>;

export const ConnectInPlatform = ({tile, children}) => <Step title="Living Security Platform'da hisob ma'lumotlarini kiriting">
    <p>
      Living Security'ga kirish huquqiga ega bo'lgan shaxs — dastur egasi yoki (agar taklif qilingan bo'lsa)
      tizim administratori tomonidan bajariladi (topshirilgan sozlash).
    </p>
    <ol>
      <li>
        <strong>Settings → Integrations → Catalog</strong> bo'limiga o'ting, <strong>{tile}</strong>{' '}
        kartasini toping va <strong>Connect</strong> tugmasini bosing.
      </li>
      <li>
        Quyidagi maydonlarni to'ldiring, so'ng <strong>Connect</strong> tugmasini bosing.
      </li>
    </ol>
    {children}
  </Step>;

export const SystemAdminBanner = ({system, recommendDelegated}) => <Note>
    <p>
      <strong>Ushbu qo‘llanma {system} administratoriga mo‘ljallangan.</strong> Unda {system} ichida API
      hisob ma’lumotlarini yaratish tartibi bayon etilgan; buning uchun {system} tizimiga administrator
      sifatida kirish huquqi talab etiladi, Living Security Platform’ga esa talab etilmaydi.
    </p>
    <p>
      Agar siz Living Security’da <strong>dastur egasi</strong> bo‘lsangiz va {system} tizimini
      boshqarmasangiz, ushbu sahifani uni boshqaradigan shaxsga yuboring. U A qismini bajaradi va hisob ma’lumotlarini sizga qaytaradi
      (yoki agar siz uni platformaga taklif qilgan bo‘lsangiz, ularni bevosita o‘zi kiritadi).
      {recommendDelegated && <>
          {' '}Sozlash jarayonida maxfiy kalit ma’lumotlari hosil bo‘lgani uchun, maxfiy kalit sizga qayta yuborilmasligi uchun{' '}
          <strong>delegated setup</strong> usulidan foydalanishni tavsiya etamiz.
        </>}
    </p>
  </Note>;

<SystemAdminBanner system="Microsoft Entra ID" />

<HandoffPaths />

## Bu integratsiya nimani taqdim etadi

Microsoft Entra ID normallashtirilgan identifikatsiya, tizimga kirish, xavf, qurilma va hujum simulyatsiyasi faoliyati ma'lumotlarini taqdim etishi mumkin. Ko'rib chiqilgan misollar:

* `account.compromised` — buzilgan deb belgilangan hisob
* `auth.login.unusual` — odatiy bo'lmagan kontekstlardan tizimga kiradi
* `phishing.simulation.clicked` — simulyatsiyani xabar bermasdan bosgan

Bu namunaviy misollar bo'lib, har bir tenantda barcha hodisalar mavjudligini kafolatlamaydi. [Integratsiya ma'lumotlari Signals'ga qanday aylanishi](/uz/signals/data-sources) haqida ma'lumot oling.

## Living Security uchun nimalar kerak

| Credential | Description |
| - | - |
| **Tenant ID** | Microsoft Entra admin center'dagi katalog (tenant) UUID identifikatori |
| **Client ID** | Ilovani ro'yxatdan o'tkazishda berilgan ilova (client) UUID identifikatori |
| **Client Secret** | Ilova registratsiyasi doirasida yaratilgan maxfiy credential — ulanish dialogida bu maydon **API Key** deb nomlanadi |
| **Graph API host** | Microsoft Graph host nomi (tijorat uchun: `graph.microsoft.com`) |
| **Authority host** | Microsoft Entra authority host nomi (tijorat uchun: `login.microsoftonline.com`) |

**Scopes (Application permissions):**

| Permission | Used for |
| - | - |
| `User.Read.All` | Foydalanuvchilar katalogi |
| `SecurityAlert.Read.All` | Xavfsizlik ogohlantirishlari |
| `AuditLog.Read.All` | Tizimga kirish jurnallari va MFA ro'yxatdan o'tish tafsilotlari |
| `Policy.Read.ConditionalAccess` | Har bir tizimga kirishdagi shartli kirish (conditional access) tafsilotlari — qaysi siyosatlar qo'llanilgani va ular qaysi grant controls'ni majburiy qilgani. MFA'ni aniqlash shunga bog'liq |
| `AttackSimulation.Read.All` | Attack Simulation Training natijalari |
| `Device.Read.All` | Entra ID qurilma obyektlari, shu jumladan Intune boshqarmaydigan qurilmalar |
| `DeviceManagementManagedDevices.Read.All` | Intune boshqaradigan qurilmalar |
| `IdentityRiskEvent.Read.All` | Identity Protection xavf aniqlashlari, shu jumladan sizib chiqqan credential'lar |
| `GroupMember.ReadWrite.All` | **Ixtiyoriy.** Guruh a'zoligi bo'yicha Actions — playbook'ga shaxsni Microsoft Entra ID guruhiga qo'shish yoki undan chiqarish imkonini beradi |

### Bu ulanish nima qila olishini siz belgilaysiz

Bu ulanish ma'lumotlarni o'qiydi. U, shuningdek, katalogingizda *amallar bajarishi* ham mumkin, lekin faqat siz ruxsat berishni tanlasangizgina.

Yuqoridagi barcha permission'lar, oxirgisidan tashqari, faqat o'qish uchun mo'ljallangan. Faqat shularni bersangiz, ulanish tenantingizdagi hech narsani o'zgartira olmaydi — platforma buni aniqlaydi va guruh Actions'ni umuman taklif qilmaydi.

`GroupMember.ReadWrite.All` qo'shilsa, guruh a'zoligi bo'yicha Actions playbook'larda foydalanish uchun mavjud bo'ladi. Hech narsa o'z-o'zidan boshlanmaydi: platforma qaysi guruhlarga tegishi mumkinligini (quyida qarang) siz tanlashingiz va ulardan foydalanadigan playbook yaratishingiz kerak.

Fikringizni istalgan vaqtda o'zgartirishingiz mumkin. Microsoft Entra ID'da permission qo'shish yoki olib tashlash va admin consent'ni qayta berish yetarli — platformada credential'larni qayta kiritish shart emas va ma'lumotlar sinxronizatsiyasi butun vaqt davomida ishlashda davom etadi. O'zgarish taxminan bir soat ichida kuchga kiradi.

<Note>
  **Guruh a'zoligi bo'yicha Actions qo'shimcha ravishda siz belgilagan guruhlar bilan cheklangan.** Ulanganingizdan so'ng administrator ulanishda guruhlarning aniq ruxsat etilgan ro'yxatini (allowlist) tanlaydi. Bu ro'yxat yaratilmaguncha, permission berilgan bo'lsa ham, guruh Actions mavjud bo'lmaydi — shuning uchun `GroupMember.ReadWrite.All` hech qachon "tenantdagi istalgan guruh" degani emas.

  Bu guruhlarni ehtiyotkorlik bilan tanlang: ma'muriy rollar, imtiyozli kirish yoki litsenziya huquqlarini beradigan guruhlardan saqlaning.
</Note>

**Required role:** Microsoft Entra ID'da **Application Administrator** yoki **Global Administrator**

<Note>
  **Bu permission'lardan ikkitasi yangi qo'shilgan.** Agar Microsoft Entra ID'ni ular ushbu ro'yxatda paydo bo'lishidan oldin ulagan bo'lsangiz, ularni mavjud ilova registratsiyasiga qo'shing va **admin consent'ni qayta bering** — Microsoft permission'lar o'zgarganda consent qayta berilishini talab qiladi. Shu vaqt davomida boshqa barcha ma'lumotlar oqimlari odatdagidek ishlashda davom etadi.

  `Policy.Read.ConditionalAccess` — bu permission bo'lmasa, Microsoft har bir tizimga kirish yozuvidan shartli kirish (conditional access) tafsilotlarini olib tashlaydi. Yozuv shartli kirish siyosati bajarilganini baribir ko'rsatadi, lekin siyosatlar ro'yxati bo'sh qaytadi. Hech narsa xato bermaydi va hech narsa ogohlantirmaydi: tizimga kirish ma'lumotlari kelishda davom etadi va ulanish sog'lom holatda qoladi. Platforma qaysi kirishlar ko'p faktorli autentifikatsiya bilan bajarilganini aniqlay olmaydi, shuning uchun bu ulanishdan MFA faoliyati bo'sh qoladi.

  `IdentityRiskEvent.Read.All` — xavf aniqlashlarini o'qish uchun, shuningdek, **Microsoft Entra ID P1 yoki P2** litsenziyasi talab qilinadi. Sizib chiqqan credential'larni aniqlashning o'zi P1 ni o'z ichiga olgan barcha darajalarda mavjud; premium aniqlashlar P2 dan pastda `generic` sifatida ko'rsatiladi.
</Note>

### Prerequisites

* Ilovalarni ro'yxatdan o'tkazish va admin consent berish uchun Microsoft Entra ID'da **Application Administrator** yoki **Global Administrator** huquqiga ega bo'lishingiz kerak.

***

## A qism — Microsoft Entra ID'da

*Bu qadamlarni Microsoft Entra ID administratoringiz bajaradi.*

<Steps>
  <Step title="Yangi ilovani ro'yxatdan o'tkazing">
    1. [Microsoft Entra admin center](https://entra.microsoft.com)'ga kiring.
    2. Chap navigatsiyada **Entra ID** → **App registrations** bo'limiga o'ting.
    3. **New registration** tugmasini bosing.
    4. Ilova uchun mazmunli nom kiriting, masalan, `Living Security Platform`.
    5. **Supported account types** ostida **Accounts in this organizational directory only** variantini tanlang.
    6. **Redirect URI** maydonini bo'sh qoldiring — bu integratsiya client credentials flow'dan foydalanadi.
    7. **Register** tugmasini bosing.

    Ro'yxatdan o'tkazilgandan so'ng, **Overview** sahifasidan quyidagi qiymatlarni yozib oling:

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

  <Step title="Microsoft Graph application permission'larini qo'shing">
    1. Ilovangizning **Overview** sahifasida chap menyudagi **API permissions** bo'limini bosing.
    2. **Add a permission** tugmasini bosing.
    3. **Microsoft Graph** variantini tanlang.
    4. **Application permissions** variantini tanlang.
    5. Quyidagi permission'larning har birini qidirib toping va tanlang, so'ngra **Add permissions** tugmasini bosing:
       * `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. `GroupMember.ReadWrite.All` ni **faqat** playbook'lar guruh a'zoligini o'zgartira olishini istasangizgina qo'shing. Bu ulanishni faqat o'qish rejimida saqlash uchun uni o'tkazib yuboring.

    <Note>
      Bular barcha ma'lumotlar oqimlari uchun minimal permission'lardir. Agar oqimlarning faqat bir qismini yoqishni rejalashtirgan bo'lsangiz, foydalanmaydigan oqimlaringiz uchun permission'larni qoldirib ketishingiz mumkin.
    </Note>
  </Step>

  <Step title="Admin consent bering">
    Application permission'lar aniq admin consent talab qiladi.

    1. **API permissions** sahifasida **Grant admin consent for \<your tenant name>** tugmasini bosing.
    2. Tasdiqlash dialogida **Yes** tugmasini bosing.
    3. **Status** ustunida har bir permission uchun **Granted** ko'rsatilganini tekshiring.

    <Note>
      Agar **Grant admin consent** tugmasi faol bo'lmasa (kulrang), sizga **Privileged Role Administrator** yoki **Global Administrator** huquqlari kerak. Yangi permission'lar qo'shilganda admin consent qayta berilishi kerak.
    </Note>
  </Step>

  <Step title="Client secret yarating">
    1. Ilovangizning **Overview** sahifasida chap menyudagi **Certificates & secrets** bo'limini bosing.
    2. **Client secrets** yorlig'ini bosing, so'ngra **New client secret** tugmasini bosing.
    3. Tavsif kiriting (masalan, `Living Security Platform`).
    4. Rotatsiya siyosatingizga mos amal qilish muddatini tanlang.
    5. **Add** tugmasini bosing.

    <Warning>
      **Secret qiymatini darhol nusxalab oling.** Microsoft Entra ID to'liq client secret'ni faqat bir marta ko'rsatadi. Agar nusxalashdan oldin boshqa sahifaga o'tsangiz, secret'ni o'chirib, yangisini yaratishingiz kerak bo'ladi.
    </Warning>

    Secret'ni xavfsiz saqlang. Uni muddati tugashidan oldin almashtirish uchun taqvimda eslatma o'rnating — muddati tugagan secret sinxronizatsiyalarning `401 Unauthorized` xatosi bilan muvaffaqiyatsiz bo'lishiga olib keladi.
  </Step>

  <Step title="Graph API va Authority host'larini aniqlang">
    Tijorat bulutidagi ko'pchilik tashkilotlar uchun standart qiymatlardan foydalaning:

    | Field | Commercial cloud value |
    | - | - |
    | **Graph API host** | `graph.microsoft.com` |
    | **Authority host** | `login.microsoftonline.com` |

    Davlat yoki suveren bulutlar uchun muhitingizga mos endpoint'lardan foydalaning.

    <Note>
      Graph API host va Authority host bir-biriga mos bo'lishi kerak — bir bulut authority'sidan olingan token'lar boshqa bulutning Graph endpoint'i uchun yaroqsiz.
    </Note>
  </Step>
</Steps>

***

## B qism — Living Security Platform'da

*Bu qadamni dastur egasi yoki, agar platformaga taklif qilingan bo'lsa, tizim administratori bajaradi.*

<Steps>
  <ConnectInPlatform tile="Microsoft Entra ID (Client Credentials)">
    | Field | Value |
    | - | - |
    | **API Key** | A qism, 4-qadamdagi Client Secret |
    | **Azure tenant ID** | A qism, 1-qadamdagi Directory (tenant) ID |
    | **Client ID** | A qism, 1-qadamdagi Application (client) ID |
    | **Graph API host** | `graph.microsoft.com` (yoki bulutingizning endpoint'i) |
    | **Authority host** | `login.microsoftonline.com` (yoki bulutingizning endpoint'i) |

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

Siz endi Microsoft Entra ID (Client Credentials) ga ulandingiz.

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="401 Unauthorized">
    Credential'lar yaroqsiz yoki muddati tugagan. Tekshiring:

    1. Client Secret muddati tugamagan yoki almashtirilmagan
    2. Tenant ID va Client ID to'g'ri
    3. Authority host bulut muhitingizga mos keladi
  </Accordion>

  <Accordion title="403 Forbidden">
    Ilova registratsiyasida permission'lar yetishmaydi yoki admin consent berilmagan. Tekshiring:

    1. Barcha kerakli permission'lar **API permissions** ro'yxatida bor
    2. Har bir permission **Granted** holatini ko'rsatadi (yashil belgi)
    3. Admin consent permission'lar qo'shilgandan keyin berilgan

    <Note>
      Agar dastlabki consent'dan keyin yangi permission'lar qo'shgan bo'lsangiz, admin consent'ni qayta berishingiz kerak.
    </Note>
  </Accordion>

  <Accordion title="Ayrim ma'lumotlar oqimlari uchun bo'sh natijalar">
    Ilovada ushbu oqim uchun aniq permission yetishmayotgan bo'lishi mumkin:

    * Foydalanuvchilar yo'q → `User.Read.All` yetishmaydi
    * Xavfsizlik ogohlantirishlari yo'q → `SecurityAlert.Read.All` yetishmaydi
    * Tizimga kirish jurnallari yo'q → `AuditLog.Read.All` yetishmaydi
    * Hujum simulyatsiyasi natijalari yo'q → `AttackSimulation.Read.All` yetishmaydi
    * Entra ID qurilmalari yo'q → `Device.Read.All` yetishmaydi
    * Intune boshqaradigan qurilmalar yo'q → `DeviceManagementManagedDevices.Read.All` yetishmaydi
    * Xavf aniqlashlari yo'q → `IdentityRiskEvent.Read.All` yetishmaydi, uni qo'shgandan keyin admin consent qayta berilmagan yoki tenant Microsoft Entra ID P1 litsenziyasining minimal darajasidan pastda
  </Accordion>

  <Accordion title="Token so'rovi invalid_client xatosi bilan muvaffaqiyatsiz bo'ladi">
    Graph API host va Authority host bir-biriga mos kelmayotgan bo'lishi mumkin. Ikkalasi ham bir xil bulut muhitiga (tijorat, davlat va h.k.) mos kelishi kerak.
  </Accordion>

  <Accordion title="Guruh Actions playbook'da ko'rinmaydi">
    Guruh a'zoligi bo'yicha Actions faqat quyidagi uchala shart bajarilgandagina taklif etiladi:

    1. `GroupMember.ReadWrite.All` ilova registratsiyasida mavjud va admin consent berilgan. Agar uni yaqinda qo'shgan bo'lsangiz, bir soatgacha kuting.
    2. Administrator ulanishda guruhlarning ruxsat etilgan ro'yxatini (allowlist) belgilagan.
    3. Ulanish faol va sog'lom holatda.

    Agar permission'ni bergan bo'lsangiz-u, Actions baribir mavjud bo'lmasa, admin consent'ni qayta bering — Microsoft buni permission'lar o'zgarganda talab qiladi.
  </Accordion>

  <Accordion title="Conditional access ulanishni yoki uning Actions'ini bloklaydi">
    Agar tenantingizda IP manzil bo'yicha cheklangan Conditional Access siyosati mavjud bo'lsa, u ushbu ulanish credential'ini olib yuruvchi so'rovlarni bloklashi mumkin. Ko'pchilik tenantlarga bu ta'sir qilmaydi — Microsoft Graph odatda IP manzil bo'yicha cheklamaydi. Agar service principal'lar uchun IP bo'yicha cheklangan siyosatni qo'llasangiz, bu integratsiya uchun manzillarning **ikki** to'plami allowlist'ga kiritilishi kerak, chunki sozlash va ma'lumotlar sinxronizatsiyasi turli tarmoqlardan chiqadi.

    Living Security bu ulanishning access token'ini o'zi yaratadi va uni uzluksiz yangilab turadi, shuning uchun token so'rovlari ma'lumotlar sinxronizatsiyasi ishlatadigan manzillardan emas, platformaning o'z manzillaridan chiqadi.

    Guruh Actions alohida. Odatda ular ma'lumotlar sinxronizatsiyasi bilan bir xil yo'nalishda boradi va sinxronizatsiya manzillaridan chiqadi. Ular platforma manzillariga faqat administrator ulanishni to'g'ridan-to'g'ri egress rejimiga o'tkazganda o'tadi.

    <EgressIpAllowlistBothSets system="Microsoft Entra ID" />

    Ikkala to'plamni Conditional Access siyosatingiz ishonchli deb hisoblaydigan yoki istisno qiladigan **named location**'ga qo'shing. Token so'rovlari `login.microsoftonline.com` ga, ma'lumotlar so'rovlari esa `graph.microsoft.com` ga yetib boradi; ikkalasi ham o'tishi kerak.

    Agar faqat sinxronizatsiya manzillari allowlist'ga kiritilgan bo'lsa, sozlash token olish bosqichida muvaffaqiyatsiz bo'ladi va ulanish yaratilmaydi. Agar faqat platforma manzillari allowlist'ga kiritilgan bo'lsa, sozlash muvaffaqiyatli bo'ladi, lekin har bir sinxronizatsiya hech qanday yozuv qaytarmaydi.
  </Accordion>
</AccordionGroup>

<PublicIntegrationNextSteps />


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