> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/run-the-platform/vi/xac-thuc/azure-auth.md).

# Sử dụng Entra ID (Azure AD) để xác thực

VergeOS có thể được cấu hình để cho phép người dùng xác thực bằng thông tin xác thực Azure doanh nghiệp của họ. Trang này sẽ hướng dẫn bạn qua quy trình cấu hình.

## Cấu hình nguồn ủy quyền Entra ID

1. Trong các dịch vụ Azure: đăng ký một ứng dụng web một tenant, đặt ***URI chuyển hướng*** thành URL của hệ thống VergeOS và tạo một secret ứng dụng khách mới. **Azure Active Directory > Đăng ký ứng dụng > Đăng ký mới** ![azurereg1.png](/files/43c63f0d195431e89bb5b3a11a8c5f668c28f1c4)

   ![azurereg2.png](/files/48ff56687ad6af2db7ad2da30bda587e7653b63a)
2. Tạo một secret ứng dụng khách mới. **Đăng ký ứng dụng > Thông tin xác thực khách hàng > Thêm chứng chỉ hoặc secret. Nhấp +Secret ứng dụng khách mới.**

   * Nhập một **mô tả và ngày hết hạn** cho secret ứng dụng khách mới.
   * **Lấy các thông tin sau từ Azure** để sử dụng trong cấu hình nguồn ủy quyền trong VergeOS:
     * **ID tenant** - **gợi ý:&#x20;*****Tất cả dịch vụ > Azure Active Directory > Tổng quan.*****&#x20;ID tenant được liệt kê trong Thông tin cơ bản.**
     * **Client ID** - **gợi ý:&#x20;*****Đăng ký ứng dụng Azure > Mục đã cấu hình > Thông tin xác thực khách hàng***
     * **Client Secret** - **gợi ý:&#x20;*****Đăng ký ứng dụng Azure > Mục đã cấu hình > Thông tin xác thực khách hàng*****&#x20;Hãy dùng trường "VALUE".**

   ![azureclientsecretadd.png](/files/c633063cffbf67fd20a447ea96b8d41b06e51053) ![azureclientsecret2.png](/files/027663e3139034490f6e61ad4627aaf78ce04b59)
3. Nhấp vào **Hệ thống** trên menu trên cùng.
4. Chọn **Nguồn xác thực**.
5. Nhấp vào **Mới** ở menu bên trái.
6. Nhập một ***Tên*** cho nguồn (chẳng hạn như "Azure"). Tên này sẽ xuất hiện trên nút đăng nhập của trang đăng nhập VergeOS. ![azureauthform.png](/files/adb8a4a65e848d9f2898afd286fc3ee3a7d777f1)
7. Trong ***Trình điều khiển*** trường (danh sách thả xuống), chọn **Azure AD**.
8. Nhập ***ID tenant*** được lấy ở bước trước.
9. Tên ***URI chuyển hướng*** phải là URL đến hệ thống VergeOS của bạn (ví dụ: https\:/\[]/verge.io.mycompanyabc.com)
10. Nhập ***URL điểm cuối để người dùng đăng xuất token phiên*** (https\:/\[]/login.microsoftonline.com/***TENANTID***/oauth2/v2.0/logout)
11. ***Phạm vi*** thường nên để ở giá trị mặc định: "OpenID profile email".
12. ***Phạm vi nhóm*** cần được đặt nếu người dùng sẽ được tự động tạo dựa trên tư cách thành viên nhóm; thông thường, đặt thành từ "groups" không có dấu câu.
13. Nhập ***Client ID*** được lấy ở bước trước.
14. Nhập ***Client Secret*** được lấy ở bước trước.
15. ***Các trường người dùng từ xa*** xác định danh sách các trường được dùng để tìm người dùng Azure ban đầu; trường này được tự động điền với (sub,preferred\_username,email nickname), một danh sách mặc định thường có thể hoạt động cho hầu hết các triển khai. **Lưu ý: Vì lý do bảo mật, không khuyến nghị xác định người dùng từ xa dựa trên các trường có thể bị người dùng cuối thay đổi trên hệ thống từ xa.**
16. Để chuyển tiếp tư cách thành viên nhóm từ Azure sang VergeOS, hãy chọn ***Cập nhật tư cách thành viên nhóm*** ô chọn. Các nhóm phải được tạo trong VergeOS theo hướng dẫn bên dưới.
17. **Tính năng tự động tạo người dùng (tùy chọn)**: Người dùng có thể được tự động tạo khi đăng nhập lần đầu vào VergeOS; có thể áp dụng cho tất cả người dùng Entra ID -HOẶC- giới hạn cho người dùng trong các nhóm Entra ID được chỉ định.
    * ***Tự động tạo người dùng*** - Nếu tất cả người dùng nên được tự động tạo, hãy nhập `.*` tại đây.
    * ***Tự động tạo người dùng trong nhóm*** - Để chỉ tự động tạo những người dùng là thành viên của các nhóm Entra ID được chỉ định, hãy nhập (các) ID đối tượng nhóm dưới dạng biểu thức chính quy (regex).

{% hint style="info" %}
**Tự động tạo người dùng trong các nhóm**

