Logo Zephyrnet

Liên kết quyền truy cập đăng nhập một lần vào trình chỉnh sửa truy vấn Amazon Redshift v2 với Okta

Ngày:

Trình chỉnh sửa truy vấn Amazon Redshift v2 là một ứng dụng khách SQL dựa trên web mà bạn có thể sử dụng để tạo và chạy các truy vấn trên Amazon RedShift kho dữ liệu. Bạn có thể trực quan hóa kết quả truy vấn bằng biểu đồ và cộng tác bằng cách chia sẻ truy vấn với các thành viên trong nhóm của mình. Bạn có thể sử dụng trình chỉnh sửa truy vấn v2 để tạo cơ sở dữ liệu, lược đồ, bảng và tải dữ liệu từ Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) bằng lệnh COPY hoặc bằng cách sử dụng trình hướng dẫn. Bạn có thể duyệt qua nhiều cơ sở dữ liệu và chạy các truy vấn trên kho dữ liệu Amazon Redshift hoặc hồ dữ liệu của mình hoặc chạy các truy vấn liên kết đến các cơ sở dữ liệu hoạt động như Amazon cực quang. Vì đây là trình soạn thảo SQL được quản lý trong trình duyệt của bạn và được tích hợp với nhà cung cấp dịch vụ đăng nhập một lần (SSO) của bạn, trình chỉnh sửa truy vấn Amazon Redshift v2 giảm số bước cho truy vấn đầu tiên để bạn có được thông tin chi tiết nhanh hơn.

Tích hợp trình chỉnh sửa truy vấn Amazon Redshift v2 với nhà cung cấp danh tính của bạn (IdP) tự động chuyển hướng trình duyệt của người dùng đến bảng điều khiển v2 của trình chỉnh sửa truy vấn thay vì bảng điều khiển Amazon Redshift. Điều này cho phép người dùng của bạn dễ dàng truy cập các cụm Amazon Redshift thông qua trình chỉnh sửa truy vấn v2 bằng cách sử dụng thông tin đăng nhập được liên kết mà không cần quản lý người dùng và mật khẩu cơ sở dữ liệu.

Trong bài đăng này, chúng tôi tập trung vào Okta với tư cách là IdP và minh họa cách thiết lập ứng dụng Okta của bạn và Quản lý truy cập và nhận dạng AWS Quyền (IAM). Chúng tôi cũng chứng minh cách bạn có thể giới hạn quyền truy cập để người dùng của mình chỉ sử dụng trình chỉnh sửa truy vấn v2 mà không cấp cho họ quyền truy cập để thực hiện bất kỳ chức năng quản trị nào trên Bảng điều khiển quản lý AWS.

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

Các bước cấp cao trong bài đăng này như sau:

  1. Thiết lập Okta, chứa người dùng của bạn được tổ chức thành các nhóm hợp lý và ứng dụng liên kết tài khoản AWS.
  2. Thiết lập hai vai trò IAM: một vai trò thiết lập mối quan hệ tin cậy giữa IdP và AWS của bạn và vai trò thứ hai mà Okta sử dụng để truy cập Amazon Redshift.
  3. Hoàn thành cấu hình nâng cao Okta:
    1. Hoàn thiện cấu hình Okta bằng cách nhập các vai trò mà bạn vừa tạo.
    2. Xác định trạng thái chuyển tiếp mặc định để hướng người dùng đến trình chỉnh sửa truy vấn Amazon Redshift v2 sau khi xác thực SAML thành công.
    3. Định cấu hình SAML ChiefTagAttribute. Phần tử này cho phép bạn chuyển các thuộc tính dưới dạng thẻ phiên trong xác nhận SAML. Để biết thêm thông tin về thẻ phiên, hãy xem Chuyển thẻ phiên trong AWS STS.
  4. Thiết lập nhóm cơ sở dữ liệu Amazon Redshift:
    1. Tạo nhóm trong cơ sở dữ liệu Amazon Redshift để khớp với các nhóm Okta.
    2. Cho phép các nhóm này truy cập các lược đồ và bảng nhất định.
    3. Truy cập trình chỉnh sửa truy vấn Amazon Redshift v2 bằng thông tin đăng nhập doanh nghiệp của bạn và truy vấn cơ sở dữ liệu Amazon Redshift của bạn.
  5. Đăng nhập vào tài khoản Okta của bạn và truy cập ứng dụng được chỉ định cho bạn. Ứng dụng hướng bạn đến trình chỉnh sửa truy vấn Amazon Redshift v2 bằng cách sử dụng đăng nhập liên kết.
  6. Truy cập và truy vấn cơ sở dữ liệu Amazon Redshift của bạn.

