HBase
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> HBase

Chuyển đổi các ACL của HBase sang chính sách Ranger

CDP đang sử dụng Apache Ranger để quản lý bảo mật dữ liệu. Nếu bạn muốn sử dụng Ranger để có quyền quản trị bảo mật tập trung, các ACL của HBase cần được chuyển sang các chính sách. Điều này có thể được thực hiện thông qua webUI Ranger, có thể truy cập từ Trình quản lý Cloudera. Nhưng trước tiên, hãy cùng tìm hiểu nhanh về phương pháp HBase để kiểm soát truy cập.

Sự cho phép của HBase

Nếu ủy quyền được thiết lập (ví dụ:với Kerberos và đặt hbase.security.authorization tài sản thành true ), người dùng có thể có các quy tắc được xác định trên các tài nguyên mà họ được phép truy cập. Các quy tắc này có thể được xác định cho các bảng, cột và ô riêng lẻ trong bảng.

Các cấp độ truy cập HBase

Các cấp độ truy cập HBase được cấp độc lập với nhau và cho phép các loại hoạt động khác nhau ở một phạm vi nhất định.

Các quyền có thể có (không hoặc nhiều chữ cái từ tập hợp “RWXCA”):

  • Read (R) - có thể đọc dữ liệu ở phạm vi đã cho
  • Write (W) - có thể ghi dữ liệu ở phạm vi đã cho
  • Execute (X) - có thể thực thi các điểm cuối của bộ đồng xử lý ở phạm vi đã cho
  • Create (C) - có thể tạo bảng hoặc thả bảng ở phạm vi nhất định
  • Admin (A) - có thể thực hiện các hoạt động của cụm như cân bằng cụm hoặc gán các vùng ở phạm vi nhất định

Phạm vi có thể:

  • Superuser - Superuser có thể thực hiện bất kỳ hoạt động nào có sẵn trong HBase, đối với bất kỳ tài nguyên nào. Người dùng chạy HBase trên cụm của bạn là một superuser. Mọi nguyên tắc được chỉ định cho thuộc tính cấu hình hbase.superuser trong hbase-site.xml tệp cấu hình trên HMaster cũng là những ứng dụng siêu cấp.
  • Global - Quyền được cấp ở phạm vi toàn cầu cho phép quản trị viên hoạt động trên tất cả các bảng của cụm.
  • Không gian tên - Quyền được cấp trong phạm vi không gian tên áp dụng cho tất cả các bảng trong một không gian tên nhất định.
  • Bảng - Quyền được cấp ở phạm vi bảng áp dụng cho dữ liệu hoặc siêu dữ liệu trong một bảng nhất định.
  • ColumnFamily - Quyền được cấp trong phạm vi ColumnFamily áp dụng cho các ô trong ColumnFamily đó.
  • Ô - Quyền được cấp ở phạm vi Ô sẽ áp dụng cho tọa độ ô chính xác đó.

Xuất ACL HBase

1. Đăng nhập qua Kerberos bằng thông tin đăng nhập dịch vụ HBase.

2. Khởi chạy trình bao hbase và liệt kê các ACL.

Để liệt kê các ACL, hãy sử dụng các lệnh sau:

  • user_permission ‘. *’
  • Ngoài ra với đặc quyền siêu người dùng: scan ‘hbase:acl’

Đầu ra mẫu của scan ‘hbase:acl‘:

ROW CỘT + TẾ BÀO

 emp column =l:hbase, timestamp =1612190971868, value =RWXCAemp2 column =l:hbase, timestamp =1612191218963, value =RWXCAemp2 column =l:user1, timestamp =1612191426624, value =RWCemp column =l:test, Personal data, timestamp =1612273141925, value =RWemp column =l:test, Personal data, 1, Timestamp =1612273322678, value =RWemp column =l:@ group-usr, Personal data, 1, Timestamp =1612273324527, value =RW  

