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

Apache Hadoop Ozone Security - Xác thực

Apache Ozone là một cửa hàng đối tượng phân tán được xây dựng dựa trên dịch vụ Cửa hàng dữ liệu phân tán Hadoop. Nó có thể quản lý hàng tỷ tệp lớn và nhỏ mà các hệ thống tệp phân tán khác khó xử lý. Ozone hỗ trợ các API phong phú như Amazon S3, Kubernetes CSI cũng như các API hệ thống tệp Hadoop gốc. Điều này làm cho Ozone dễ dàng tiêu thụ bởi các loại khối lượng dữ liệu lớn khác nhau như kho dữ liệu trên Apache Hive, nhập dữ liệu với Apache Nifi, phát trực tuyến với Apache Spark / Flink và học máy với Tensorflow.

Với lượng dữ liệu ngày càng tăng và khối lượng công việc nhiều mặt cần sự hợp tác giữa các nhóm khác nhau, bảo mật dữ liệu là điều tối quan trọng. Bảo mật Ozone đã được bổ sung kể từ khi phát hành Apache Hadoop Ozone 0.4.0 với sự đóng góp của cộng đồng. Nó cũng đã được đưa vào bản xem trước công nghệ trong bản phát hành Trung tâm dữ liệu CDP 7.0 của Cloudera. Bảo mật có thể được phân loại thành bốn khối xây dựng:Xác thực, Ủy quyền, Kiểm toán và Mã hóa. Chúng tôi sẽ đề cập đến phần Xác thực trong blog này cùng với phần còn lại trong các phần tiếp theo.

Xác thực là quá trình nhận dạng danh tính của người dùng cho các thành phần của Ozone. Ozone tương thích với kiến ​​trúc bảo mật Apache Hadoop, hỗ trợ xác thực mạnh mẽ bằng cách sử dụng Kerberos cũng như các mã thông báo bảo mật.

Xác thực dựa trên Kerberos

Như trong Hình 1 bên dưới, các thành phần Dịch vụ bao gồm OM (Ozone Manager), SCM (Storage Container Manager) và Datandoes đều được xác thực với nhau thông qua Kerberos. Mỗi dịch vụ phải được định cấu hình với Tên chính của Kerberos và tệp keytab hợp lệ, sẽ được dịch vụ sử dụng để đăng nhập khi bắt đầu dịch vụ ở chế độ bảo mật. Bạn có thể tìm thấy thêm chi tiết về cấu hình OM / SCM / Datanode Kerberos trong tài liệu Apache Hadoop Ozone. Tương ứng, các ứng dụng khách của Ozone phải cung cấp vé Kerberos hợp lệ hoặc mã thông báo bảo mật để truy cập các dịch vụ của Ozone như Trình quản lý Ozone cho siêu dữ liệu và Datanode cho các khối đọc / ghi.

Mã thông báo bảo mật

Giống như mã thông báo ủy quyền Hadoop, mã thông báo bảo mật Ozone có mã nhận dạng mã thông báo cùng với chữ ký xác nhận từ tổ chức phát hành. Người quản lý khu vực phát hành mã thông báo ủy quyền và mã thông báo chặn cho người dùng hoặc ứng dụng khách được xác thực bằng Kerberos. Chữ ký của mã thông báo có thể được xác thực bởi trình xác thực mã thông báo để xác minh danh tính của tổ chức phát hành. Bằng cách này, chủ sở hữu mã thông báo hợp lệ có thể sử dụng mã thông báo để thực hiện các hoạt động chống lại các dịch vụ cụm như thể họ có vé Kerberos của nhà phát hành.

Mã thông báo ủy quyền do Ozone Manager phát hành cho phép chủ sở hữu mã thông báo truy cập vào các dịch vụ siêu dữ liệu do Ozone Manager cung cấp, chẳng hạn như tạo một tập hoặc liệt kê các đối tượng trong một thùng. Khi nhận được yêu cầu từ khách hàng với mã thông báo ủy quyền, người quản lý Ozone xác thực mã thông báo ủy quyền bằng cách kiểm tra chữ ký của người ký thông qua khóa công khai của nó. Các hoạt động mã thông báo ủy quyền như lấy, gia hạn và hủy chỉ có thể được thực hiện qua kết nối đã xác thực Kerberos.

Mã thông báo chặn tương tự như mã thông báo ủy quyền theo nghĩa là chúng được phát hành / ký bởi người quản lý Ozone. Chúng được cấp bởi người quản lý Ozone khi một yêu cầu của khách hàng liên quan đến việc đọc hoặc ghi khối trên Datanode. Không giống như các mã thông báo ủy quyền được yêu cầu với các API nhận / gia hạn / hủy rõ ràng, chúng được chuyển đến khách hàng một cách minh bạch cùng với thông tin vị trí khóa / khối. Mã thông báo khối được Datanodes xác thực khi nhận được yêu cầu đọc / ghi từ khách hàng bằng khóa công khai của người quản lý Ozone của ca sĩ. Khách hàng không thể gia hạn mã thông báo chặn một cách rõ ràng. Sau khi hết hạn, khách hàng phải tìm nạp lại các vị trí khóa / khối để nhận mã thông báo khối mới.

Bí mật S3