Điều kiện tiên quyết

Bài đăng này giả định rằng bạn có các điều kiện tiên quyết sau:

Thiết lập Okta

Đầu tiên, chúng tôi thiết lập ứng dụng Okta và tạo người dùng và nhóm. Hoàn thành các bước sau:

  1. Đăng nhập vào bảng điều khiển quản trị Okta của bạn bằng URL https://<prefix>-admin.okta.com/admin/dashboard, Nơi dành riêng cho tài khoản của bạn và được tạo khi thiết lập tài khoản.
  2. Trên bảng điều khiển dành cho quản trị viên, hãy chọn quản trị viên.
  3. Theo thư mục trong ngăn điều hướng, chọn người.
  4. Để thêm người dùng, hãy chọn Thêm người.
    Ảnh chụp màn hình sau đây cho thấy những người dùng mà chúng tôi đã tạo.
  5. Để thêm các nhóm vào Okta, hãy chọn Du lịch Nhóm trong ngăn điều hướng, sau đó chọn Thêm nhóm.
    Ảnh chụp màn hình sau đây cho thấy hai nhóm mà chúng tôi đã tạo. Chúng tôi đã thêm Jane đến analyst_usersMike đến bi_users.
  6. Theo Các ứng dụng trong ngăn điều hướng, chọn Các ứng dụng Và chọn Duyệt qua danh mục ứng dụng.
  7. Tìm kiếm Liên kết tài khoản AWS Và chọn Thêm.
  8. Sau khi bạn thêm ứng dụng, hãy chọn Liên kết tài khoản AWS.
  9. Để lại các giá trị trong General Settings theo mặc định của họ và chọn Sau.
  10. Theo Tùy chọn đăng nhập, lựa chọn SAML 2.0.
  11. Chọn Siêu dữ liệu của Nhà cung cấp danh tính liên kết để tải xuống tệp siêu dữ liệu ở định dạng .xml.

Định cấu hình vai trò IAM

Tiếp theo, bạn thiết lập vai trò IAM thiết lập mối quan hệ tin cậy giữa IdP và AWS. Bạn cũng tạo vai trò IAM mà Okta sử dụng để truy cập trình chỉnh sửa truy vấn Amazon Redshift v2.

  1. Trên bảng điều khiển IAM, bên dưới Quản lý truy cập trong ngăn điều hướng, chọn Nhà cung cấp danh tính.
  2. Chọn Thêm nhà cung cấp.
  3. Trong Loại nhà cung cấplựa chọn SAML.
  4. Trong Tên nhà cung cấp¸ nhập tên.
  5. Chọn Chọn tập tin và tải lên tệp siêu dữ liệu bạn đã tải xuống.
  6. Chọn Thêm nhà cung cấp.

    Bây giờ bạn tạo vai trò liên kết IAM SAML 2.0.
  7. Trên bảng điều khiển IAM, chọn Vai trò trong khung điều hướng.
  8. Chọn Tạo vai trò.
  9. Trong Loại thực thể đáng tin cậy, lựa chọn Liên kết SAML 2.0.
  10. Trong Nhà cung cấp dựa trên SAML 2.0, chọn IdP bạn đã tạo ở bước trước.
  11. Chọn Cho phép truy cập Bảng điều khiển quản lý AWS có lập trình và.
  12. Chọn Sau và sau đó chọn Tạo chính sách.

