Helpex - Trao đổi & giúp đỡ Đăng nhập

Các giải pháp mới cho kịch bản BI để cung cấp bảo mật mức hàng, cột và ...

Apache Spark đã tạo nên một sự bùng nổ về khám phá dữ liệu trên các tập dữ liệu rất lớn. Spark đóng một vai trò lớn trong việc làm cho máy tính phân tán mục đích chung có thể truy cập được. Bất kỳ ai có một số kỹ năng về Python, Scala, Java và bây giờ là R, có thể chỉ cần ngồi xuống và bắt đầu khám phá dữ liệu trên quy mô lớn. Nó cũng dân chủ hóa Khoa học Dữ liệu bằng cách cung cấp ML như một loạt các hộp đen. Việc đào tạo Trí tuệ nhân tạo hiện có thể thực hiện được đối với những người chưa có bằng Tiến sĩ về Thống kê và Toán học.

Hiện tại Spark SQL cũng đang giúp đưa tính năng khám phá dữ liệu trực tiếp đến đơn vị kinh doanh. Hợp tác với Apache Hive, Spark đã cho phép người dùng khám phá các tập dữ liệu rất lớn bằng cách sử dụng biểu thức SQL. Tuy nhiên, để thực sự làm cho Spark SQL khả dụng cho các nhà phân tích kinh doanh truy cập đặc biệt bằng cách sử dụng các công cụ BI, thì cần phải có sự quản trị và bảo mật tốt. Spark cung cấp xác thực mạnh mẽ qua Kerberos và mã hóa dây thông qua SSL.

Tuy nhiên, cho đến thời điểm này, Ủy quyền chỉ có thể thực hiện được thông qua HDFS ACL. Cách tiếp cận này hoạt động tương đối tốt khi Spark được sử dụng như một khung tính toán cho mục đích chung. Nghĩa là, sử dụng Java / Scala / Python để diễn đạt logic không thể gói gọn trong một câu lệnh SQL. Tuy nhiên, khi lược đồ có cấu trúc với các cột và hàng được áp dụng, bảo mật hạt mịn sẽ trở thành một thách thức. Dữ liệu trong cùng một bảng có thể thuộc hai nhóm khác nhau, mỗi nhóm có các yêu cầu quy định riêng. Dữ liệu có thể có các hạn chế theo khu vực, hạn chế về tính khả dụng dựa trên thời gian, hạn chế của bộ phận, v.v.

Hiện tại, Spark không có hệ thống phụ ủy quyền tích hợp sẵn. Nó cố gắng đọc tập dữ liệu theo hướng dẫn và thành công hoặc không thành công dựa trên quyền của hệ thống tệp. Không có cách nào để xác định một mô-đun có thể cắm được có chứa tập lệnh cho phép hạt mịn. Điều này có nghĩa là việc thực thi chính sách ủy quyền phải được thực hiện ở một nơi nào đó bên ngoài Spark. Nói cách khác, một số hệ thống khác phải nói với Spark rằng nó không được phép đọc dữ liệu vì nó chứa một cột bị hạn chế.

Tại thời điểm này, có hai giải pháp khả dĩ. Đầu tiên là tạo một hệ thống con ủy quyền trong chính Spark. Thứ hai là cấu hình Spark để đọc hệ thống tệp thông qua một daemon bên ngoài Spark. Tùy chọn thứ hai đặc biệt hấp dẫn vì nó có thể cung cấp các lợi ích vượt xa chỉ bảo mật. Do đó, cộng đồng đã tạo ra LLAP (Sống lâu và Quy trình). LLAP là một tập hợp các daemon tồn tại lâu dài hoạt động song song với dịch vụ HDFS Data Node. LLAP là tùy chọn và mô-đun để có thể bật hoặc tắt. Hiện tại, Apache Hive được tích hợp sẵn nhiều nhất với LLAP. Tuy nhiên, mục đích của LLAP nói chung là cung cấp lợi ích cho các ứng dụng chạy trong Yarn. Khi được kích hoạt, LLAP cung cấp nhiều lợi ích về hiệu suất:LLAP Apache wiki để biết thêm chi tiết về LLAP.

