Tác giả: Satesh Sonti, Ning Di, Sandeep Adwankar, Ramchandra Anil Kulkarni và Abhishek Rai Sharma
Ngày đăng: 05/01/2026
Danh mục: Advanced (300), Amazon Redshift, Technical How-to
Các kiến trúc dữ liệu hiện đại ngày càng phụ thuộc vào việc triển khai đa kho dữ liệu (multi-warehouse) nhằm đạt được khả năng cô lập workload, tối ưu chi phí và mở rộng hiệu năng. Amazon Redshift federated permissions giúp đơn giản hóa việc quản lý quyền truy cập trên nhiều kho dữ liệu Redshift.
Với federated permissions, bạn đăng ký các namespace của Redshift warehouse với AWS Glue Data Catalog, từ đó tạo ra một catalog hợp nhất bao phủ toàn bộ hệ thống kho dữ liệu trong tài khoản. Các namespace đã đăng ký sẽ tự động được mount vào mọi warehouse, cho phép khám phá dữ liệu mà không cần cấu hình thủ công. Bạn có thể định nghĩa quyền truy cập trên các đối tượng cơ sở dữ liệu bằng các câu lệnh SQL quen thuộc của Redshift, đồng thời chỉ định danh tính toàn cục thông qua AWS Identity and Access Management (IAM) hoặc AWS IAM Identity Center (IDC). Các quyền này được lưu trữ cùng với dữ liệu của warehouse và được thực thi một cách nhất quán, bất kể truy vấn được chạy trên warehouse nào. Điều này mang lại một mô hình kiểm soát truy cập hợp nhất và an toàn cho toàn bộ môi trường Redshift.
Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách định nghĩa quyền truy cập dữ liệu một lần duy nhất và tự động thực thi chúng trên tất cả các warehouse trong tài khoản AWS, loại bỏ nhu cầu phải tạo lại các chính sách bảo mật trên từng warehouse riêng lẻ.
Các khả năng chính của Amazon Redshift federated permissions
Federated permissions trong Amazon Redshift cung cấp các khả năng chính sau:
- Tích hợp danh tính toàn cục – Federated permissions sử dụng IAM và IAM Identity Center để cung cấp đăng nhập một lần (SSO) trên tất cả các warehouse đã đăng ký. Người dùng chỉ cần xác thực một lần thông qua nhà cung cấp danh tính (IdP) hiện có và sẽ nhận được quyền truy cập nhất quán dựa trên danh tính toàn cục của họ, bất kể kết nối tới warehouse nào. Điều này giúp loại bỏ việc phải tạo và quản lý các tài khoản người dùng riêng biệt trên từng warehouse, giảm chi phí quản trị và cải thiện trải nghiệm người dùng.
- Catalog hợp nhất với khả năng mount tự động – Khi bạn đăng ký một namespace Redshift với Data Catalog bằng federated permissions, namespace đó sẽ tự động hiển thị trong tất cả các warehouse thuộc cùng tài khoản. Các nhà phân tích sử dụng Amazon Redshift Query Editor v2 hoặc các SQL client khác có thể khám phá và truy vấn bảng dữ liệu trên nhiều warehouse mà không cần cấu hình catalog thủ công. Khả năng mount tự động này giúp đơn giản hóa việc khám phá dữ liệu và cho phép phân tích dữ liệu xuyên warehouse.
- Kiểm soát truy cập chi tiết và nhất quán – Các chính sách bảo mật theo dòng (RLS), che dữ liệu động (DDM) và bảo mật theo cột (CLS) được định nghĩa trên warehouse bằng Amazon Redshift federated permissions sẽ tự động được thực thi khi dữ liệu được truy vấn từ các warehouse tiêu thụ. Bạn có thể triển khai các cơ chế kiểm soát nâng cao — như lọc dữ liệu theo Region AWS, che dữ liệu nhạy cảm theo vai trò (ví dụ SSN hoặc số thẻ tín dụng), hay hạn chế truy cập theo thời gian — với sự đảm bảo rằng các chính sách này được áp dụng nhất quán trên toàn bộ hệ thống warehouse.
- Quản lý quyền dựa trên SQL – Federated permissions sử dụng cú pháp SQL quen thuộc của Redshift để quản lý quyền. Bạn tạo chính sách RLS bằng
CREATE RLS POLICY, gắn chúng với bảng và vai trò bằngATTACH RLS POLICY, định nghĩa chính sách che dữ liệu bằngCREATE MASKING POLICY, và cấp quyền bằng các câu lệnhGRANTtiêu chuẩn. Giao diện SQL này cho phép áp dụng phương pháp infrastructure as code (IaC), hỗ trợ DBA tận dụng kỹ năng hiện có, đồng thời tích hợp tự nhiên với các quy trình ETL và tự động hóa đang sử dụng xác thực IAM hoặc IAM Identity Center.
Kiến trúc đa warehouse với federated permissions
Kiến trúc đa warehouse với federated permissions trong Amazon Redshift thể hiện một cách tiếp cận data mesh, trong đó nhiều tài nguyên compute độc lập cùng vận hành trên dữ liệu dùng chung với cơ chế quản trị thống nhất. Sơ đồ sau minh họa quy trình thiết lập Redshift federated permissions với Data Catalog.

