Bật xác thực cơ sở dữ liệu Microsoft Entra

Đã hoàn thành

Bài viết này hướng dẫn bạn cách sử dụng ID Microsoft Entra để xác thực với Cơ sở dữ liệu Azure SQL, Phiên bản được Quản lý azure SQLAzure Synapse Analytics.

Ghi

Microsoft Entra ID trước đây được gọi là Azure Active Directory (Azure AD).

Ngoài ra, bạn cũng có thể đặt cấu hình xác thực Microsoft Entra cho SQL Server trên Máy Ảo Azure.

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

Để sử dụng xác thực Microsoft Entra với tài nguyên Azure SQL của bạn, bạn cần các điều kiện tiên quyết sau đây:

Tạo và cư dân đối tượng thuê Microsoft Entra

Trước khi bạn có thể đặt cấu hình xác thực Microsoft Entra cho tài nguyên Azure SQL của mình, bạn cần tạo đối tượng thuê Microsoft Entra và điền vào đối tượng thuê đó với người dùng và nhóm. Đối tượng thuê Microsoft Entra có thể được quản lý hoàn toàn trong Azure hoặc được sử dụng để liên kết của Dịch vụ Miền Active Directory tại chỗ.

Để biết thêm thông tin, hãy xem:

Đặt người quản trị Microsoft Entra

Để sử dụng xác thực Microsoft Entra với tài nguyên của bạn, nó cần phải có người quản trị Microsoft Entra thiết lập. Mặc dù về mặt khái niệm, các bước vẫn giống nhau đối với Cơ sở dữ liệu Azure SQL, Azure Synapse Analytics và Azure SQL Managed Instance, mục này mô tả chi tiết về các API và trải nghiệm cổng thông tin khác nhau để thực hiện việc này cho từng sản phẩm.

Người quản trị Microsoft Entra cũng có thể được đặt cấu hình khi tạo tài nguyên Azure SQL. Nếu người quản trị Microsoft Entra đã được cấu hình, hãy bỏ qua phần này.

Cơ sở dữ liệu Azure SQL và Azure Synapse Analytics

Việc đặt người quản trị Microsoft Entra sẽ bật xác thực Microsoft Entra cho máy chủ lô-gic của bạn đối với Cơ sở dữ liệu Azure SQL và Azure Synapse Analytics. Bạn có thể đặt người quản trị Microsoft Entra cho máy chủ của mình bằng cách sử dụng cổng thông tin Azure, PowerShell, Azure CLI hoặc REST API.

Trong cổng thông tin Azure, bạn có thể tìm thấy tên máy chủ lô-gic

  • Trong trường tên máy chủ trên trang Tổng quan của Cơ sở dữ liệu Azure SQL.
  • Trong trường tên máy chủ trên trang Tổng quan của nhóm SQL chuyên dụng độc lập của bạn trong Azure Synapse Analytics.
  • Trong điểm cuối SQL liên quan trên trang Tổng quan của không gian làm việc Azure Synapse Analytics của bạn.
  • cổng thông tin Azure
  • PowerShell
  • dịch vụ Azure CLI
  • API REST

Để đặt người quản trị Microsoft Entra cho máy chủ lô-gic của bạn trong cổng thông tin Azure, hãy làm theo các bước sau:

  1. Trong ngăn Thư mục cổng thông tin Azure + đăng ký, chọn thư mục chứa tài nguyên Azure SQL của bạn làm Thư mục hiện tại.
  2. Tìm kiếm máy chủ SQL, rồi chọn máy chủ lô-gic cho tài nguyên cơ sở dữ liệu của bạn để mở ngăn SQL server.
  3. Trên ngăn SQL server cho máy chủ lô-gic của bạn, chọn ID Microsoft Entra bên dưới Cài đặt để mở ngăn Microsoft Entra ID.
  4. Trên ngăn MICROSOFT Entra ID, chọn Đặt quản trị để mở ngăn Microsoft Entra ID.
  5. Ngăn MICROSOFT Entra ID hiển thị tất cả người dùng, nhóm và ứng dụng trong thư mục hiện tại của bạn và cho phép bạn tìm kiếm theo tên, biệt danh hoặc ID. Tìm danh tính mong muốn của bạn cho người quản trị Microsoft Entra và chọn danh tính đó, sau đó bấm Chọn để đóng ngăn.
  6. Ở đầu trang ID Microsoft Entra cho máy chủ lô-gic của bạn, chọn Lưu.