Trình chỉnh sửa truy vấn Amazon Redshift v2 cung cấp nhiều chính sách được quản lý để truy cập trình chỉnh sửa truy vấn. Để biết danh sách các chính sách được quản lý, hãy tham khảo Định cấu hình tài khoản AWS của bạn. Chính sách được quản lý cho phép bạn giới hạn quyền truy cập để người dùng chỉ sử dụng trình chỉnh sửa truy vấn v2 mà không cấp cho họ quyền truy cập để thực hiện bất kỳ chức năng quản trị nào trên bảng điều khiển. Đối với bài đăng này, chúng tôi sử dụng AmazonRedshiftQueryEditorV2ReadSharing chính sách được quản lý và tạo một chính sách tùy chỉnh.

Trong đoạn mã sau, hãy cung cấp thông số Khu vực, tài khoản và cụm của bạn để cấp quyền truy cập vào Amazon Redshift để lấy thông tin đăng nhập cụm, tạo người dùng và cho phép người dùng tham gia nhóm:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "RedshiftClusterPermissions",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials",
                "redshift:CreateClusterUser",
                "redshift:JoinGroup"
            ],
            "Resource": [
                "arn:aws:redshift:<region>:<account>:cluster:<cluster>,
                "arn:aws:redshift:<region>:<account>:dbuser:<cluster>/${aws:PrincipalTag/RedshiftDbUser}",
                "arn:aws:redshift:<region>:<account>:dbgroup:<cluster>/analyst_users",
                "arn:aws:redshift:<region>:<account>:dbgroup:<cluster>/bi_users",
                "arn:aws:redshift:<region>:<account>:dbname:<cluster>/${redshift:DBName}"
            ]
        }
    ]
}

Tư cách thành viên nhóm chỉ kéo dài trong suốt thời gian của phiên người dùng. Ngoài ra, không có CreateGroup quyền vì các nhóm cần được tạo theo cách thủ công và được cấp các đặc quyền DB.

  1. Đính kèm chính sách bạn đã tạo vào vai trò.
    Ảnh chụp màn hình sau đây hiển thị trang tóm tắt cho vai trò.
  2. Sửa đổi các mối quan hệ tin cậy cho vai trò của bạn và thêm sts:TagSession sự cho phép.
    Khi sử dụng thẻ phiên, chính sách tin cậy cho tất cả các vai trò được kết nối với thẻ chuyển IdP phải có sts: TagSession sự cho phép. Đối với các vai trò không có quyền này trong chính sách tin cậy, AssumeRole hoạt động không thành công.
  3. Chọn Cập nhật chính sách.

Thiết lập cấu hình nâng cao Okta

Trong phần này, bạn hoàn thiện cấu hình Okta bằng cách thêm các vai trò IAM mà bạn vừa tạo. Bạn thiết lập SAML PrincipalTag các thuộc tính như RedshiftDbUserRedshiftDbGroups, được chuyển trong xác nhận SAML để liên kết quyền truy cập vào trình chỉnh sửa truy vấn Amazon Redshift v2. Bạn cũng xác định trạng thái chuyển tiếp mặc định, là URL mà người dùng được chuyển hướng đến sau khi xác thực thành công thông qua SAML.

  1. Trong tài khoản Okta của bạn, hãy mở ứng dụng Liên kết tài khoản AWS.
  2. trên Ký vào tab, thiết lập Trạng thái chuyển tiếp mặc định đến URL của trình chỉnh sửa truy vấn, sử dụng định dạng https://<region>.console.aws.amazon.com/sqlworkbench/home. Đối với bài đăng này, chúng tôi sử dụng https://eu-west-1.console.aws.amazon.com/sqlworkbench/home.
  3. Chọn Thuộc tính và thiết lập các ánh xạ thuộc tính sau:
    1. Đặt người dùng DB bằng cách sử dụng PrincipalTag:RedshiftDbUser. Điều này sử dụng tên người dùng trong thư mục. Đây là thẻ bắt buộc và xác định người dùng cơ sở dữ liệu được sử dụng bởi trình soạn thảo truy vấn v2.
    2. Đặt các nhóm DB bằng cách sử dụng PrincipalTag:RedshiftDbGroups. Điều này sử dụng các nhóm Okta để điền vào các thẻ chính. Giá trị của nó phải là một danh sách được phân tách bằng dấu hai chấm.
    3. Đặt các phím bắc cầu bằng TransitiveTagKeys. Điều này ngăn người dùng thay đổi thẻ phiên trong trường hợp chuỗi vai trò.