Ozone hỗ trợ giao thức Amazon S3 thông qua Ozone S3 Gateway. Ở chế độ bảo mật, Ozone Manager cấp một bí mật s3 cho người dùng hoặc ứng dụng khách đã xác thực Kerberos truy cập Ozone bằng API S3. Chúng tôi sẽ đề cập đến vấn đề đó trong các blog sau trên Ozone S3 Gateway.

Mã bảo mật Ozone hoạt động như thế nào?

Như trong Hình 2, mã thông báo ủy quyền Apache Hadoop truyền thống và mã thông báo khối dựa vào bí mật được chia sẻ giữa nhà phát hành mã thông báo và trình xác thực mã thông báo để ký và xác thực mã thông báo. Do đó, khi tổ chức phát hành và trình xác thực khác nhau, ví dụ:trong trường hợp mã thông báo khối, khóa chính được chia sẻ phải được chuyển định kỳ qua dây để đồng bộ hóa giữa tổ chức phát hành mã thông báo (nút tên) và trình xác thực mã thông báo (datanodes).

Thay vào đó, mã thông báo bảo mật Ozone sử dụng phương pháp dựa trên chứng chỉ. Như thể hiện trong Hình 3, nó hoàn toàn tách biệt các tổ chức phát hành mã thông báo và trình xác thực mã thông báo bằng chữ ký dựa trên chứng chỉ. Bằng cách này, các mã thông báo an toàn hơn vì các bí mật được chia sẻ không bao giờ được chuyển qua đường dây.

Trong chế độ bảo mật, SCM tự khởi động như một CA (Tổ chức phát hành chứng chỉ) và tạo chứng chỉ CA tự ký. Datanode và Ozone Manager phải đăng ký với SCM CA thông qua CSR (yêu cầu ký chứng chỉ). SCM xác thực danh tính của Datanode và Ozone Manager thông qua Kerberos và ký chứng chỉ của thành phần. Các chứng chỉ đã ký được Ozone Manager và Datanode sử dụng để chứng minh danh tính của nó. Điều này đặc biệt hữu ích cho việc ký và xác thực mã thông báo ủy quyền / mã thông báo khối.

Trong trường hợp mã thông báo khối, Ozone Manager (công ty phát hành mã thông báo) ký mã thông báo bằng khóa riêng của nó và Datanodes (trình xác thực mã thông báo) sử dụng chứng chỉ của Ozone Manager để xác thực mã thông báo khối vì cả Ozone Manager và datanode đều tin tưởng chứng chỉ đã ký SCM CA.

Trong trường hợp mã thông báo ủy quyền khi Trình quản lý khu vực (cả nhà phát hành mã thông báo và trình xác thực) đang chạy ở chế độ HA (Tính khả dụng cao). Có nhiều phiên bản Ozone Manager đang chạy đồng thời. Mã thông báo ủy quyền do Ozone Manager phiên bản 1 cấp và ký có thể được Ozone Manager phiên bản 2 xác thực khi người đứng đầu Ozone Manager thay đổi vì cả hai phiên bản đều tin tưởng chứng chỉ đã ký SCM CA. Bạn có thể xem thêm chi tiết về tài liệu thiết kế Ozone HA tại đây.

Kết luận

Xác thực là một trong những nền tảng quan trọng nhất của bảo mật Apache Hadoop Ozone. Bây giờ bạn sẽ hiểu rõ hơn về những cơ chế xác thực nào được Apache Hadoop Ozone hỗ trợ và cách chúng hoạt động. Điều này sẽ giúp hiểu các trụ cột an ninh khác của Ozone như ủy quyền và kiểm toán.

Hãy theo dõi các bài viết tiếp theo về Ủy quyền bảo mật Ozone, Kiểm tra, Mã hóa và GDPR. Nếu bạn quan tâm đến việc lặn sâu, bạn có thể tìm thêm chi tiết kỹ thuật từ tài liệu thiết kế bảo mật Ozone.

Tham khảo

[1] Kiến trúc ôzôn Apache Hadoop

[2] Ozone đo điểm chuẩn:Bộ nhớ thế hệ tiếp theo của Cloudera dành cho CDP

[3] Kerberos là gì? · Hadoop và Kerberos:The Madness Beyond the Gate

[4] Tài liệu về ôzôn Apache Hadoop

[5] Thêm bảo mật vào Apache Hadoop

[6] Tài liệu thiết kế Apache Hadoop Ozone HA trên HDDS-505.

[7] Tài liệu thiết kế bảo mật ôzôn Apache Hadoop trên HDDS-4.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Xây dựng ứng dụng học máy với bàn làm việc và cơ sở dữ liệu hoạt động của khoa học dữ liệu Cloudera, Phần 1:Thiết lập và kiến ​​thức cơ bản

  2. Hadoop hoạt động như thế nào - Hiểu hoạt động của Hadoop

  3. Nâng cấp HBase trên đầu trang Tìm nguồn cung ứng sự kiện và kiến ​​trúc CQRS trong 3 tuần

  4. Cách thực hiện:Sử dụng tính năng Tải hàng loạt của HBase và tại sao

  5. Hệ sinh thái Hadoop - Giới thiệu về các thành phần của Hadoop