Quy trình bao gồm các bước sau:
- Mỗi Redshift warehouse (1,2…N) đăng ký với Data Catalog. Tham khảo tài liệu onboarding để biết cách đăng ký warehouse.
- Sau khi các warehouse được đăng ký với Data Catalog, bạn có thể truy vấn dữ liệu trên nhiều warehouse. Các catalog đã đăng ký sẽ tự động được mount vào mọi warehouse trong tài khoản, hiển thị trong database explorer của Query Editor v2 và các SQL client kết nối tới Amazon Redshift. Để truy vấn một bảng trong catalog đã đăng ký, sử dụng quy ước đặt tên ba phần:
database@catalog_name.schema_name.table_name. - Khi bạn chạy một truy vấn xuyên catalog, Amazon Redshift sẽ truyền danh tính toàn cục của bạn (IAM role hoặc người dùng IAM Identity Center) sang warehouse từ xa. Instance catalog của warehouse từ xa sẽ xác thực quyền truy cập của bạn dựa trên các grant và chính sách kiểm soát truy cập chi tiết đã được định nghĩa trên bảng được truy vấn. Nếu bạn có đủ quyền, metadata của bảng cùng với các chính sách RLS, DDM hoặc CLS liên quan sẽ được trả về cho warehouse tiêu thụ. Compute instance của warehouse cục bộ sẽ tích hợp các chính sách bảo mật này vào kế hoạch thực thi truy vấn và chạy truy vấn trên Redshift Managed Storage (RMS).
Việc thực thi các cơ chế kiểm soát truy cập chi tiết trên dữ liệu từ xa là một điểm khác biệt quan trọng của federated permissions. Redshift data sharing truyền thống không hỗ trợ các chính sách RLS hoặc DDM trên các bảng được chia sẻ. Với federated permissions, các chính sách bảo mật được định nghĩa trên warehouse từ xa sẽ tự động được áp dụng khi dữ liệu được truy vấn từ bất kỳ warehouse tiêu thụ nào. Điều này giúp đáp ứng các yêu cầu quản trị dữ liệu mà không cần quản trị viên phải sao chép chính sách bảo mật trên nhiều warehouse.
Kiến trúc đa warehouse có thể mở rộng theo chiều ngang mà không làm tăng độ phức tạp của quản trị. Khi bạn thêm một warehouse mới vào tài khoản và đăng ký nó với federated permissions, warehouse đó sẽ tự động kế thừa mô hình phân quyền phù hợp mà không cần cấu hình thủ công. Các nhà phân tích kết nối tới warehouse mới sẽ ngay lập tức thấy tất cả các cơ sở dữ liệu mà họ có quyền truy cập trên toàn bộ mesh, và mọi chính sách bảo mật đều được áp dụng tự động. Điều này giúp giải quyết bài toán N-bình phương khi quản lý quyền trên N warehouse, giảm gánh nặng quản trị từ N cấu hình riêng lẻ xuống còn một mô hình quản trị hợp nhất.
Vòng đời truy vấn
Sơ đồ sau minh họa luồng từng bước khi một truy vấn của người dùng trên Redshift Warehouse 1 truy cập các đối tượng trong Redshift Warehouse N với federated permissions.