Các thẻ này được chuyển tiếp đến redshift:GetClusterCredentials API để lấy thông tin đăng nhập cho cụm của bạn. Bảng sau đây tóm tắt cấu hình thuộc tính của chúng.

  1. Theo Cài đặt đăng nhập nâng caolựa chọn Sử dụng ánh xạ nhóm.
  2. Nhập ARN vai trò IdP và IAM, là những ARN duy nhất trên toàn cầu và đảm bảo rằng Okta được chuyển hướng đến tài khoản AWS của bạn.
  3. Cho phép người dùng sử dụng ứng dụng Liên kết tài khoản AWS bằng cách chọn các nhóm hoặc tài khoản người dùng cá nhân tương ứng của họ. Trong ví dụ này, chúng tôi đã phân quyền người dùng theo nhóm.

Thiết lập nhóm cơ sở dữ liệu Amazon Redshift

Tiếp theo, bạn thiết lập các nhóm trong cơ sở dữ liệu Amazon Redshift để khớp với các nhóm Okta. Bạn cũng cho phép các nhóm này truy cập các lược đồ và bảng nhất định.

  1. Đăng nhập vào cụm Amazon Redshift của bạn bằng tài khoản quản trị viên.
  2. Tạo các nhóm khớp với tên nhóm IdP và cấp quyền thích hợp cho các bảng và lược đồ:
CREATE GROUP analyst_users;
CREATE GROUP bi_users;

ALTER DEFAULT PRIVILEGES IN SCHEMA sales_analysis
GRANT SELECT on TABLES to GROUP analyst_users;
GRANT USAGE on SCHEMA sales_analysis to GROUP analyst_users;
GRANT SELECT on ALL TABLES in SCHEMA sales_analysis to GROUP analyst_users;

ALTER DEFAULT PRIVILEGES IN SCHEMA sales_bi
GRANT SELECT on TABLES to GROUP bi_users;
GRANT USAGE on SCHEMA sales_bi to GROUP bi_users;
GRANT SELECT on ALL TABLES in SCHEMA sales_bi to GROUP bi_users;

Ở Okta, bạn đã tạo người dùng Jane và được giao Jane đến analyst_users nhóm.

Trong cơ sở dữ liệu Amazon Redshift, bạn đã tạo hai nhóm cơ sở dữ liệu: analyst_usersbi_users.

Khi người dùng Jane đăng nhập thông qua xác thực liên kết vào Amazon Redshift bằng cách sử dụng trình chỉnh sửa truy vấn v2, người dùng được tạo nếu nó chưa tồn tại và analyst_users nhóm cơ sở dữ liệu được giả định. Người dùng Jane chỉ có thể truy vấn bảng trong sales_analysis lược đồ.

Bởi vì người dùng Jane không phải là một phần của bi_users khi họ cố gắng truy cập vào sales_bi lược đồ, họ nhận được một lỗi bị từ chối cho phép.

Sơ đồ sau minh họa cấu hình này.

Truy cập trình chỉnh sửa truy vấn Amazon Redshift v2

Bây giờ bạn đã sẵn sàng kết nối với cụm Amazon Redshift của mình bằng trình chỉnh sửa truy vấn Amazon Redshift v2 sử dụng đăng nhập liên kết. Đăng nhập vào tài khoản Okta của bạn bằng thông tin đăng nhập người dùng của bạn trở xuống Những ứng dụng của tôichọn Trình soạn thảo truy vấn Amazon Redshift V2.

Bạn được chuyển hướng đến URL v2 của trình chỉnh sửa truy vấn Amazon Redshift mà bạn đã chỉ định làm trạng thái chuyển tiếp mặc định.

Kết nối với cơ sở dữ liệu Amazon Redshift và chạy các truy vấn

Bây giờ, hãy thiết lập kết nối với cụm Amazon Redshift của bạn.

  1. Trong trình chỉnh sửa truy vấn, hãy chọn cụm của bạn (nhấp chuột phải) và chọn Tạo kết nối.
  2. Trong Cơ sở dữ liệu, nhập tên.
  3. Trong Xác thực, lựa chọn Người dùng liên kết.
    Tên người dùng được điền sẵn với thông tin đăng nhập liên kết của bạn.
  4. Chọn Tạo kết nối.

