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

# Thiết lập tích hợp Microsoft Entra ID

> Kết nối Microsoft Entra ID với Living Security để thu thập hoạt động về danh tính, đăng nhập, rủi ro, thiết bị và mô phỏng tấn công.

export const EgressIpAllowlistBothSets = ({system}) => <Warning>
    <strong>{system} cần hai nhóm địa chỉ, không phải một.</strong> Living Security tạo mã thông báo truy cập của tích hợp này trên hạ tầng của chính mình và làm mới liên tục, do đó lưu lượng thiết lập và lưu lượng đồng bộ xuất phát từ các mạng khác nhau. Hãy đưa cả hai nhóm vào danh sách cho phép trong {system} và duy trì cả hai — đây không phải là yêu cầu chỉ áp dụng khi thiết lập.
    <br />
    <br />
    <strong>Lưu lượng đồng bộ của Tích hợp</strong> — giống nhau ở mọi khu vực:
    <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>Lưu lượng của nền tảng</strong> — chỉ sử dụng dòng tương ứng với khu vực lưu trữ tổ chức của bạn:
    <br />
    Hoa Kỳ: <code>98.91.60.249/32</code>, <code>13.216.91.102/32</code>
    <br />
    Liên minh châu Âu: <code>34.246.236.210/32</code>, <code>52.31.102.238/32</code>
    <br />
    <br />
    Nếu chỉ đưa nhóm đồng bộ vào danh sách cho phép, quá trình thiết lập sẽ không bao giờ hoàn tất. Nếu chỉ đưa nhóm nền tảng vào danh sách cho phép, quá trình thiết lập thành công nhưng mọi lần đồng bộ đều thất bại. Xem{' '}
    <a href="/vi/integrations/managing/egress-ip-addresses">
      Cấu hình địa chỉ IP egress của Tích hợp
    </a>{' '}
    để biết dấu hiệu nhận biết của cả hai trường hợp lỗi và chính sách thay đổi.
  </Warning>;

export const PublicIntegrationNextSteps = () => <>
    <hr />
    <h2>Tài nguyên liên quan</h2>
    <ul>
      <li>
        <a href="/vi/signals/data-sources">Tìm hiểu cách dữ liệu tích hợp trở thành các tín hiệu Human Risk Management</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/integrations">Khám phá các Tích hợp của Living Security</a>
      </li>
      <li>
        <a href="https://app.livingsecurity.ai/">Mở Living Security Platform</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/request-demo/">Yêu cầu bản demo của Living Security</a>
      </li>
    </ul>
  </>;

export const HandoffPaths = () => <Tabs>
    <Tab title="Thiết lập được ủy quyền (khuyến nghị đối với thông tin bí mật)">
      Mời quản trị viên hệ thống vào nền tảng với các quyền hạn được giới hạn phạm vi. Họ sẽ trực tiếp nhập
      thông tin xác thực; Quý vị không bao giờ phải tiếp xúc với thông tin bí mật.
    </Tab>
    <Tab title="Bàn giao thông tin xác thực">
      Gửi trang của nhà cung cấp cho quản trị viên. Họ sẽ cấp phát thông tin xác thực và chuyển lại cho
      Quý vị; sau đó Quý vị nhập thông tin này trong hộp thoại Connect.
    </Tab>
  </Tabs>;

export const ConnectInPlatform = ({tile, children}) => <Step title="Nhập thông tin xác thực vào Living Security Platform">
    <p>
      Bước này do người có quyền truy cập Living Security thực hiện — chủ sở hữu chương trình, hoặc quản trị viên hệ thống nếu người đó đã được mời (thiết lập được ủy quyền).
    </p>
    <ol>
      <li>
        Truy cập <strong>Cài đặt → Tích hợp → Danh mục</strong>, tìm thẻ{' '}
        <strong>{tile}</strong>, rồi nhấp vào <strong>Kết nối</strong>.
      </li>
      <li>
        Điền các trường bên dưới, sau đó nhấp vào <strong>Kết nối</strong>.
      </li>
    </ol>
    {children}
  </Step>;