Lưu ý: Các bước 2, 3 và 4 sẽ được bỏ qua nếu thông tin quyền đã có sẵn trong cache cục bộ.
Quy trình bao gồm các bước sau:
- Người dùng kết nối tới Redshift Warehouse 1 và truy vấn một bảng trong Federated Catalog N.
- Redshift Warehouse 1 gọi API
GetTablecủa Data Catalog. Yêu cầu này bao gồm token của người dùng. - Yêu cầu được định tuyến tới Redshift Warehouse N.
- Redshift Warehouse N xác minh quyền truy cập của người dùng. Nếu được ủy quyền, nó sẽ trả về metadata của bảng và chi tiết các chính sách bảo mật như RLS, DDM và CLS.
- Redshift Warehouse 1 áp dụng các chính sách bảo mật vào kế hoạch truy vấn và chạy truy vấn trên Redshift Managed Storage (RMS), nơi Redshift lưu trữ dữ liệu ở định dạng tối ưu.
- Kết quả được trả về cho người dùng.
Tổng quan giải pháp
Ví dụ trong bài viết này minh họa cách định nghĩa các chính sách RLS và DDM trên một data warehouse và xác minh rằng các chính sách này được thực thi khi truy vấn từ một data warehouse khác.
Chúng ta sẽ tạo một bảng chứa dữ liệu thẻ tín dụng và áp dụng các chính sách RLS và DDM để giới hạn dữ liệu thẻ loại consumer và che giá trị thẻ tín dụng đối với người dùng không phải admin. Các chính sách này sẽ được áp dụng nhất quán trên tất cả các data warehouse và tự động che thông tin thẻ tín dụng khi người dùng không phải admin truy vấn bảng.
Điều kiện tiên quyết
Tạo các IAM role sau:
- Role
Adminvới policy AmazonRedshiftFullAccess và cấp quyền vai trò sys:superuser hoặc sys:secadmin. - Role
Readonlyvới policy AmazonRedshiftQueryEditorV2ReadSharing. - Tạo hai Redshift data warehouse và đăng ký các data warehouse với AWS Glue Data Catalog (GDC).
Tạo bảng và nạp dữ liệu
Thực hiện các bước sau để tạo bảng credit_cards và nạp dữ liệu mẫu.
- Kết nối tới Redshift data warehouse thứ nhất bằng IAM Admin role.
- Tạo bảng
credit_cards- Create tableCREATE TABLE credit_cards ( customer_id INT, credit_card varchar(16), card_type varchar(10));
- Chèn dữ liệu mẫu
- Insert sample dataINSERT INTO credit_cards VALUES(100, '4532993817514842', 'consumer'),(100, '4716002041425888', 'corporate'),(102, '5243112427642649', 'consumer'),(102, '6011720771834675', 'consumer'),(102, '6011378662059710', 'corporate'),(103, '373611968625635', 'consumer');
Áp dụng chính sách RLS và DDM
Thực hiện các bước sau để tạo và áp dụng các chính sách RLS và DDM.
- Tạo chính sách RLS để chỉ lọc các thẻ loại consumer:
- Create RLS policyCREATE RLS POLICY consumer_cards WITH (card_type VARCHAR(10))USING (card_type = 'consumer');
- Tạo chính sách DDM để che dữ liệu thẻ tín dụng:
- Create masking policyCREATE MASKING POLICY mask_credit_card_full WITH (credit_card VARCHAR(256))USING ('000000XXXX0000'::TEXT);
- Gắn các chính sách RLS và DDM cho role ReadOnly:
- Attach RLS and DDM policies to ReadOnly role ATTACH RLS POLICY consumer_cards ON credit_cards TO "IAMR:ReadOnly"; ATTACH MASKING POLICY mask_credit_card_full ON credit_cards(credit_card)TO "IAMR:ReadOnly";
- Bật Row Level Security cho bảng
ALTER TABLE credit_cards ROW LEVEL SECURITY ON; - Cấp quyền SELECT trên bảng cho role Readonly
GRANT SELECT ON credit_cards TO "IAMR:ReadOnly";
Kết nối tới data warehouse 2 với người dùng chỉ đọc
Thực hiện các bước sau trên data warehouse 2 để truy vấn dữ liệu.
- Kết nối tới data warehouse 2 với người dùng chỉ đọc và mở rộng các external database. Ảnh chụp màn hình sau minh họa ví dụ sử dụng Query Editor v2.