Đầu ra mẫu của user_permission ‘. *‘:

 Không gian tên người dùng, Bảng, Họ, Bộ định lượng:Permissionhbase default, emp ,,:[Permission:action =READ, WRITE, EXEC, CREATE, ADMIN] user1 default, emp2 ,,:[Permission:action =READ, WRITE, CREATE] hbase default, emp2 ,,:[Permission:action =READ, WRITE, EXEC, CREATE, ADMIN] test default, emp, dữ liệu cá nhân,:[Permission:action =READ, WRITE] test default, emp, dữ liệu cá nhân, 1:[Quyền:hành động =ĐỌC, VIẾT] @ group-usr mặc định, trống, dữ liệu cá nhân, 1:[Quyền:hành động =ĐỌC, VIẾT] 

Lưu ý: Nhóm và người dùng được cấp quyền truy cập theo cùng một cách, nhưng các nhóm được bắt đầu bằng ký tự ‘@‘. Bảng và không gian tên được chỉ định theo cùng một cách, nhưng không gian tên được bắt đầu bằng ký tự ‘@‘.

Ví dụ về quyền cấp ô:

 mặc định thử nghiệm, trống, dữ liệu cá nhân, 1:[Permission:action =READ, WRITE] 

‘thử nghiệm’ người dùng có quyền RW trên ‘mặc định’ không gian tên, trên bảng ’emp’ , cột ‘dữ liệu cá nhân’ và hàng ‘1’ ..

Tạo chính sách Kiểm lâm

  1. Trong Trình quản lý Cloudera, chọn dịch vụ Kiểm lâm.
  2. Tìm webUI liên kết chuyển hướng bạn đến giao diện người dùng Ranger.
  3. Đăng nhập vào giao diện người dùng Ranger.

Trình quản lý Truy cập trang hiển thị:

1. Chọn một dịch vụ HBase hiện có.
Danh sách Chính sách trang xuất hiện.

2. Nhấp vào Thêm Chính sách Mới .
Trang Tạo Chính sách xuất hiện.

3. Hoàn thành trang Tạo chính sách như sau:

3.1 Chi tiết Chính sách

Tên chính sách Nhập tên chính sách thích hợp. Tên này không được trùng lặp trên toàn hệ thống. Trường này là bắt buộc.
Nhãn chính sách Chỉ định một nhãn cho chính sách này. Bạn có thể tìm kiếm báo cáo và lọc các chính sách dựa trên các nhãn này.
bình thường / ghi đè Cho phép bạn chỉ định chính sách ghi đè. Khi ghi đè được chọn, các quyền truy cập trong chính sách sẽ ghi đè các quyền truy cập trong các chính sách hiện có. Tính năng này có thể được sử dụng cùng với Thêm thời gian hiệu lực để tạo các chính sách truy cập tạm thời ghi đè các chính sách hiện có.
Bảng HBase Chọn cơ sở dữ liệu thích hợp. Nhiều cơ sở dữ liệu có thể được chọn cho một chính sách cụ thể. Trường này là bắt buộc.
Họ cột HBase Đối với bảng đã chọn, hãy chỉ định các họ cột mà chính sách áp dụng.
Cột HBase Đối với bảng và họ cột đã chọn, hãy chỉ định các cột áp dụng chính sách.
Mô tả (Tùy chọn) Mô tả mục đích của chính sách.
Ghi nhật ký Kiểm tra Chỉ định xem chính sách này có được kiểm toán hay không. (Bỏ chọn để tắt kiểm tra).
Thêm Khoảng thời gian Hiệu lực Chỉ định thời gian bắt đầu và kết thúc cho chính sách.

3.2 Điều kiện Cho phép / Từ chối
Apache Ranger hỗ trợ các điều kiện truy cập sau:

  • Cho phép
  • Loại trừ khỏi Cho phép
  • Từ chối
  • Loại trừ khỏi Từ chối

Các điều kiện truy cập này cho phép bạn thiết lập các chính sách kiểm soát truy cập chi tiết.

