Cơ sở dữ liệu Azure SQL và bảo mật Phiên bản được Quản lý SQL
Bài viết này nêu những thông tin cơ bản về việc bảo mật tầng dữ liệu của một ứng dụng bằng cách sử dụng Cơ sở dữ liệu Azure SQL, Phiên bản được Quản lý azure SQL và Azure Synapse Analytics. Chiến lược an ninh được mô tả sử dụng một cách tiếp cận lớp, bảo vệ-sâu, di chuyển từ bên ngoài trong, như minh họa trong hình dưới đây.
Bảo mật mạng
Cơ sở dữ liệu Microsoft Azure SQL, Azure SQL Managed Instance và Azure Synapse Analytics cung cấp dịch vụ cơ sở dữ liệu quan hệ cho các ứng dụng đám mây và doanh nghiệp. Để giúp bảo vệ dữ liệu khách hàng, tường lửa ngăn chặn quyền truy nhập mạng vào máy chủ cho đến khi quyền truy nhập được cấp rõ ràng dựa trên địa chỉ IP hoặc nguồn gốc lưu lượng truy cập mạng Azure Virtual.
Quy tắc tường lửa IP
Quy tắc tường lửa IP cấp quyền truy nhập vào cơ sở dữ liệu dựa trên địa chỉ IP có nguồn gốc của mỗi yêu cầu.
Quy tắc tường lửa mạng ảo
Các điểm cuối dịch vụ mạng ảo mở rộng khả năng kết nối mạng ảo qua cơ sở dữ liệu Azure và cho phép Cơ sở dữ liệu Azure SQL xác định mạng con mạng ảo bắt nguồn từ đó lưu lượng truy cập. Để cho phép lưu lượng truy cập vào Cơ sở dữ liệu Azure SQL, hãy sử dụng thẻ dịch vụ SQL để cho phép lưu lượng truy cập đi thông qua Nhóm Bảo mật Mạng.
Quy tắc mạng ảo cho phép Cơ sở dữ liệu Azure SQL chỉ chấp nhận các thông tin liên lạc được gửi từ các mạng con đã chọn bên trong một mạng ảo.
Quản lý access
Quan trọng
Việc quản lý cơ sở dữ liệu và máy chủ trong Azure được kiểm soát bởi việc gán vai trò của tài khoản người dùng cổng thông tin của bạn.
Xác thực
Xác thực là quá trình chứng minh người dùng là người mà họ tuyên bố. Cơ sở dữ liệu SQL và Phiên bản được Quản lý SQL hỗ trợ xác thực và xác thực SQL với ID Microsoft Entra. Phiên bản SQL được quản lý hỗ trợ thêm xác thực Windows cho các nguyên tắc Microsoft Entra.
Xác thực SQL:
Xác thực SQL đề cập đến việc xác thực người dùng khi kết nối với Cơ sở dữ liệu Azure SQL hoặc Phiên bản được Quản lý azure SQL bằng tên người dùng và mật khẩu. Người quản máy chủ đăng nhập bằng tên người dùng và mật khẩu phải được xác định khi máy chủ được tạo. Bằng cách sử dụng các thông tin xác thực này, người quản trị máy chủ thể xác thực với bất kỳ cơ sở dữ liệu nào trên máy chủ hoặc phiên bản đó với tư cách là chủ sở hữu cơ sở dữ liệu. Sau đó, người quản trị máy chủ có thể tạo thông tin đăng nhập VÀ người dùng SQL bổ sung, cho phép người dùng kết nối bằng tên người dùng và mật khẩu.
Xác thực Microsoft Entra:
Xác thực Microsoft Entra là một cơ chế để kết nối với Cơ sở dữ liệu Azure SQL, Azure SQL Managed Instance và Azure Synapse Analytics bằng cách sử dụng danh tính trong Microsoft Entra ID. Xác thực Microsoft Entra cho phép người quản trị quản lý tập trung danh tính và quyền của người dùng cơ sở dữ liệu cùng với các dịch vụ Azure khác ở một vị trí trung tâm. Điều này giảm thiểu dung lượng lưu trữ mật khẩu và cho phép các chính sách xoay mật khẩu tập trung.
Người quản trị máy chủ gọi người quản trị Microsoft Entra phải được tạo để sử dụng xác thực Microsoft Entra với Cơ sở dữ liệu SQL. Để biết thêm thông tin, hãy xem Kết nối với Cơ sở dữ liệu SQL bằng xác thực Microsoft Entra. Xác thực Microsoft Entra hỗ trợ cả tài khoản được quản lý và tài khoản liên kết. Các tài khoản liên kết hỗ trợ người dùng và nhóm Windows đối với miền khách hàng được liên kết với Microsoft Entra ID.
Microsoft Entra hỗ trợ một số tùy chọn xác thực khác nhau, bao gồm xác thực đa yếu tố, Xác thực Windows Tích hợp và Truy nhập có điều kiện.
Xác thực Windows cho các nguyên tắc Microsoft Entra:
Xác thực Kerberos cho nguyên tắc Microsoft Entra cho phép xác thực Windows cho Phiên bản được Quản lý Azure SQL. Xác thực Windows dành cho các phiên bản được quản lý trao quyền cho khách hàng di chuyển các dịch vụ hiện có lên đám mây trong khi vẫn duy trì trải nghiệm người dùng liền mạch và cung cấp cơ sở cho hiện đại hóa cơ sở hạ tầng.
Để bật xác thực Windows cho các chủ thể Microsoft Entra, bạn sẽ biến đối tượng thuê Microsoft Entra của mình thành một vùng Kerberos độc lập và tạo sự tin cậy đến trong miền của khách hàng.
Quan trọng
Việc quản lý cơ sở dữ liệu và máy chủ trong Azure được kiểm soát bởi việc gán vai trò của tài khoản người dùng cổng thông tin của bạn.
Phép
Ủy quyền đề cập đến việc kiểm soát quyền truy nhập vào các tài nguyên và lệnh trong cơ sở dữ liệu. Điều này được thực hiện bằng cách gán quyền cho người dùng trong cơ sở dữ liệu trong Cơ sở dữ liệu Azure SQL hoặc Phiên bản được Quản lý của Azure SQL. Tốt nhất, quyền được quản lý bằng cách thêm tài khoản người dùng vào vai trò cơ sở dữ liệu và gán quyền ở cấp độ cơ sở dữ liệu cho các vai trò đó. Ngoài ra, một người dùng cá nhân cũng có thể được cấp một số quyền ở mức đối tượng nhất định.
Cách thực hành tốt nhất là tạo vai trò tùy chỉnh khi cần. Thêm người dùng vào vai trò có đặc quyền tối thiểu cần thiết để thực hiện chức năng công việc của họ. Không gán trực tiếp cấp phép cho người dùng. Tài khoản người quản trị máy chủ là thành viên của vai trò db_owner dựng sẵn, có quyền mở rộng và chỉ nên được cấp cho ít người dùng có nhiệm vụ quản trị. Để giới hạn thêm phạm vi những gì người dùng có thể làm, thực thi AS có thể được sử dụng để xác định ngữ cảnh thực thi của mô-đun được gọi.
Bảo mật mức hàng
Row-Level bảo mật cho phép khách hàng kiểm soát quyền truy nhập vào các hàng trong bảng cơ sở dữ liệu dựa trên các đặc điểm của người dùng thực hiện truy vấn (ví dụ: tư cách thành viên nhóm hoặc ngữ cảnh thực thi). Row-Level bảo mật cũng có thể được sử dụng để thực hiện các khái niệm bảo mật tùy chỉnh dựa trên Nhãn.
Bảo vệ khỏi mối đe dọa
Cơ sở dữ liệu SQL và Phiên bản được Quản lý SQL bảo mật dữ liệu khách hàng bằng cách cung cấp khả năng kiểm tra và phát hiện mối đe dọa.
Kiểm tra SQL trong nhật ký Azure Monitor và Hub Sự kiện
Việc kiểm tra Cơ sở dữ liệu SQL và Phiên bản được Quản lý SQL theo dõi các hoạt động cơ sở dữ liệu và giúp duy trì tuân thủ các tiêu chuẩn bảo mật bằng cách ghi các sự kiện cơ sở dữ liệu vào nhật ký kiểm tra trong tài khoản lưu trữ Azure do khách hàng sở hữu. Việc kiểm tra cho phép người dùng giám sát các hoạt động cơ sở dữ liệu đang diễn ra, cũng như phân tích và điều tra hoạt động lịch sử để xác định các mối đe dọa tiềm ẩn hoặc lạm dụng đáng ngờ và vi phạm bảo mật.
Tính năng Chống Mối đe dọa Nâng cao
Tính năng Chống Mối đe dọa Nâng cao đang phân tích nhật ký của bạn để phát hiện hành vi bất thường và các nỗ lực có hại tiềm ẩn để truy cập hoặc khai thác cơ sở dữ liệu. Cảnh báo được tạo ra cho các hoạt động đáng ngờ như tiêm SQL, xâm nhập dữ liệu tiềm ẩn và tấn công mạnh bạo lực hoặc bất thường trong các mô hình truy cập để bắt tăng cấp đặc quyền và sử dụng thông tin xác thực bị vi phạm. Cảnh báo được xem từ Bộ bảo vệ Microsoft dành cho Đám mây, nơi cung cấp thông tin chi tiết về các hoạt động đáng ngờ và đề xuất điều tra thêm cùng với các hành động để giảm thiểu mối đe dọa. Tính năng Chống Mối đe dọa Nâng cao có thể được bật trên mỗi máy chủ với một khoản phí bổ sung.
Bảo vệ và mã hóa thông tin
Bảo mật lớp truyền tải (Mã hóa trong quá trình truyền tải)
Cơ sở dữ liệu SQL, Phiên bản được Quản lý của SQL và Azure Synapse Analytics bảo mật dữ liệu khách hàng bằng cách mã hóa dữ liệu đang chuyển động với Transport Layer Security (TLS).
Cơ sở dữ liệu SQL, Phiên bản được Quản lý SQL và Azure Synapse Analytics luôn thực thi mã hóa (SSL/TLS) cho tất cả các kết nối. Điều này đảm bảo tất cả dữ liệu được mã hóa "đang truyền" giữa máy khách và máy chủ, bất kể thiết đặt của Mã hóa hoặc TrustServerCertificate trong chuỗi kết nối.
Là một thực hành tốt nhất, khuyến cáo rằng trong chuỗi kết nối được sử dụng bởi các ứng dụng, bạn xác định một kết nối được mã hóa không tin tưởng chứng chỉ máy chủ. Điều này buộc ứng dụng của bạn để xác minh chứng chỉ máy chủ và do đó ngăn chặn các ứng dụng của bạn đang được dễ bị tổn thương để người đàn ông trong các loại tấn công giữa.
Ví dụ: khi sử dụng trình điều khiển ADO.NET, điều này được thực hiện thông qua Encrypt=True và TrustServerCertificate=False. Nếu bạn nhận được chuỗi kết nối từ cổng thông tin Azure, chuỗi đó sẽ có các cài đặt chính xác.
Quan trọng
Lưu ý rằng một số trình điều khiển không phải của Microsoft có thể không sử dụng TLS theo mặc định hoặc dựa vào phiên bản cũ hơn của TLS (<1.2) để hoạt động. Trong trường hợp này, máy chủ vẫn cho phép bạn kết nối với cơ sở dữ liệu của bạn. Tuy nhiên, chúng tôi khuyên bạn nên đánh giá rủi ro bảo mật của việc cho phép các trình điều khiển và ứng dụng kết nối với cơ sở dữ liệu SQL, đặc biệt là nếu bạn lưu trữ dữ liệu nhạy cảm.
Mã hóa Dữ liệu Trong suốt (Mã hóa-khi-còn lại)
Mã hóa dữ liệu trong suốt (TDE) cho Cơ sở dữ liệu SQL, Phiên bản được Quản lý của SQL và Azure Synapse Analytics bổ sung thêm một lớp bảo mật để giúp bảo vệ dữ liệu không bị truy nhập trái phép hoặc ngoại tuyến vào các tệp thô hoặc bản sao lưu. Các trường hợp phổ biến bao gồm trộm cắp trung tâm dữ liệu hoặc xử lý phần cứng hoặc phương tiện không an toàn như ổ đĩa và băng sao lưu. TDE mã hóa toàn bộ cơ sở dữ liệu bằng thuật toán mã hóa AES, thuật toán này không yêu cầu nhà phát triển ứng dụng thực hiện bất kỳ thay đổi nào đối với các ứng dụng hiện có.
Trong Azure, tất cả các cơ sở dữ liệu mới tạo đều được mã hóa theo mặc định và khóa mã hóa cơ sở dữ liệu được bảo vệ bằng chứng chỉ máy chủ tích hợp sẵn. Dịch vụ quản lý việc duy trì và xoay chứng chỉ và không yêu cầu đầu vào từ người dùng. Những khách hàng muốn kiểm soát khóa mã hóa có thể quản lý khóa trong Tín liệu Khóa Azure.
Quản lý khóa với Azure Key Vault
Hỗ trợ Khóa riêng của bạn (BYOK) cho Mã hóa Dữ liệu Trong suốt (TDE) cho phép khách hàng sở hữu việc quản lý và xoay khóa bằng Azure Key Vault, hệ thống quản lý khóa bên ngoài dựa trên nền tảng điện toán đám mây của Azure. Nếu quyền truy nhập của cơ sở dữ liệu vào tín liệu khóa bị thu hồi, thì sẽ không thể giải mã và đọc cơ sở dữ liệu vào bộ nhớ. Azure Key Vault cung cấp nền tảng quản lý khóa trung tâm, tận dụng các mô-đun bảo mật phần cứng (HSM) được giám sát chặt chẽ và cho phép tách các nhiệm vụ giữa quản lý khóa và dữ liệu để giúp đáp ứng các yêu cầu tuân thủ bảo mật.
Luôn Được mã hóa (Mã hóa trong sử dụng)
Luôn mã hóa là một tính năng được thiết kế để bảo vệ dữ liệu nhạy cảm được lưu trữ trong các cột cơ sở dữ liệu cụ thể khỏi truy nhập (ví dụ, số thẻ tín dụng, số định danh quốc gia/khu vực hoặc dữ liệu trên cơ sở cần biết). Điều này bao gồm người quản trị cơ sở dữ liệu hoặc người dùng đặc quyền khác được ủy quyền truy nhập vào cơ sở dữ liệu để thực hiện các tác vụ quản lý, nhưng không cần kinh doanh để truy nhập dữ liệu cụ thể trong các cột được mã hóa. Dữ liệu luôn được mã hóa, có nghĩa là dữ liệu được mã hóa chỉ được giải mã để xử lý bởi các ứng dụng khách có quyền truy nhập vào khóa mã hóa. Khóa mã hóa không bao giờ được hiển thị cho Cơ sở dữ liệu SQL hoặc Phiên bản được Quản lý CỦA SQL và có thể được lưu trữ trong Windows Certificate Store hoặc trong Kho lưu trữ Khóa Azure.
Che dữ liệu động
Che dữ liệu động giới hạn mức độ phơi nhiễm dữ liệu nhạy cảm bằng cách che dữ liệu cho người dùng không có đặc quyền. Che dữ liệu động tự động phát hiện dữ liệu nhạy cảm tiềm ẩn trong Cơ sở dữ liệu Azure SQL và Phiên bản được Quản lý của SQL và cung cấp các đề xuất hữu dụng để che các trường này, với tác động tối thiểu đến tầng ứng dụng. Thao tác này hoạt động bằng cách làm hỏng dữ liệu nhạy cảm trong tập kết quả của một truy vấn trên các trường cơ sở dữ liệu được chỉ định, trong khi dữ liệu trong cơ sở dữ liệu không bị thay đổi.
Quản lý bảo mật
Đánh giá lỗ hổng bảo mật
Đánh giá lỗ hổng bảo mật là một cách dễ dàng để cấu hình dịch vụ có thể phát hiện, theo dõi và giúp khắc phục các lỗ hổng cơ sở dữ liệu tiềm ẩn với mục tiêu chủ động cải thiện bảo mật cơ sở dữ liệu tổng thể. Đánh giá lỗ hổng bảo mật (VA) là một phần của dịch vụ Bộ bảo vệ Microsoft dành cho SQL, là một gói hợp nhất cho các khả năng bảo mật SQL nâng cao. Có thể truy cập và quản lý đánh giá lỗ hổng thông qua cổng thông tin Trung tâm Bộ bảo vệ Microsoft dành cho SQL.
Khám phá và phân loại dữ liệu
Khám phá và phân loại dữ liệu (hiện đang trong bản xem trước) cung cấp các chức năng cơ bản được tích hợp vào Cơ sở dữ liệu Azure SQL và Phiên bản được Quản lý của SQL để khám phá, phân loại và ghi nhãn dữ liệu nhạy cảm trong cơ sở dữ liệu của bạn. Việc khám phá và phân loại dữ liệu nhạy cảm tối đa của bạn (doanh nghiệp/tài chính, chăm sóc sức khỏe, dữ liệu cá nhân, v.v.) có thể đóng vai trò quan trọng trong trình độ bảo vệ thông tin của tổ chức bạn. Nó có thể phục vụ như là cơ sở hạ tầng cho:
- Các kịch bản bảo mật khác nhau, chẳng hạn như giám sát (kiểm tra) và cảnh báo về quyền truy nhập bất thường vào dữ liệu nhạy cảm.
- Kiểm soát truy nhập vào và cấu cứng tính bảo mật của cơ sở dữ liệu chứa dữ liệu nhạy cảm cao.
- Giúp đáp ứng các tiêu chuẩn về quyền riêng tư dữ liệu và các yêu cầu tuân thủ theo quy định.