ID Đối tượng được hiển thị bên cạnh tên người quản trị cho người dùng và nhóm Microsoft Entra. Đối với các ứng dụng (tên dịch vụ chính), ID Ứng dụng được hiển thị.

Quá trình thay đổi người quản trị có thể mất vài phút. Sau đó, người quản trị mới sẽ xuất hiện trong trường quản trị Microsoft Entra.

Để loại bỏ người quản trị, ở đầu trang ID Microsoft Entra, chọn Loại bỏ người quản trị, rồi chọn Lưu. Việc loại bỏ người quản trị Microsoft Entra sẽ vô hiệu hóa xác thực Microsoft Entra đối với máy chủ lô-gic của bạn.

Ghi

Người quản trị Microsoft Entra được lưu trữ trong cơ sở dữ liệu chính của máy chủ dưới dạng người dùng (tên cơ sở dữ liệu chính). Vì tên chính của cơ sở dữ liệu phải là duy nhất nên tên hiển thị của người quản trị không được giống với tên của bất kỳ người dùng nào trong cơ sở dữ liệu chính của máy chủ. Nếu người dùng có tên đã tồn tại, thiết lập quản trị Microsoft Entra không thành công và quay lui, cho biết rằng tên đã được sử dụng.

Phiên bản được Quản lý azure SQL

Việc đặt người quản trị Microsoft Entra sẽ bật xác thực Microsoft Entra cho Phiên bản được Quản lý Azure SQL. Bạn có thể đặt người quản trị Microsoft Entra cho phiên bản sql được quản lý bằng cách sử dụng cổng thông tin Azure, PowerShell, Azure CLI hoặc REST API.

