Logo Zephyrnet

Cách Morningstar sử dụng các biện pháp kiểm soát truy cập dựa trên thẻ trong AWS Lake Formation để quản lý quyền đối với kho dữ liệu Amazon Redshift

Ngày:

Bài đăng này được đồng sáng tác bởi Ashish Prabhu, Stephen Johnston và Colin Ingarfield tại Morningstar và Don Drake, tại AWS.

Với phương châm cốt lõi là “Trao quyền cho sự thành công của nhà đầu tư”, Morningstar nhằm mục đích cung cấp cho các nhà đầu tư và cố vấn của chúng tôi các công cụ và thông tin họ cần để đưa ra các quyết định đầu tư sáng suốt.

Trong bài đăng này, Trưởng nhóm Data Lake của Morningstar thảo luận về cách họ sử dụng kiểm soát truy cập dựa trên thẻ trong kho dữ liệu của họ với Sự hình thành hồ AWS và kích hoạt các điều khiển tương tự trong Amazon RedShift.

thách thức kinh doanh

Tại Morningstar, chúng tôi đã xây dựng một giải pháp hồ dữ liệu cho phép người tiêu dùng dễ dàng nhập dữ liệu, giúp truy cập dữ liệu thông qua Keo AWS Danh mục dữ liệu và cấp quyền truy cập cho người tiêu dùng để truy vấn dữ liệu qua amazon Athena. Trong giải pháp này, chúng tôi được yêu cầu đảm bảo rằng người tiêu dùng chỉ có thể truy vấn dữ liệu mà họ có quyền truy cập rõ ràng. Để thực thi quyền truy cập của chúng tôi, chúng tôi đã chọn Kiểm soát truy cập dựa trên thẻ Lake Formation (TBAC). TBAC giúp chúng tôi phân loại dữ liệu thành cấp độ đơn giản, rộng rãi hoặc cấp độ phức tạp, chi tiết hơn bằng cách sử dụng các thẻ và sau đó cấp cho người tiêu dùng quyền truy cập vào các thẻ đó dựa trên nhóm dữ liệu họ cần. Quyền được hưởng dựa trên thẻ cho phép chúng tôi có một hệ thống quyền được hưởng linh hoạt và dễ quản lý để giải quyết các tình huống phức tạp về quyền được hưởng.

Tuy nhiên, người tiêu dùng của chúng tôi đã thúc đẩy chúng tôi đạt được hiệu suất truy vấn tốt hơn và khả năng phân tích nâng cao. Chúng tôi nhận thấy rằng mình cần một kho dữ liệu để đáp ứng tất cả các yêu cầu này của người tiêu dùng, vì vậy chúng tôi đã đánh giá Amazon Redshift. Amazon Redshift cung cấp cho chúng tôi các tính năng mà chúng tôi có thể sử dụng để làm việc với người tiêu dùng và hỗ trợ các yêu cầu phân tích của họ:

  • Hiệu suất tốt hơn cho các yêu cầu phân tích của người tiêu dùng
  • Khả năng điều chỉnh hiệu suất truy vấn bằng các khóa sắp xếp và khóa phân phối do người dùng chỉ định
  • Khả năng có các biểu diễn khác nhau của cùng một dữ liệu thông qua các chế độ xem và chế độ xem cụ thể hóa
  • Hiệu suất truy vấn nhất quán bất kể đồng thời

Nhiều tính năng mới của Amazon Redshift đã giúp giải quyết và thay đổi quy mô các yêu cầu truy vấn phân tích của chúng tôi, cụ thể là Amazon Redshift không có máy chủ và chia sẻ dữ liệu Amazon Redshift.