Với LLAP được bật, Spark đọc từ HDFS đi trực tiếp qua LLAP. Bên cạnh việc cung cấp tất cả các lợi ích nói trên cho Spark, LLAP cũng là một nơi tự nhiên để thực thi các chính sách an ninh ngũ cốc tốt. Khả năng duy nhất khác được yêu cầu là hệ thống ủy quyền tập trung. Nhu cầu này được đáp ứng bởi Apache Ranger. Apache Ranger cung cấp dịch vụ kiểm tra và ủy quyền tập trung cho nhiều thành phần chạy trên Yarn hoặc dựa trên dữ liệu từ HDFS. Ranger cho phép tác giả của các chính sách bảo mật cho: - HDFS - Yarn - Hive (Spark with LLAP) - HBase - Kafka - Storm - Solr - Atlas - Knox Mỗi dịch vụ trên đều tích hợp với Ranger thông qua một plugin kéo các chính sách bảo mật mới nhất, bộ nhớ đệm chúng, và sau đó áp dụng chúng tại thời điểm chạy.

Các giải pháp mới cho kịch bản BI để cung cấp bảo mật mức hàng, cột và ...

Bây giờ chúng ta đã xác định cách ủy quyền và kiểm tra hạt mịn có thể được áp dụng cho Spark, hãy xem lại kiến ​​trúc tổng thể.

  1. Spark nhận câu lệnh truy vấn và giao tiếp với Hive để lấy các lược đồ và kế hoạch truy vấn có liên quan.
  2. Plugin Ranger Hive kiểm tra chính sách bảo mật được lưu trong bộ nhớ cache và cho Spark biết những cột nào được phép truy cập.
  3. Spark không có hệ thống ủy quyền riêng vì vậy nó bắt đầu cố gắng đọc từ hệ thống tệp thông qua LLAP
  4. LLAP xem xét yêu cầu đọc và nhận ra rằng nó chứa các cột mà người dùng thực hiện yêu cầu không có quyền đọc. LLAP ngay lập tức ngừng xử lý yêu cầu và ném một ngoại lệ Ủy quyền cho Spark.

Lưu ý rằng không cần tạo bất kỳ kiểu trừu tượng chế độ xem nào trên dữ liệu. Hành động duy nhất cần thiết để thực thi bảo mật hạt mịn là định cấu hình chính sách bảo mật trong Ranger và kích hoạt LLAP. Ranger cũng cung cấp khả năng che cột và lọc hàng. Chính sách tạo mặt nạ tương tự như chính sách cấp cột. Sự khác biệt chính là tất cả các cột đều được trả về nhưng các cột bị hạn chế chỉ chứa dấu hoa thị hoặc dấu thăng của giá trị ban đầu.

Ranger cũng cung cấp khả năng đó để áp dụng bảo mật cấp Hàng. Sử dụng chính sách bảo mật cấp Hàng, người dùng có thể bị ngăn không cho xem một số hàng trong bảng nhưng vẫn hiển thị tất cả các hàng không bị hạn chế bởi chính sách. Hãy xem xét một tình huống mà Giám đốc tài chính chỉ có thể nhìn thấy các khách hàng được chỉ định cho họ. Chính sách cấp hàng từ Ranger sẽ hướng dẫn Hive trả về một kế hoạch truy vấn bao gồm một vị từ. Vị từ đó lọc ra tất cả các khách hàng không được chỉ định cho Người quản lý tài chính đang cố gắng truy cập dữ liệu. Spark nhận kế hoạch truy vấn đã sửa đổi và bắt đầu xử lý, đọc dữ liệu thông qua LLAP. LLAP đảm bảo rằng vị từ được áp dụng và các hàng bị hạn chế không được trả về. Với một loạt các khả năng bảo mật tốt như vậy, Spark hiện có thể được tiếp xúc trực tiếp với các công cụ BI thông qua Máy chủ Thrift.

Nói chung, tích hợp LLAP có khả năng tăng cường Spark đáng kể từ cả khía cạnh hiệu suất và bảo mật. An ninh hạt mịn sẽ giúp mang lại lợi ích của Spark cho doanh nghiệp. Sự phát triển như vậy sẽ giúp thúc đẩy đầu tư, thu thập và khám phá dữ liệu nhiều hơn. Nếu bạn muốn tự mình kiểm tra khả năng này, hãy xem hướng dẫn sau:

https://community.hortonworks.com/content/kbentry/72454/apache-spark-fine-grain-security-with-llap-test-dr.html

8 hữu ích 0 bình luận 2.0k xem chia sẻ

Có thể bạn quan tâm

loading