Để cấp cho phiên bản được quản lý của bạn quyền đọc ID Microsoft Entra bằng cách sử dụng cổng thông tin Azure, hãy đăng nhập với tư cách Người quản trị Vai trò Đặc quyền và làm theo các bước sau:

  1. Trong cổng thông tin Azure, ở góc trên bên phải, chọn tài khoản của bạn, rồi chọn Chuyển đổi thư mục để xác nhận thư mục nào là Thư mục hiện tại của bạn. Chuyển đổi thư mục, nếu cần thiết.
  2. Trong ngăn Thư mục cổng thông tin Azure + đăng ký, chọn thư mục chứa phiên bản được quản lý của bạn làm Thư mục hiện tại.'''
  3. Tìm kiếm các phiên bản được quản lý của SQL, rồi chọn phiên bản được quản lý của bạn để mở ngăn phiên bản được quản lý của SQL. Sau đó, chọn MICROSOFT Entra ID bên dưới Cài đặt để mở ngăn Microsoft Entra ID cho phiên bản của bạn.
  4. Trên ngăn quản trị Microsoft Entra, chọn Đặt người quản trị từ thanh dẫn hướng để mở ngăn MICROSOFT Entra ID.
  5. Trên ngăn Microsoft Entra ID, tìm kiếm người dùng, đánh dấu vào hộp bên cạnh người dùng hoặc nhóm để trở thành người quản trị, rồi nhấn Select để đóng ngăn và quay lại trang quản trị Microsoft Entra dành cho phiên bản được quản lý của bạn. Ngăn ID Microsoft Entra hiển thị tất cả thành viên và nhóm trong thư mục hiện tại của bạn. Không thể chọn người dùng hoặc nhóm bị mờ vì họ không được hỗ trợ như người quản trị Microsoft Entra. Chọn danh tính bạn muốn gán làm người quản trị của bạn.
  6. Từ thanh dẫn hướng của trang quản trị Microsoft Entra cho phiên bản được quản lý của bạn, chọn Lưu để xác nhận người quản trị Microsoft Entra của bạn. Sau khi thao tác thay đổi người quản trị hoàn tất, người quản trị mới sẽ xuất hiện trong trường quản trị Microsoft Entra. ID Đối tượng được hiển thị bên cạnh tên người quản trị cho người dùng và nhóm Microsoft Entra. Đối với các ứng dụng (tên dịch vụ chính), ID Ứng dụng được hiển thị.

Mẹo

Để loại bỏ người quản trị, hãy chọn Loại bỏ người quản trị ở đầu trang ID Microsoft Entra, rồi chọn Lưu.

Gán quyền microsoft Graph

Phiên bản được Quản lý của SQL cần có quyền đọc ID Microsoft Entra cho các kịch bản như ủy quyền cho người dùng kết nối thông qua tư cách thành viên nhóm bảo mật và tạo người dùng mới. Để xác thực Microsoft Entra hoạt động, bạn cần gán nhận dạng phiên bản được quản lý cho vai trò Bộ đọc Thư mục. Bạn có thể thực hiện điều này bằng cách sử dụng cổng thông tin Azure hoặc PowerShell.

Đối với một số thao tác, Azure SQL Database và Azure Synapse Analytics cũng yêu cầu quyền truy vấn Microsoft Graph, được giải thích trong các quyền của Microsoft Graph. Cơ sở dữ liệu Azure SQL và Azure Synapse Analytics hỗ trợ các quyền Graph chi tiết cho các kịch bản này, trong khi Phiên bản được Quản lý của SQL yêu cầu vai trò Người đọc Thư mục. Các quyền chi tiết và nhiệm vụ của họ được mô tả chi tiết trong cho phép các chủ thể dịch vụ tạo người dùng Microsoft Entra.

Vai trò Bộ đọc Thư mục

Trang ID Microsoft Entra cho Phiên bản được Quản lý của SQL trong cổng thông tin Azure hiển thị biểu ngữ thuận tiện khi phiên bản không được gán quyền Bộ đọc Thư mục.

  1. Chọn biểu ngữ ở đầu trang ID Microsoft Entra và cấp quyền cho hệ thống được gán hoặc danh tính được người dùng gán được quản lý đại diện cho phiên bản của bạn. Chỉ người quản trị Vai trò Đặc quyền hoặc vai trò cao hơn trong đối tượng thuê của bạn mới có thể thực hiện thao tác này.
  2. Khi thao tác thành công, thông báo Thành công sẽ hiển thị ở góc trên bên phải:

Người quản trị Microsoft Entra bây giờ có thể được sử dụng để tạo ra microsoft Entra máy chủ chính (đăng nhập) và cơ sở dữ liệu chính (người dùng). Để biết thêm thông tin, hãy xem tích hợp Microsoft Entra với Phiên bản được quản lý của Azure SQL.

Tạo hiệu trưởng Microsoft Entra trong SQL

Để kết nối với cơ sở dữ liệu trong Cơ sở dữ liệu SQL hoặc Azure Synapse Analytics với xác thực Microsoft Entra, phải đặt cấu hình chính trên cơ sở dữ liệu cho định danh đó với ít nhất quyền KẾT NỐI.

Quyền người dùng cơ sở dữ liệu

Khi người dùng cơ sở dữ liệu được tạo, nó sẽ nhận được quyền KẾT NỐI đến cơ sở dữ liệu theo mặc định. Người dùng cơ sở dữ liệu cũng thừa hưởng các quyền trong hai trường hợp:

  • Nếu người dùng là thành viên của nhóm Microsoft Entra cũng được gán quyền trên máy chủ.
  • Nếu người dùng được tạo từ đăng nhập, người dùng đó sẽ kế thừa các quyền được máy chủ gán của đăng nhập áp dụng trên cơ sở dữ liệu.

Quản lý quyền cho chủ thể cơ sở dữ liệu và máy chủ hoạt động giống nhau bất kể loại chính (Microsoft Entra ID, xác thực SQL, v.v.). Chúng tôi khuyên bạn nên cấp quyền cho vai trò cơ sở dữ liệu thay vì trực tiếp cấp quyền cho người dùng. Sau đó, người dùng có thể được thêm vào vai trò với các quyền thích hợp. Điều này đơn giản hóa việc quản lý quyền dài hạn và giảm khả năng giữ lại quyền truy nhập trong quá khứ khi thích hợp.

Để biết thêm thông tin, hãy xem:

Người dùng cơ sở dữ liệu đã chứa

Người dùng cơ sở dữ liệu đã chứa là loại người dùng SQL không được kết nối với đăng nhập trong cơ sở dữ liệu chính. Để tạo người dùng cơ sở dữ liệu chứa Microsoft Entra, hãy kết nối với cơ sở dữ liệu bằng nhận dạng Microsoft Entra có ít nhất quyền ALTER BẤT KỲ NGƯỜI DÙNG nào. Ví dụ sau T-SQL tạo ra một cơ sở dữ liệu chính Microsoft_Entra_principal_name từ Microsoft Entra ID.

SQL

CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;


SQL

CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;


SQL

CREATE USER [appName] FROM EXTERNAL PROVIDER;


SQL

CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;


Người dùng dựa trên đăng nhập

Ghi

Chủ thể máy chủ Microsoft Entra (thông tin đăng nhập) hiện đang ở chế độ xem trước công khai cho Cơ sở dữ liệu Azure SQL và Azure Synapse Analytics. Thông thường, thông tin đăng nhập Microsoft Entra sẵn dùng cho Phiên bản được Quản lý của Azure SQL và SQL Server 2022.

Hỗ trợ chủ thể máy chủ Microsoft Entra ( hoặc đăng nhập), nghĩa là không bắt buộc phải có người dùng cơ sở dữ liệu đã chứa. Chủ thể cơ sở dữ liệu (người dùng) có thể được tạo dựa trên tên máy chủ chính, điều này có nghĩa là người dùng Microsoft Entra có thể kế thừa các quyền được gán ở cấp máy chủ của đăng nhập.

SQL

CREATE USER [appName] FROM LOGIN [appName];


Để biết thêm thông tin, hãy xem tổng quan về Phiên bản được Quản lý của SQL. Để biết cú pháp về cách tạo tên máy chủ Microsoft Entra (đăng nhập), hãy xem TẠO ĐĂNG NHẬP.

Người dùng bên ngoài

Bạn không thể trực tiếp tạo người dùng cơ sở dữ liệu cho danh tính được quản lý trong một đối tượng thuê Microsoft Entra khác với đối tượng được liên kết với đăng ký Azure của bạn. Tuy nhiên, người dùng trong các thư mục khác có thể được nhập vào thư mục liên kết như người dùng bên ngoài. Sau đó, họ có thể được sử dụng để tạo người dùng cơ sở dữ liệu có chứa có thể truy nhập cơ sở dữ liệu. Người dùng bên ngoài cũng có thể có quyền truy nhập thông qua tư cách thành viên trong các nhóm Microsoft Entra.

Ví dụ: Để tạo người dùng cơ sở dữ liệu chứa đại diện cho người dùng miền được liên kết hoặc quản lý của Microsoft Entra:

SQL

CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;


Một tài khoản người dùng tên miền liên kết được nhập vào một tên miền được quản lý như một người dùng bên ngoài, phải sử dụng định danh tên miền được quản lý.

Cân nhắc đặt tên

Các ký tự đặc biệt như dấu hai chấm: hoặc dấu và & khi được bao gồm như tên người dùng trong câu lệnh T-SQL CREATE LOGIN và CREATE USER không được hỗ trợ.

Microsoft Entra ID và Azure SQL phân kỳ trong thiết kế quản lý người dùng của họ một cách chính: Microsoft Entra ID cho phép tên hiển thị được sao chép trong một đối tượng thuê, trong khi Azure SQL yêu cầu tất cả các chủ thể máy chủ trên một máy chủ hoặc phiên bản và tất cả các nguyên tắc cơ sở dữ liệu trên một cơ sở dữ liệu để có một tên duy nhất. Vì Azure SQL trực tiếp sử dụng tên hiển thị Microsoft Entra của nhận dạng khi tạo đối tượng chính, điều này có thể dẫn đến lỗi khi tạo người dùng. Để giải quyết vấn đề này, Azure SQL đã phát hành WITH OBJECT_ID enhancement hiện trong bản xem trước, cho phép người dùng chỉ định ID đối tượng Microsoft Entra của danh tính được thêm vào máy chủ hoặc phiên bản.

Quyền đối với Microsoft Graph

TẠO NGƯỜI DÙNG ... Lệnh NHÀ CUNG CẤP BÊN NGOÀI yêu cầu quyền truy nhập Azure SQL vào MICROSOFT Entra ID ("nhà cung cấp bên ngoài") thay mặt cho người dùng đã đăng nhập. Đôi khi, các trường hợp phát sinh khiến ID Microsoft Entra trả về một ngoại lệ cho Azure SQL.

  • Bạn có thể gặp lỗi SQL 33134, trong đó chứa thông báo lỗi dành riêng cho ID Của Microsoft Entra. Lỗi thường nói rằng quyền truy nhập bị từ chối, rằng người dùng phải đăng ký MFA để truy nhập tài nguyên hoặc quyền truy nhập giữa các ứng dụng của bên thứ nhất phải được xử lý thông qua tính năng xác thực trước. Trong hai trường hợp đầu tiên, sự cố thường là do các chính sách Truy nhập có Điều kiện được đặt trong đối tượng thuê Microsoft Entra của người dùng: chúng ngăn người dùng truy nhập vào nhà cung cấp bên ngoài. Cập nhật chính sách Truy nhập có điều kiện để cho phép truy nhập vào ứng dụng '000000003-0000-0000-c000-000000000000' (ID ứng dụng của API Microsoft Graph) sẽ giải quyết sự cố này. Nếu lỗi cho biết quyền truy nhập giữa các ứng dụng của bên thứ nhất phải được xử lý thông qua thao tác xác thực trước, sự cố là do người dùng đã đăng nhập với tư cách là chủ thể dịch vụ. Lệnh sẽ thành công nếu thay vào đó được thực hiện bởi người dùng.
  • Nếu bạn nhận được thời gian chờ kết nối đã hết hạn, bạn có thể cần đặt tham số TransparentNetworkIPResolution của chuỗi kết nối thành false. Để biết thêm thông tin, hãy xem Sự cố hết thời gian chờ kết nối với .NET Framework 4.6.1 - TransparentNetworkIPResolution.

Để biết thêm thông tin về cách tạo người dùng cơ sở dữ liệu được bao gồm dựa trên danh tính Microsoft Entra, hãy xem CREATE USER.

Cấu hình xác thực nhiềufactor

Để cải thiện tính bảo mật cho tài nguyên Azure SQL của bạn, hãy cân nhắc đặt cấu hình xác thực đa yếu tố (MFA) để nhắc người dùng sử dụng phương pháp thay thế thứ hai để xác thực cơ sở dữ liệu, chẳng hạn như cuộc gọi điện thoại hoặc ứng dụng trình xác thực.

Để sử dụng xác thực đa yếu tố với tài nguyên Azure SQL của bạn, trước tiên hãy bật xác thực đa yếu tố, rồi sử dụng chính sách truy nhập có điều kiện để thực thi MFA cho tài nguyên Azure SQL của bạn.

Kết nối với Microsoft Entra

Sau khi đã cấu hình xác thực Microsoft Entra, bạn có thể sử dụng xác thực này để kết nối với tài nguyên SQL của mình với các công cụ của Microsoft như SQL Server Management Studio và Công cụ Dữ liệu SQL Server, đồng thời đặt cấu hình các ứng dụng máy khách để kết nối bằng danh tính Microsoft Entra.

Khắc phục sự cố xác thực Microsoft Entra

Để biết hướng dẫn khắc phục sự cố, hãy xem Blog: Khắc phục các sự cố liên quan đến xác thực Microsoft Entra với Cơ sở dữ liệu Azure SQL và Azure Synapse.