- Khi mở rộng catalog, bạn sẽ thấy bảng
credit_cardstừ data warehouse 1.
- Chạy câu lệnh SQL sau để truy vấn bảng. Thay
rs-demo-dw1trong SQL bằng tên catalog bạn đã đặt khi đăng ký data warehouse 1:- SQL to query credit cards table in data warehouse1. SELECT FROM "dev@rs-demo-dw1"."public"."credit_cards";
- Bạn sẽ chỉ thấy các thẻ tín dụng loại
consumervới thông tin thẻ đã được che trong kết quả. Các chính sách RLS và DDM được áp dụng trên data warehouse 1 cho người dùngIAMR:ReadOnlyvẫn được thực thi, mặc dù bạn truy vấn bảng từ một data warehouse khác. Ảnh chụp màn hình sau minh họa kết quả đầu ra.
- Để phục vụ kiểm toán, bạn có thể chạy các lệnh
SHOWđể xem các chính sách được áp dụng trên bảng cho từng role:- Show all RLS policies in the database.SHOW RLS POLICIES FROM DATABASE "dev@rs-demo-dw1";- Show all masking policies in the database.SHOW MASKING POLICIES FROM DATABASE "dev@rs-demo-dw1";
Ví dụ này cho thấy sức mạnh của federated permissions: các chính sách bảo mật được định nghĩa một lần duy nhất trên một warehouse sẽ tự động được thực thi trên toàn bộ các warehouse, giúp duy trì tuân thủ mà không cần nhân bản định nghĩa chính sách.
Các lưu ý
Khi sử dụng federated permissions, hãy lưu ý các điểm sau:
- Amazon Redshift federated permissions được áp dụng cho các data warehouse trong cùng một tài khoản và cùng Region.
- Bạn có thể kết nối tới Redshift data warehouse bằng IAM users và roles hoặc thông tin xác thực SSO từ IdP được tích hợp thông qua IAM Identity Center.
- Người dùng cục bộ có thể assume danh tính toàn cục để tận dụng federated permissions.
- Amazon Redshift federated permissions được cung cấp miễn phí, không phát sinh chi phí bổ sung tại các Region có Amazon Redshift. Bạn chỉ trả chi phí cho tài nguyên compute Amazon Redshift và việc sử dụng Data Catalog hiện có.
- Tham khảo thêm tại Considerations when using Amazon Redshift federated permissions.
Dọn dẹp tài nguyên
Để tránh phát sinh chi phí trong tương lai, hãy xóa các tài nguyên bạn đã tạo, bao gồm Redshift data warehouses và IAM roles.
Kết luận
Amazon Redshift federated permissions biến việc quản trị dữ liệu đa warehouse thành một quy trình tinh gọn và tự động. Đối với các tổ chức vận hành nhiều Redshift warehouse, federated permissions mang lại giá trị tức thì bằng cách giảm thời gian quản trị và đảm bảo thực thi bảo mật nhất quán. Giao diện SQL quen thuộc cùng khả năng tương thích ngược với các cơ chế phân quyền Redshift hiện có giúp việc áp dụng trở nên nhanh chóng mà không yêu cầu các nhóm phải học mô hình quản trị mới.
Việc tích hợp với IAM và IAM Identity Center cung cấp khả năng quản lý danh tính cấp doanh nghiệp với SSO, trong khi khả năng mount tự động các catalog đã đăng ký giúp đơn giản hóa việc khám phá dữ liệu và phân tích xuyên warehouse. Nếu bạn hiện đang sử dụng cơ chế phân quyền cục bộ của Amazon Redshift, hãy tham khảo công cụ được mô tả trong bài viết Modernize Amazon Redshift authentication by migrating user management to AWS IAM Identity Center.
Để tìm hiểu thêm và bắt đầu, hãy xem tài liệu Amazon Redshift Federated Permissions.
Tác giả

Satesh Sonti
Satesh là Principal Analytics Specialist Solutions Architect tại Atlanta, chuyên xây dựng các nền tảng dữ liệu doanh nghiệp, hệ thống data warehousing và giải pháp analytics. Ông có hơn 20 năm kinh nghiệm trong việc xây dựng tài sản dữ liệu và dẫn dắt các chương trình nền tảng dữ liệu phức tạp cho khách hàng trong lĩnh vực ngân hàng và bảo hiểm trên toàn cầu.

Sandeep Adwankar
Sandeep là Senior Product Manager của Amazon SageMaker Lakehouse. Làm việc tại khu vực California Bay Area, ông hợp tác với khách hàng trên toàn cầu để chuyển hóa các yêu cầu kinh doanh và kỹ thuật thành các sản phẩm giúp khách hàng cải thiện cách họ quản lý, bảo mật và truy cập dữ liệu.

Abhishek Rai Sharma
Abhishek là Senior Software Engineer, tập trung vào Amazon Redshift Catalog và Governance. Anh đam mê xây dựng các giải pháp hạ tầng đáng tin cậy, có khả năng mở rộng cho các workload phân tích phân tán và kiến trúc data mesh cấp doanh nghiệp.

Ramchandra Anil Kulkarni
Anil là Senior Software Engineer tại Amazon Redshift, có chuyên môn trong lĩnh vực Governance và Query Processing. Anh đam mê các hệ thống phân tán và giải quyết những bài toán có tác động lớn cho khách hàng AWS.

Ning Di
Ning là Senior Software Development Engineer tại Amazon Redshift, được thúc đẩy bởi niềm đam mê khám phá mọi khía cạnh của công nghệ.