* Tên **Phạm vi nhóm** phải được xác định. (Trường Phạm vi nhóm đã được định nghĩa ở trên)
* **Cấu hình token** phải được thiết lập trong Entra ID (hướng dẫn bên dưới).
* Entra ID **các nhóm** được chỉ định cho Tự động tạo **phải được tạo ở phía VergeOS** (hướng dẫn bên dưới).
* Để tự động tạo dựa trên nhóm,  ***Tự động tạo người dùng*** **trường phải để trống**
* Có thể nhập nhiều ID nhóm cụ thể bằng định dạng: (ID)|(ID)|(ID)
  {% endhint %}

18. **Tùy chọn (khuyến nghị bật):**

* ***Cập nhật người dùng từ xa:*** - khi người dùng được xác định vị trí trong Entra ID, cập nhật người dùng VergeOS *Tên người dùng từ xa* trường thành ID duy nhất Azure tương ứng.

{% hint style="success" %}
**Bật Update Remote User sẽ cho phép hệ thống VergeOS lưu ID Azure duy nhất trong bản ghi người dùng VergeOS (sau khi ban đầu xác định người dùng Entra ID bằng các trường được định nghĩa trong Remote User Fields), để mã định danh duy nhất này sau đó có thể được dùng để tìm người dùng Entra ID; điều này thường được khuyến nghị vì các trường như địa chỉ email có thể thay đổi.**
{% endhint %}

* ***Cập nhật địa chỉ email người dùng:*** - Cập nhật địa chỉ email người dùng VergeOS để khớp với địa chỉ email trong Entra ID.
* ***Cập nhật tên hiển thị của người dùng:*** - Cập nhật tên hiển thị của người dùng VergeOS để khớp với tên hiển thị trong Entra ID.
* ***Cập nhật tư cách thành viên nhóm:*** - Cập nhật các nhóm mà người dùng VergeOS là thành viên. (Cần có Phạm vi nhóm để chức năng này hoạt động.)

19. **Các trường tùy chọn bổ sung:** Xem [**Nguồn ủy quyền (Chung)**](https://github.com/verge-io/docs-vergeos/tree/main/run/product-guide/auth/auth-sources-overview.md) để biết thông tin về các Trường tùy chọn bổ sung.

## Thêm nhóm Azure vào VergeOS

Tương tác với các nhóm Azure yêu cầu một token trên đăng ký ứng dụng Entra ID và việc tạo các nhóm trong VergeOS:

### Thiết lập cấu hình token trong Entra ID

1. Đi tới **trang đăng ký ứng dụng** cho ứng dụng đã tạo ở trên.
2. Nhấp vào **Cấu hình token** ở menu bên trái và nhấp **+Thêm khai báo nhóm**.
3. Chọn **các loại nhóm**.
4. Đặt **ID, Access và SAML thành sAMAccountName**.

![azure-editgroupsclaim.pn](/files/efd09be62659efba6c70890dfad5a1e11cf8c0e4)

### Các bước để thêm nhóm Azure

1. Đi tới **Hệ thống > Nhóm.**
2. Nhấp vào **Mới** ở menu bên trái.
3. Nhập nhóm ***Tên*** để khớp với tên nhóm trong Entra ID.
4. Tùy chọn, một ***Email*** có thể được nhập cho nhóm. Địa chỉ email này được dùng để gửi cảnh báo đăng ký và/hoặc báo cáo được gán cho nhóm.
5. Sao chép **ID đối tượng** từ trang Groups/All Groups trong Entra ID vào ***Định danh*** .
6. Nhấp vào **Gửi** (ở cuối trang) để lưu nhóm mới.

![azure-groupspage.png](/files/d0d8494699e36c2c615cff77c29db37058d6d18a)

![azure-creategroup.png](/files/c8c069e5f311d3b90f211ed8746585b2721e7ca9)

## Thêm người dùng thủ công từ Azure

Sau khi nguồn xác thực Azure được tạo, người dùng có thể được tạo thủ công trong VergeOS để sử dụng nguồn ủy quyền cho xác thực đăng nhập. Việc tạo người dùng thủ công chỉ cần thiết khi người dùng không được cấu hình để tự động tạo.

### Thêm người dùng VergeOS sẽ sử dụng xác thực Entra ID

Khi tạo người dùng mới, hãy dùng cấu hình sau:

* ***Nguồn xác thực:*** Chọn nguồn Entra ID từ danh sách thả xuống
* ***Tên người dùng:*** tên duy nhất trong hệ thống VergeOS; thông thường nên dùng principal name của Azure.
* ***Tên người dùng từ xa:*** sử dụng giá trị của một trong các trường được định nghĩa là *các trường Người dùng từ xa* đây là các trường được tìm kiếm trong Azure (ví dụ: tên người dùng, email)
* ***Tên hiển thị:*** (tùy chọn) Nếu *Cập nhật tên hiển thị của người dùng* được bật trên nguồn xác thực Entra ID, tên hiển thị sẽ tự động đồng bộ từ Entra ID.
* ***Địa chỉ email:*** (tùy chọn) Nếu *Cập nhật địa chỉ email người dùng* được bật trên nguồn xác thực Entra ID, địa chỉ email sẽ tự động đồng bộ từ Entra ID.

![azure-newuser.png](/files/f2f3582201d08e91135493196c5c2b9301a06f88)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/run-the-platform/vi/xac-thuc/azure-auth.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