Bởi vì hồ dữ liệu do Lake Formation thực thi của chúng tôi là kho lưu trữ dữ liệu trung tâm cho tất cả dữ liệu của chúng tôi, nên việc chuyển các quyền truy cập dữ liệu từ hồ dữ liệu vào Amazon Redshift là điều hợp lý. chúng tôi sử dụng Quản lý truy cập và nhận dạng AWS (IAM) và muốn tập trung quản trị quyền dựa trên vai trò và nhóm IAM. Đối với mỗi bảng và cơ sở dữ liệu AWS Glue, chúng tôi có một bảng và lược đồ Amazon Redshift tương ứng. Mục tiêu của chúng tôi là đảm bảo những khách hàng có quyền truy cập vào các bảng AWS Glue qua Lake Formation cũng có quyền truy cập vào các bảng tương ứng trong Amazon Redshift.

Tuy nhiên, chúng tôi đã gặp sự cố với các quyền dựa trên người dùng khi chuyển sang Amazon Redshift.

Vấn đề quyền lợi

Mặc dù chúng tôi đã thêm Amazon Redshift như một phần trong giải pháp tổng thể của mình, nhưng các yêu cầu về quyền lợi và thách thức đi kèm với nó vẫn không thay đổi đối với người dùng của chúng tôi sử dụng qua Lake Formation. Đồng thời, chúng tôi phải tìm cách triển khai các quyền trong kho dữ liệu Amazon Redshift của mình với cùng một bộ thẻ mà chúng tôi đã xác định trong Lake Formation. Amazon Redshift hỗ trợ các quyền dựa trên tài nguyên nhưng không hỗ trợ các quyền dựa trên thẻ. Thách thức mà chúng tôi phải vượt qua là cách ánh xạ các quyền dựa trên thẻ hiện có của chúng tôi trong Lake Formation với các quyền dựa trên tài nguyên trong Amazon Redshift.

Dữ liệu trong AWS Glue Data Catalog cũng cần được tải trong các bảng gốc của kho dữ liệu Amazon Redshift. Điều này là cần thiết để người dùng có được danh sách lược đồ và bảng quen thuộc mà họ quen nhìn thấy trong Danh mục dữ liệu khi truy cập qua Athena. Bằng cách này, người tiêu dùng kho dữ liệu hiện có của chúng tôi có thể dễ dàng chuyển đổi sang Amazon Redshift.

Sơ đồ sau minh họa cấu trúc của Danh mục dữ liệu AWS Glue được ánh xạ 1:1 với cấu trúc kho dữ liệu Amazon Redshift của chúng tôi.

Hiển thị ánh xạ của các bảng và cơ sở dữ liệu Glue tới các bảng và lược đồ Redshift.

Chúng tôi muốn sử dụng bản thể luận của các thẻ trong Lake Formation để cũng được sử dụng trên các bộ dữ liệu trong Amazon Redshift để người tiêu dùng có thể được cấp quyền truy cập vào cùng một bộ dữ liệu ở cả hai nơi. Điều này cho phép chúng tôi có một API nguồn chính sách quyền được hưởng duy nhất sẽ cấp quyền truy cập thích hợp vào cả bảng Amazon Redshift của chúng tôi cũng như các bảng Lake Formation tương ứng dựa trên các chính sách dựa trên thẻ Lake Formation.

Nguồn chính sách quyền được sử dụng bởi Lake Formation và Redshift

Để giải quyết vấn đề này, chúng tôi cần xây dựng giải pháp của riêng mình để chuyển đổi các chính sách dựa trên thẻ trong Lake Formation thành trợ cấp và thu hồi trong các quyền dựa trên tài nguyên trong Amazon Redshift.

Tổng quan về giải pháp

Để giải quyết sự không phù hợp này, chúng tôi muốn đồng bộ hóa bản thể luận và phân loại thẻ Lake Formation của mình với mô hình quyền Amazon Redshift. Để làm điều này, chúng tôi ánh xạ các thẻ Lake Formation và cấp cho các khoản cấp Amazon Redshift theo các bước sau:

  1. Ánh xạ tất cả các tài nguyên (cơ sở dữ liệu, lược đồ, bảng, v.v.) trong Lake Formation được gắn thẻ với các bảng Amazon Redshift tương đương của chúng.
  2. Dịch từng chính sách trong Lake Formation trên một biểu thức thẻ sang một tập hợp các cấp và thu hồi bảng Amazon Redshift.