export const SystemAdminBanner = ({system, recommendDelegated}) => <Note>
    <p>
      <strong>Hướng dẫn này dành cho quản trị viên {system} của Quý vị.</strong> Hướng dẫn đề cập đến việc tạo thông tin xác thực API trong {system}, thao tác này yêu cầu quyền quản trị đối với {system} — chứ không phải đối với
      Living Security Platform.
    </p>
    <p>
      Nếu Quý vị là <strong>chủ sở hữu chương trình</strong> của Living Security và không quản trị {system},
      vui lòng gửi trang này cho người đảm nhiệm vai trò đó. Người này sẽ hoàn thành Phần A và chuyển lại thông tin xác thực cho Quý vị
      (hoặc nhập trực tiếp nếu Quý vị đã mời họ vào nền tảng).
      {recommendDelegated && <>
          {' '}Do quá trình thiết lập tạo ra tài liệu khóa nhạy cảm, chúng tôi khuyến nghị sử dụng hướng{' '}
          <strong>thiết lập ủy quyền</strong> để khóa bí mật không bao giờ được gửi lại cho Quý vị.
        </>}
    </p>
  </Note>;

<SystemAdminBanner system="Microsoft Entra ID" />

<HandoffPaths />

## Tích hợp này đóng góp những gì

Microsoft Entra ID có thể cung cấp dữ liệu hoạt động đã được chuẩn hóa về danh tính, đăng nhập, rủi ro, thiết bị và mô phỏng tấn công. Các ví dụ đã được xem xét bao gồm:

* `account.compromised` — tài khoản bị gắn cờ là đã bị xâm phạm
* `auth.login.unusual` — đăng nhập từ các bối cảnh bất thường
* `phishing.simulation.clicked` — nhấp vào một mô phỏng mà không báo cáo

Đây là các ví dụ tiêu biểu, không đảm bảo rằng mọi sự kiện đều khả dụng trong mọi tenant. Xem [cách dữ liệu tích hợp trở thành tín hiệu](/vi/signals/data-sources).

## Living Security cần những gì

| Thông tin xác thực | Mô tả |
| - | - |
| **ID tenant** | UUID của thư mục (tenant) từ Microsoft Entra admin center của quý vị |
| **ID khách hàng** | UUID của ứng dụng (client) được cấp khi quý vị đăng ký ứng dụng |
| **Bí mật khách hàng** | Thông tin xác thực bí mật được tạo trong phần đăng ký ứng dụng của quý vị — hộp thoại kết nối gắn nhãn trường này là **Khóa API** |
| **Máy chủ Graph API** | Tên máy chủ Microsoft Graph (môi trường thương mại: `graph.microsoft.com`) |
| **Máy chủ xác thực** | Tên máy chủ xác thực của Microsoft Entra (môi trường thương mại: `login.microsoftonline.com`) |

**Phạm vi (quyền Application):**

| Quyền | Mục đích sử dụng |
| - | - |
| `User.Read.All` | Thư mục người dùng |
| `SecurityAlert.Read.All` | Cảnh báo bảo mật |
| `AuditLog.Read.All` | Nhật ký đăng nhập và chi tiết đăng ký MFA |
| `Policy.Read.ConditionalAccess` | Chi tiết về conditional access trên mỗi lần đăng nhập — những chính sách nào đã được áp dụng và chúng đã thực thi những kiểm soát cấp quyền nào. Việc phát hiện MFA phụ thuộc vào quyền này |
| `AttackSimulation.Read.All` | Kết quả Attack Simulation Training |
| `Device.Read.All` | Các đối tượng thiết bị Entra ID, bao gồm cả các thiết bị không do Intune quản lý |
| `DeviceManagementManagedDevices.Read.All` | Các thiết bị được Intune quản lý |
| `IdentityRiskEvent.Read.All` | Các phát hiện rủi ro của Identity Protection, bao gồm thông tin xác thực bị rò rỉ |
| `GroupMember.ReadWrite.All` | **Tùy chọn.** Hành động về tư cách thành viên nhóm — cho phép một Sách hướng dẫn thêm một người vào hoặc xóa họ khỏi một nhóm Microsoft Entra ID |

