Trong HBase, Danh sách kiểm soát truy cập (ACLs) được sử dụng để xác định người dùng hoặc nhóm nào có quyền truy cập vào các tài nguyên cụ thể và có thể thực hiện những hành động nào.
HBase là một hệ quản trị cơ sở dữ liệu NoSQL thuộc loại column-family store, được phát triển dựa trên mô hình Bigtable của Google và chạy trên nền tảng Hadoop. Nó được thiết kế để xử lý các bảng dữ liệu lớn với dung lượng hàng tỷ dòng và hàng triệu cột, có khả năng mở rộng và phân tán cao, phù hợp với các hệ thống yêu cầu khả năng lưu trữ và truy xuất dữ liệu lớn theo thời gian thực.
Để bảo vệ dữ liệu trong HBase sau khi đã cấu hình xác thực an toàn giữa client và server, cần xem xét các chiến lược bảo mật sau:
Kiểm soát truy cập dựa trên vai trò (RBAC)
Mô tả: RBAC quản lý quyền truy cập vào các tài nguyên HBase bằng cách kiểm soát xem người dùng hoặc nhóm nào có thể đọc, ghi hoặc thực thi các endpoint của coprocessor.
Lợi ích: Dùng mô hình vai trò quen thuộc giúp dễ dàng quản lý quyền truy cập theo từng nhóm hoặc người dùng cụ thể.
Nhãn hiển thị (Visibility Labels)
Mô tả: Nhãn hiển thị cho phép gán nhãn cho các ô dữ liệu và kiểm soát quyền truy cập dựa trên nhãn. Điều này giúp hạn chế quyền đọc hoặc ghi dữ liệu của các nhóm người dùng cụ thể.
Lưu ý: Nhãn hiển thị được lưu trữ dưới dạng thẻ (tags). Tính năng này giúp phân lớp truy cập dữ liệu chi tiết hơn.
Mã hóa dữ liệu tĩnh (Transparent Encryption)
Mô tả: Mã hóa dữ liệu tĩnh trên hệ thống tập tin nền, bao gồm cả HFiles và nhật ký WAL, để bảo vệ dữ liệu khỏi các truy cập không mong muốn vào hệ thống tập tin. Việc này không yêu cầu thay đổi phía client.
Lợi ích: Bảo vệ dữ liệu khỏi bị rò rỉ khi ổ đĩa không được xử lý đúng cách, giúp tuân thủ các quy định pháp luật và các yêu cầu bảo mật.
Mô tả: Thẻ (tags) là một phần của HFile v3, được sử dụng làm metadata cho từng ô dữ liệu (cell), tách biệt với khóa, giá trị và phiên bản. Thẻ cung cấp nền tảng cho các tính năng bảo mật như ACLs cấp độ ô và nhãn hiển thị (visibility labels). Chúng được lưu trữ trong chính các HFiles.
Sử dụng: Người dùng không cần hiểu rõ chi tiết về thẻ để sử dụng các tính năng bảo mật mà chúng hỗ trợ.
Trong HBase, Danh sách kiểm soát truy cập (ACLs) được sử dụng để xác định người dùng hoặc nhóm nào có quyền truy cập vào các tài nguyên cụ thể và có thể thực hiện những hành động nào. Dưới đây là giải thích chi tiết về cách hệ thống này hoạt động:
Nguyên lý hoạt động của ACLs trong HBase:
Coprocessor: ACLs được thực thi bởi một coprocessor có tên là AccessController, chịu trách nhiệm quản lý các quy tắc truy cập.
Ánh xạ nhóm: HBase không duy trì ánh xạ nhóm riêng mà dựa vào hệ thống ánh xạ nhóm của Hadoop, chẳng hạn như LDAP hoặc Active Directory. Điều này giúp ánh xạ giữa các thực thể trong thư mục và người dùng HBase.
Phân quyền: Người dùng được cấp các quyền cụ thể (Đọc, Ghi, Thực thi, Tạo, Quản trị) đối với các tài nguyên như phạm vi toàn cục, namespace, bảng, hoặc ô dữ liệu.
Xác thực và kiểm soát truy cập:
Khi kích hoạt Kerberos và kiểm soát truy cập, quyền truy cập của client vào HBase được xác thực và dữ liệu người dùng được giữ riêng tư, trừ khi quyền truy cập được cấp rõ ràng.