Kết quả cuối cùng là khi có thay đổi về thẻ hoặc chính sách trong Lake Formation, một tập hợp các khoản cấp hoặc thu hồi tương ứng sẽ được thực hiện cho các bảng Amazon Redshift tương đương để giữ cho các quyền của chúng tôi được đồng bộ hóa.

Ánh xạ tất cả các tài nguyên được gắn thẻ trong Lake Formation sang các tài nguyên tương đương của Amazon Redshift

Kiểm soát truy cập dựa trên thẻ của Lake Formation cho phép chúng tôi áp dụng nhiều thẻ trên một tài nguyên (cơ sở dữ liệu và bảng) trong Danh mục dữ liệu AWS Glue. Nếu được hiển thị trực quan ở dạng ánh xạ, việc gắn thẻ tài nguyên có thể được hiển thị dưới dạng cách nhiều thẻ trên một bảng sẽ được chia thành các quyền riêng lẻ trên các bảng Amazon Redshift.

Ánh xạ các thẻ trong Lake Formation sang bảng Redshift

Dịch thẻ sang cấp và thu hồi Amazon Redshift

Để cho phép di chuyển chính sách dựa trên thẻ được thực thi trong Lake Formation, các quyền có thể được chuyển đổi thành các khoản cấp và thu hồi đơn giản có thể được thực hiện ở cấp độ từng nhóm.

Có hai phần cơ bản đối với chính sách thẻ: principal_id và biểu thức thẻ (ví dụ: “Mức truy cập” = “Công khai”). Giả sử rằng chúng ta có một nhóm cơ sở dữ liệu Amazon Redshift cho mỗi principal_id, thì các tài nguyên đại diện cho biểu thức thẻ có thể được cấp phép tương ứng. Chúng tôi dự định di chuyển từ các nhóm cơ sở dữ liệu sang các vai trò cơ sở dữ liệu trong quá trình triển khai trong tương lai.

ánh xạ các thẻ tới nhóm người dùng Redshift

Việc thực hiện giải pháp

Việc triển khai giải pháp này đã khiến chúng tôi phát triển hai thành phần:

  • Dịch vụ lập bản đồ
  • Cấu hình dữ liệu Amazon Redshift

Dịch vụ lập bản đồ có thể được coi là một dịch vụ dịch thuật. Đúng như tên gọi, nó có logic nghiệp vụ cốt lõi để ánh xạ thông tin chính sách và thẻ thành các khoản cấp và thu hồi dựa trên tài nguyên trong Amazon Redshift. Nó cần bắt chước hành vi của Lake Formation khi xử lý bản dịch chính sách thẻ.

Để thực hiện việc dịch này, người lập bản đồ cần hiểu và lưu trữ siêu dữ liệu ở hai cấp độ:

  • Hiểu tài nguyên nào trong Amazon Redshift sẽ được gắn thẻ với giá trị nào
  • Theo dõi các khoản trợ cấp và thu hồi đã được thực hiện để chúng có thể được cập nhật với những thay đổi trong chính sách

Để làm điều này, chúng tôi đã tạo một lược đồ cấu hình trong cụm Amazon Redshift của chúng tôi, cụm này hiện đang lưu trữ tất cả các cấu hình.

Là một phần trong quá trình triển khai của chúng tôi, chúng tôi lưu trữ thông tin được ánh xạ (đã dịch) trong Amazon Redshift. Điều này cho phép chúng tôi cập nhật dần dần các khoản trợ cấp của bảng khi các thẻ hoặc chính sách của Lake Formation thay đổi. Sơ đồ sau đây minh họa lược đồ này.

lược đồ cấu hình được lưu trữ trong Redshift