### Quý vị quyết định kết nối này có thể làm gì

Kết nối này đọc dữ liệu. Kết nối cũng có thể *thực hiện hành động* trong thư mục của quý vị, nhưng chỉ khi quý vị
chọn cho phép.

Mọi quyền ở trên, trừ quyền cuối cùng, đều chỉ đọc. Nếu chỉ cấp các quyền đó, kết nối
sẽ không bao giờ có thể sửa đổi bất kỳ nội dung nào trong tenant của quý vị — nền tảng phát hiện điều này và
hoàn toàn không cung cấp các hành động đối với nhóm.

Thêm `GroupMember.ReadWrite.All` thì các hành động về tư cách thành viên nhóm sẽ khả dụng để sử dụng trong
Sách hướng dẫn. Không có gì tự động bắt đầu diễn ra: quý vị vẫn phải chọn những nhóm mà
nền tảng được phép tác động đến (xem bên dưới) và xây dựng một Sách hướng dẫn sử dụng các hành động đó.

Quý vị có thể thay đổi quyết định bất cứ lúc nào. Chỉ cần thêm hoặc xóa một quyền trong Microsoft Entra ID
và cấp lại sự đồng ý của quản trị viên — không cần nhập lại thông tin xác thực trong
nền tảng, và quá trình đồng bộ dữ liệu của quý vị vẫn tiếp tục chạy trong suốt thời gian đó. Thay đổi có hiệu lực trong vòng khoảng
một giờ.

<Note>
  **Các hành động về tư cách thành viên nhóm còn bị giới hạn ở những nhóm do quý vị chỉ định.** Sau khi
  kết nối, quản trị viên chọn một danh sách cho phép (allowlist) rõ ràng gồm các nhóm trên kết nối.
  Cho đến khi danh sách đó tồn tại, các hành động đối với nhóm sẽ không khả dụng ngay cả khi đã cấp quyền —
  vì vậy `GroupMember.ReadWrite.All` không bao giờ có nghĩa là "bất kỳ nhóm nào trong tenant".

  Hãy chọn các nhóm đó một cách cẩn thận: tránh bất kỳ nhóm nào cấp vai trò quản trị,
  quyền truy cập đặc quyền hoặc quyền sử dụng giấy phép.
</Note>

**Vai trò bắt buộc:** **Application Administrator** hoặc **Global Administrator** trong Microsoft Entra ID

<Note>
  **Hai trong số các quyền này là bổ sung mới hơn.** Nếu quý vị đã kết nối Microsoft Entra ID trước khi chúng
  xuất hiện trong danh sách này, hãy thêm chúng vào phần đăng ký ứng dụng hiện có của quý vị và **cấp lại sự đồng ý của quản trị viên** —
  Microsoft yêu cầu cấp lại sự đồng ý mỗi khi các quyền thay đổi. Mọi luồng dữ liệu khác
  vẫn hoạt động bình thường trong thời gian đó.

  `Policy.Read.ConditionalAccess` — nếu không có quyền này, Microsoft sẽ loại bỏ chi tiết conditional access
  khỏi mọi bản ghi đăng nhập. Bản ghi vẫn báo cáo rằng một chính sách conditional access đã được đáp ứng, nhưng danh sách
  các chính sách trả về là trống. Không có lỗi nào xảy ra và không có cảnh báo nào: dữ liệu đăng nhập
  vẫn tiếp tục được gửi đến và kết nối vẫn ở trạng thái tốt. Nền tảng chỉ đơn giản là không thể xác định những lần đăng nhập nào
  đã được đáp ứng bằng xác thực đa yếu tố, do đó hoạt động MFA từ kết nối này vẫn để trống.

  `IdentityRiskEvent.Read.All` — việc đọc các phát hiện rủi ro cũng yêu cầu giấy phép **Microsoft Entra ID P1 hoặc
  P2**. Bản thân tính năng phát hiện thông tin xác thực bị rò rỉ khả dụng ở mọi cấp, kể cả P1; các
  phát hiện cao cấp được báo cáo là `generic` ở cấp thấp hơn P2.