Khi bạn đã kết nối với cơ sở dữ liệu Amazon Redshift của mình, bạn có thể xác minh chi tiết kết nối, như được hiển thị trong ảnh chụp màn hình sau. Lưu ý liên kết nhóm cấp phiên theo sự phân công nhóm trong cấu hình ứng dụng Okta của bạn. Trong trường hợp này, người dùng Jane được chỉ định cho analyst_users nhóm.

Người dùng này có quyền truy cập CHỌN tất cả các bảng trong sales_analysis lược đồ và không có quyền truy cập vào sales_bi lược đồ. Bạn có thể chạy các câu lệnh sau để kiểm tra quyền truy cập của mình.

Ảnh chụp màn hình sau đây cho thấy kết quả từ một truy vấn đến sales_analysis.store_sales_us bảng.

Khi người dùng Jane cố gắng truy cập các bảng trong sales_bi lược đồ, họ nhận được một lỗi bị từ chối cho phép.

Tổng kết

Trong bài đăng này, chúng tôi đã trình bày cách liên kết quyền truy cập SSO với trình chỉnh sửa truy vấn Amazon Redshift v2 bằng cách sử dụng Okta làm IdP của bạn. Chúng tôi đã hướng dẫn cách thiết lập Okta, thiết lập khác PrinicpalTag thuộc tính cho trình chỉnh sửa truy vấn v2 và chuyển tư cách thành viên nhóm được xác định trong Okta IdP của bạn vào cụm Amazon Redshift của bạn. Chúng tôi đã hướng dẫn cách đăng nhập vào trình chỉnh sửa truy vấn Amazon Redshift v2 bằng đăng nhập liên kết và xác thực cấu hình bằng cách chạy một vài truy vấn. Giải pháp này cho phép bạn kiểm soát quyền truy cập vào các đối tượng cơ sở dữ liệu Amazon Redshift và người dùng của bạn có thể dễ dàng truy cập các cụm Amazon Redshift thông qua trình chỉnh sửa truy vấn v2 bằng cách sử dụng thông tin đăng nhập được liên kết mà không cần quản lý người dùng cơ sở dữ liệu và mật khẩu.

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


Về các tác giả

gặp Joshi là một Kiến trúc sư Giải pháp Chuyên gia Phân tích sống tại New York. Ông chuyên xây dựng các giải pháp kho dữ liệu quy mô lớn. Ông có hơn 16 năm kinh nghiệm trong lĩnh vực phân tích và lưu trữ dữ liệu.

Bhanu Pittampally là một Kiến trúc sư Giải pháp Chuyên gia Phân tích có trụ sở tại Dallas. Ông chuyên xây dựng các giải pháp phân tích. Nền tảng của anh ấy là về dữ liệu và phân tích trong hơn 14 năm. Hồ sơ LinkedIn của anh ấy có thể được tìm thấy Ở đây.

Erol Murtezaoglu, Giám đốc Sản phẩm Kỹ thuật tại AWS, là một nhà tư tưởng ham học hỏi và nhiệt tình, có động lực tự cải thiện và học hỏi. Anh ấy có nền tảng kỹ thuật vững chắc và đã được chứng minh về kiến ​​trúc và phát triển phần mềm, cân bằng với động lực cung cấp các sản phẩm thành công về mặt thương mại. Erol đánh giá cao quá trình tìm hiểu nhu cầu và vấn đề của khách hàng, nhằm mang đến những giải pháp vượt trên cả mong đợi.

Yanis Telaoumaten là Kỹ sư phát triển phần mềm tại AWS. Niềm đam mê của anh ấy là xây dựng phần mềm đáng tin cậy và tạo ra các công cụ cho phép các kỹ sư khác làm việc hiệu quả hơn. Trong những năm qua, anh ấy đã nghiên cứu về danh tính, bảo mật và độ tin cậy của các dịch vụ Redshift

tại chỗ_img

Tin tức mới nhất

tại chỗ_img