Tác động và giá trị kinh doanh

Giải pháp mà chúng tôi kết hợp đã tạo ra các tác động và giá trị kinh doanh chính ngoài cách triển khai hiện tại và cho phép chúng tôi linh hoạt hơn trong tương lai.

Nó cho phép chúng tôi đưa dữ liệu đến người dùng của mình nhanh hơn với các chính sách thẻ được áp dụng trong Lake Formation và được dịch trực tiếp sang các quyền trong Amazon Redshift với hiệu lực ngay lập tức. Nó cũng cho phép chúng tôi có sự nhất quán trong các quyền được áp dụng trong cả Lake Formation và Amazon Redshift, dựa trên các quyền hiệu quả có được từ chính sách thẻ. Và tất cả điều này xảy ra thông qua một nguồn duy nhất cấp và thu hồi các quyền trên toàn bộ bảng, thay vì quản lý chúng một cách riêng biệt.

Nếu chúng tôi dịch điều này thành tác động kinh doanh và giá trị kinh doanh mà chúng tôi tạo ra, giải pháp sẽ cải thiện thời gian tiếp thị dữ liệu của chúng tôi, nhưng đồng thời cung cấp các quyền nhất quán trên các danh mục hướng đến kinh doanh mà chúng tôi xác định là thẻ.

Giải pháp này cũng mở ra các giải pháp để tăng thêm tác động khi sản phẩm của chúng tôi mở rộng theo cả chiều ngang và chiều dọc. Có những giải pháp tiềm năng mà chúng tôi có thể triển khai về mặt tự động hóa, người dùng tự phục vụ các quyền của họ, kiểm tra, bảng điều khiển, v.v. Khi quy mô kinh doanh của chúng tôi tăng lên, chúng tôi hy vọng sẽ tận dụng được những khả năng này.

Kết luận

Trong bài đăng này, chúng tôi đã chia sẻ cách Morningstar sử dụng kiểm soát truy cập dựa trên thẻ trong kho dữ liệu của chúng tôi với Lake Formation và kích hoạt các kiểm soát tương tự trong Amazon Redshift. Chúng tôi đã phát triển hai thành phần xử lý việc ánh xạ các biện pháp kiểm soát truy cập dựa trên thẻ tới các quyền của Amazon Redshift. Giải pháp này đã cải thiện thời gian tiếp thị dữ liệu của chúng tôi và cung cấp các quyền nhất quán trên các danh mục kinh doanh khác nhau.

Nếu bạn có bất kỳ câu hỏi hoặc nhận xét nào, vui lòng để lại trong phần bình luận.


Về các tác giả

Ashish Prabhu là Giám đốc cấp cao về Kỹ thuật phần mềm tại Morningstar, Inc. Ông tập trung vào giải pháp và cung cấp các khía cạnh khác nhau của Hồ dữ liệu và Kho dữ liệu cho Nhóm nền tảng và dữ liệu doanh nghiệp của Morningstar. Khi rảnh rỗi, anh ấy thích chơi bóng rổ, vẽ tranh và dành thời gian cho gia đình.

Stephen Johnston là Kiến trúc sư phần mềm xuất sắc tại Morningstar, Inc. Trọng tâm của anh ấy là về hồ dữ liệu và các công nghệ lưu trữ dữ liệu cho nhóm Nền tảng dữ liệu doanh nghiệp của Morningstar.

Colin Ingarfield là Kỹ sư phần mềm hàng đầu tại Morningstar, Inc. Có trụ sở tại Austin, Colin tập trung vào kiểm soát truy cập và quyền dữ liệu trên nền tảng Data Lake đang phát triển của Morningstar.

Don Drake là Kiến trúc sư giải pháp chuyên gia phân tích cấp cao tại AWS. Có trụ sở tại Chicago, Don giúp các khách hàng Dịch vụ tài chính di chuyển khối lượng công việc sang AWS.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img