Ví dụ:bạn có thể cho phép truy cập vào một tài chính bảng cho tất cả người dùng trong tài chính nhưng từ chối quyền truy cập vào tất cả người dùng trong thực tập sinh tập đoàn. Giả sử rằng một trong những thành viên của thực tập sinh nhóm, scott , cần thực hiện một nhiệm vụ yêu cầu quyền truy cập vào tài chính bàn. Trong trường hợp đó, bạn có thể thêm điều kiện Loại trừ khỏi Từ chối sẽ cho phép người dùng scott để truy cập vào tài chính cơ sở dữ liệu.

Chọn vai trò Chỉ định các vai trò mà chính sách này áp dụng.

Để chỉ định vai trò là Quản trị viên, hãy chọn hộp kiểm Ủy quyền Quản trị viên. Quản trị viên có thể chỉnh sửa hoặc xóa chính sách và cũng có thể tạo các chính sách con dựa trên chính sách ban đầu.
Chọn Nhóm Chỉ định các nhóm áp dụng chính sách này.

Để chỉ định một nhóm làm Quản trị viên, hãy chọn hộp kiểm Ủy quyền Quản trị viên. Quản trị viên có thể chỉnh sửa hoặc xóa chính sách và cũng có thể tạo các chính sách con dựa trên chính sách ban đầu.
Chọn người dùng Chỉ định những người dùng mà chính sách này áp dụng.

Để chỉ định một người dùng làm Quản trị viên, hãy chọn hộp kiểm Ủy quyền Quản trị viên. Quản trị viên có thể chỉnh sửa hoặc xóa chính sách và cũng có thể tạo các chính sách con dựa trên chính sách ban đầu.
Quyền Thêm hoặc chỉnh sửa các quyền:Đọc, Viết, Tạo, Quản trị, Chọn / Bỏ chọn Tất cả.
Ủy quyền quản trị Bạn có thể sử dụng Quản trị viên ủy quyền để chỉ định đặc quyền của quản trị viên cho người dùng hoặc nhóm được chỉ định trong chính sách. Quản trị viên có thể chỉnh sửa hoặc xóa chính sách và cũng có thể tạo các chính sách con dựa trên chính sách ban đầu.

3.3 Bạn có thể sử dụng biểu tượng Dấu cộng (+) để thêm các điều kiện bổ sung. Các điều kiện được đánh giá theo thứ tự được liệt kê trong chính sách. Điều kiện ở đầu danh sách được áp dụng đầu tiên, sau đó đến điều kiện thứ hai, sau đó là điều kiện thứ ba, v.v. Điều kiện từ chối luôn mạnh mẽ hơn. Lưu đồ sau cung cấp thông tin về Quy trình Đánh giá Chính sách Kiểm lâm.

3.4 Cuối cùng nhấp vào Thêm.

Kết luận

Trong bài đăng blog này, chúng tôi đã xem xét cách bạn có thể di chuyển các ACL HBase của mình sang các chính sách Ranger, bằng cách sử dụng Trình quản lý Cloudera. Thật không may, không có tự động hóa cho việc di chuyển, vì hai phương pháp ủy quyền khác nhau rất nhiều. Mặc dù Ranger có tính năng nhập cho các chính sách tải hàng loạt, nhưng không có cách nào để xuất ACL từ HBase ở định dạng Ranger hiểu (được định dạng cụ thể là JSON / CSV).


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bên trong Kiến trúc nhập dữ liệu gần thời gian thực của Santander (Phần 2)

  2. 20 Sự khác biệt đáng chú ý giữa Hadoop 2.x và Hadoop 3.x

  3. Kiến trúc Apache Hadoop - HDFS, YARN &MapReduce

  4. Điều gì tiếp theo cho Impala sau khi phát hành 1.1

  5. Các tính năng nổi bật của MapReduce - Tầm quan trọng của MapReduce