</Note>

### Điều kiện tiên quyết

* Quý vị phải có quyền truy cập **Application Administrator** hoặc **Global Administrator** trong Microsoft Entra ID để đăng ký ứng dụng và cấp sự đồng ý của quản trị viên.

***

## Phần A — Trong Microsoft Entra ID

*Quản trị viên Microsoft Entra ID của quý vị thực hiện các bước này.*

<Steps>
  <Step title="Đăng ký một ứng dụng mới">
    1. Đăng nhập vào [Microsoft Entra admin center](https://entra.microsoft.com).
    2. Trong thanh điều hướng bên trái, truy cập **Entra ID** → **App registrations**.
    3. Nhấp vào **New registration**.
    4. Nhập một tên có ý nghĩa cho ứng dụng, chẳng hạn như `Living Security Platform`.
    5. Trong **Supported account types**, chọn **Accounts in this organizational directory only**.
    6. Để trống **Redirect URI** — tích hợp này sử dụng luồng client credentials.
    7. Nhấp vào **Register**.

    Sau khi đăng ký, hãy ghi lại các giá trị sau từ trang **Overview**:

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

  <Step title="Thêm các quyền ứng dụng Microsoft Graph">
    1. Trên trang **Overview** của ứng dụng, nhấp vào **API permissions** trong menu bên trái.
    2. Nhấp vào **Add a permission**.
    3. Chọn **Microsoft Graph**.
    4. Chọn **Application permissions**.
    5. Tìm và chọn từng quyền dưới đây, sau đó nhấp vào **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. Chỉ thêm `GroupMember.ReadWrite.All` **nếu** quý vị muốn các Sách hướng dẫn có thể thay đổi tư cách thành viên nhóm. Bỏ qua quyền này để giữ kết nối ở chế độ chỉ đọc.

    <Note>
      Đây là các quyền tối thiểu cho tất cả các luồng dữ liệu. Nếu quý vị chỉ định bật một số luồng, quý vị có thể bỏ qua các quyền của những luồng không sử dụng.
    </Note>
  </Step>

  <Step title="Cấp sự đồng ý của quản trị viên">
    Các quyền ứng dụng yêu cầu sự đồng ý rõ ràng của quản trị viên.

    1. Trên trang **API permissions**, nhấp vào **Grant admin consent for \<your tenant name>**.
    2. Trong hộp thoại xác nhận, nhấp vào **Yes**.
    3. Xác minh rằng mọi quyền đều hiển thị **Granted** trong cột **Status**.

    <Note>
      Nếu nút **Grant admin consent** bị mờ, quý vị cần có đặc quyền **Privileged Role Administrator** hoặc **Global Administrator**. Sự đồng ý của quản trị viên phải được cấp lại mỗi khi quý vị thêm quyền mới.
    </Note>
  </Step>

  <Step title="Tạo một client secret">
    1. Trên trang **Overview** của ứng dụng, nhấp vào **Certificates & secrets** trong menu bên trái.
    2. Nhấp vào tab **Client secrets**, sau đó nhấp vào **New client secret**.
    3. Nhập mô tả (ví dụ: `Living Security Platform`).
    4. Chọn thời hạn hết hiệu lực phù hợp với chính sách xoay vòng của quý vị.
    5. Nhấp vào **Add**.

    <Warning>
      **Hãy sao chép giá trị secret ngay lập tức.** Microsoft Entra ID chỉ hiển thị đầy đủ client secret một lần. Nếu quý vị rời khỏi trang trước khi sao chép, quý vị phải xóa secret và tạo một secret mới.
    </Warning>

    Hãy lưu trữ secret một cách an toàn. Đặt lời nhắc trên lịch để xoay vòng secret trước khi hết hạn — secret đã hết hạn sẽ khiến các lần đồng bộ thất bại với lỗi `401 Unauthorized`.
  </Step>

  <Step title="Xác định máy chủ Graph API và máy chủ xác thực">
    Đối với hầu hết các tổ chức trên đám mây thương mại, hãy sử dụng giá trị mặc định:

    | Trường | Giá trị đám mây thương mại |
    | - | - |
    | **Máy chủ Graph API** | `graph.microsoft.com` |
    | **Máy chủ xác thực** | `login.microsoftonline.com` |

    Đối với đám mây chính phủ hoặc đám mây chủ quyền, hãy sử dụng các điểm cuối phù hợp với môi trường của quý vị.

    <Note>
      Máy chủ Graph API và máy chủ xác thực phải khớp nhau — token từ máy chủ xác thực của một đám mây không hợp lệ đối với điểm cuối Graph của đám mây khác.
    </Note>
  </Step>
</Steps>

***

## Phần B — Trong Living Security Platform

*Chủ sở hữu chương trình thực hiện bước này, hoặc quản trị viên hệ thống nếu họ được mời vào nền tảng.*

<Steps>
  <ConnectInPlatform tile="Microsoft Entra ID (Client Credentials)">
    | Trường | Giá trị |
    | - | - |
    | **Khóa API** | Bí mật khách hàng từ Phần A, Bước 4 |
    | **ID tenant Azure** | Directory (tenant) ID từ Phần A, Bước 1 |
    | **ID khách hàng** | Application (client) ID từ Phần A, Bước 1 |
    | **Máy chủ Graph API** | `graph.microsoft.com` (hoặc điểm cuối của đám mây quý vị) |
    | **Máy chủ xác thực** | `login.microsoftonline.com` (hoặc điểm cuối của đám mây quý vị) |

    <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="Hộp thoại kết nối của Living Security cho Microsoft Entra ID" style={{maxWidth: "450px"}} width="576" height="692" data-path="integrations/images/microsoft-entra-id-cc/connect-dialog.png" />
  </ConnectInPlatform>
</Steps>

Quý vị hiện đã kết nối với Microsoft Entra ID (Client Credentials).

***

## Khắc phục sự cố

<AccordionGroup>
  <Accordion title="401 Unauthorized">
    Thông tin xác thực không hợp lệ hoặc đã hết hạn. Hãy kiểm tra:

    1. Bí mật khách hàng chưa hết hạn hoặc chưa bị xoay vòng
    2. ID tenant và ID khách hàng là chính xác
    3. Máy chủ xác thực khớp với môi trường đám mây của quý vị
  </Accordion>

  <Accordion title="403 Forbidden">
    Phần đăng ký ứng dụng thiếu quyền hoặc chưa được cấp sự đồng ý của quản trị viên. Hãy xác minh:

    1. Tất cả các quyền bắt buộc đều được liệt kê trong **API permissions**
    2. Mỗi quyền hiển thị trạng thái **Granted** (dấu kiểm màu xanh lá)
    3. Sự đồng ý của quản trị viên được cấp sau khi thêm các quyền

    <Note>
      Nếu quý vị đã thêm quyền mới sau lần đồng ý ban đầu, quý vị phải cấp lại sự đồng ý của quản trị viên.
    </Note>
  </Accordion>

  <Accordion title="Kết quả trống đối với một số luồng dữ liệu cụ thể">
    Ứng dụng có thể đang thiếu quyền cụ thể cho luồng đó:

    * Không có người dùng → thiếu `User.Read.All`
    * Không có cảnh báo bảo mật → thiếu `SecurityAlert.Read.All`
    * Không có nhật ký đăng nhập → thiếu `AuditLog.Read.All`
    * Không có kết quả mô phỏng tấn công → thiếu `AttackSimulation.Read.All`
    * Không có thiết bị Entra ID → thiếu `Device.Read.All`
    * Không có thiết bị được Intune quản lý → thiếu `DeviceManagementManagedDevices.Read.All`
    * Không có phát hiện rủi ro → thiếu `IdentityRiskEvent.Read.All`, chưa cấp lại sự đồng ý của quản trị viên sau khi
      thêm quyền này, hoặc tenant thấp hơn mức giấy phép tối thiểu Microsoft Entra ID P1
  </Accordion>

  <Accordion title="Yêu cầu token thất bại với invalid_client">
    Máy chủ Graph API và máy chủ xác thực có thể không khớp nhau. Cả hai phải tương ứng với cùng một môi trường đám mây (thương mại, chính phủ, v.v.).
  </Accordion>

  <Accordion title="Các hành động đối với nhóm không xuất hiện trong Sách hướng dẫn">
    Các hành động về tư cách thành viên nhóm chỉ được cung cấp khi cả ba điều kiện sau đều đúng:

    1. `GroupMember.ReadWrite.All` có trên phần đăng ký ứng dụng, với sự đồng ý của quản trị viên đã được cấp. Nếu quý vị vừa thêm quyền này, hãy chờ tối đa một giờ.
    2. Quản trị viên đã chỉ định một danh sách cho phép (allowlist) gồm các nhóm trên kết nối.
    3. Kết nối đang hoạt động và ở trạng thái tốt.

    Nếu quý vị đã cấp quyền mà các hành động vẫn không khả dụng, hãy cấp lại sự đồng ý của quản trị viên — Microsoft yêu cầu điều này mỗi khi các quyền thay đổi.
  </Accordion>

  <Accordion title="Conditional access chặn kết nối hoặc các hành động của kết nối">
    Nếu tenant của quý vị có chính sách Conditional Access được giới hạn theo địa chỉ IP, chính sách này có thể chặn các yêu cầu
    mang thông tin xác thực của kết nối này. Hầu hết các tenant không bị ảnh hưởng — theo mặc định, Microsoft Graph không
    giới hạn theo địa chỉ IP. Nếu quý vị áp dụng chính sách giới hạn theo IP cho các service
    principal, tích hợp này cần cho phép **hai** nhóm địa chỉ, vì quá trình thiết lập và
    đồng bộ dữ liệu xuất phát từ các mạng khác nhau.

    Living Security tự tạo access token cho kết nối này và gia hạn liên tục, do đó
    các yêu cầu token xuất phát từ các địa chỉ riêng của nền tảng, không phải từ các địa chỉ mà quá trình đồng bộ dữ liệu
    của quý vị sử dụng.

    Các hành động đối với nhóm là tách biệt. Theo mặc định, chúng được định tuyến giống như quá trình đồng bộ dữ liệu của quý vị và xuất phát
    từ các địa chỉ đồng bộ. Chúng chỉ chuyển sang các địa chỉ của nền tảng nếu quản trị viên
    chuyển kết nối sang chế độ egress trực tiếp.

    <EgressIpAllowlistBothSets system="Microsoft Entra ID" />

    Thêm cả hai nhóm vào **named location** mà chính sách Conditional Access của quý vị tin cậy hoặc
    loại trừ. Các yêu cầu token được gửi đến `login.microsoftonline.com` và các yêu cầu dữ liệu được gửi đến
    `graph.microsoft.com`; cả hai đều phải được cho phép.

    Nếu chỉ các địa chỉ đồng bộ được đưa vào danh sách cho phép, quá trình thiết lập sẽ thất bại khi lấy token và không có
    kết nối nào được tạo. Nếu chỉ các địa chỉ của nền tảng được đưa vào danh sách cho phép, quá trình thiết lập thành công nhưng
    mọi lần đồng bộ đều không trả về bản ghi nào.
  </Accordion>
</AccordionGroup>

<PublicIntegrationNextSteps />


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