Logo Zephyrnet

Phát hiện, che dấu và biên tập lại dữ liệu PII bằng AWS Glue trước khi tải vào Amazon OpenSearch Service | Dịch vụ web của Amazon

Ngày:

Nhiều tổ chức, nhỏ và lớn, đang nỗ lực di chuyển và hiện đại hóa khối lượng công việc phân tích của họ trên Amazon Web Services (AWS). Có nhiều lý do để khách hàng chuyển sang AWS, nhưng một trong những lý do chính là khả năng sử dụng các dịch vụ được quản lý hoàn toàn thay vì dành thời gian duy trì cơ sở hạ tầng, vá lỗi, giám sát, sao lưu, v.v. Các nhóm lãnh đạo và phát triển có thể dành nhiều thời gian hơn để tối ưu hóa các giải pháp hiện tại và thậm chí thử nghiệm các trường hợp sử dụng mới thay vì duy trì cơ sở hạ tầng hiện tại.

Với khả năng di chuyển nhanh trên AWS, bạn cũng cần có trách nhiệm với dữ liệu mình đang nhận và xử lý khi tiếp tục mở rộng quy mô. Những trách nhiệm này bao gồm việc tuân thủ luật và quy định về quyền riêng tư dữ liệu cũng như không lưu trữ hoặc tiết lộ dữ liệu nhạy cảm như thông tin nhận dạng cá nhân (PII) hoặc thông tin sức khỏe được bảo vệ (PHI) từ các nguồn chính thống.

Trong bài đăng này, chúng tôi sẽ giới thiệu kiến ​​trúc cấp cao và trường hợp sử dụng cụ thể minh họa cách bạn có thể tiếp tục mở rộng quy mô nền tảng dữ liệu của tổ chức mà không cần tốn nhiều thời gian phát triển để giải quyết các vấn đề về quyền riêng tư dữ liệu. Chúng tôi sử dụng Keo AWS để phát hiện, che giấu và sắp xếp lại dữ liệu PII trước khi tải nó vào Dịch vụ Tìm kiếm Mở của Amazon.

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

Sơ đồ sau minh họa kiến ​​trúc giải pháp cấp cao. Chúng tôi đã xác định tất cả các lớp và thành phần trong thiết kế của mình phù hợp với Ống kính phân tích dữ liệu khung kiến ​​trúc tối ưu AWS.

os_glue_architecture

Kiến trúc bao gồm một số thành phần:

Nguồn dữ liệu

Dữ liệu có thể đến từ hàng chục đến hàng trăm nguồn, bao gồm cơ sở dữ liệu, truyền tệp, nhật ký, ứng dụng phần mềm dưới dạng dịch vụ (SaaS), v.v. Các tổ chức không phải lúc nào cũng có thể kiểm soát dữ liệu nào đi qua các kênh này và đi vào ứng dụng và bộ lưu trữ tiếp theo của họ.

Nhập: Lô hồ dữ liệu, lô vi mô và phát trực tuyến

Nhiều tổ chức đưa dữ liệu nguồn vào hồ dữ liệu theo nhiều cách khác nhau, bao gồm các công việc theo lô, vi lô và phát trực tuyến. Ví dụ, Amazon EMR, Keo AWSDịch vụ di chuyển cơ sở dữ liệu AWS (AWS DMS) đều có thể được sử dụng để thực hiện các hoạt động hàng loạt và/hoặc phát trực tiếp được đưa vào hồ dữ liệu trên Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Luồng ứng dụng Amazon có thể được sử dụng để truyền dữ liệu từ các ứng dụng SaaS khác nhau sang hồ dữ liệu. Đồng bộ dữ liệu AWSGia đình chuyển AWS có thể giúp di chuyển các tệp đến và đi từ hồ dữ liệu qua một số giao thức khác nhau. Amazon Kinesis và Amazon MSK cũng có khả năng truyền dữ liệu trực tiếp tới hồ dữ liệu trên Amazon S3.

hồ dữ liệu S3

Việc sử dụng Amazon S3 cho kho dữ liệu của bạn phù hợp với chiến lược dữ liệu hiện đại. Nó cung cấp khả năng lưu trữ với chi phí thấp mà không làm giảm hiệu suất, độ tin cậy hoặc tính khả dụng. Với phương pháp này, bạn có thể đưa điện toán vào dữ liệu của mình khi cần và chỉ trả tiền cho dung lượng cần để chạy.

Trong kiến ​​trúc này, dữ liệu thô có thể đến từ nhiều nguồn khác nhau (nội bộ và bên ngoài), có thể chứa dữ liệu nhạy cảm.

Bằng cách sử dụng trình thu thập dữ liệu của AWS Glue, chúng tôi có thể khám phá và lập danh mục dữ liệu, dữ liệu này sẽ xây dựng sơ đồ bảng cho chúng tôi và cuối cùng giúp việc sử dụng AWS Glue ETL với biến đổi PII trở nên đơn giản để phát hiện và che giấu hoặc biên tập lại bất kỳ dữ liệu nhạy cảm nào có thể đã xâm phạm trong hồ dữ liệu.

Bối cảnh kinh doanh và bộ dữ liệu

Để chứng minh giá trị của phương pháp tiếp cận của chúng tôi, hãy tưởng tượng bạn là thành viên của nhóm kỹ thuật dữ liệu cho một tổ chức dịch vụ tài chính. Yêu cầu của bạn là phát hiện và che giấu dữ liệu nhạy cảm khi dữ liệu đó được đưa vào môi trường đám mây của tổ chức bạn. Dữ liệu sẽ được sử dụng bởi các quá trình phân tích tiếp theo. Trong tương lai, người dùng của bạn sẽ có thể tìm kiếm các giao dịch thanh toán lịch sử một cách an toàn dựa trên các luồng dữ liệu được thu thập từ hệ thống ngân hàng nội bộ. Kết quả tìm kiếm từ các nhóm vận hành, khách hàng và ứng dụng giao tiếp phải được ẩn trong các trường nhạy cảm.

Bảng sau đây hiển thị cấu trúc dữ liệu được sử dụng cho giải pháp. Để rõ ràng, chúng tôi đã ánh xạ các tên cột thô thành các cột được sắp xếp. Bạn sẽ nhận thấy rằng nhiều trường trong lược đồ này được coi là dữ liệu nhạy cảm, chẳng hạn như tên, họ, số An sinh xã hội (SSN), địa chỉ, số thẻ tín dụng, số điện thoại, email và địa chỉ IPv4.

Tên cột thô Tên cột được sắp xếp Kiểu
c0 họ chuỗi
c1 last_name chuỗi
c2 ssn chuỗi
c3 địa chỉ chuỗi
c4 mã bưu điện chuỗi
c5 đất nước chuỗi
c6 mua_trang web chuỗi
c7 Số thẻ tín dụng chuỗi
c8 credit_card_provider chuỗi
c9 tiền tệ chuỗi
c10 mua_giá trị số nguyên
c11 Ngày Giao dịch ngày
c12 số điện thoại chuỗi
c13 e-mail chuỗi
c14 ipv4 chuỗi

Trường hợp sử dụng: Phát hiện hàng loạt PII trước khi tải lên Dịch vụ OpenSearch

Những khách hàng triển khai kiến ​​trúc sau đã xây dựng hồ dữ liệu của họ trên Amazon S3 để chạy các loại phân tích khác nhau trên quy mô lớn. Giải pháp này phù hợp với những khách hàng không yêu cầu nhập Dịch vụ OpenSearch theo thời gian thực và có kế hoạch sử dụng các công cụ tích hợp dữ liệu chạy theo lịch hoặc được kích hoạt thông qua các sự kiện.

batch_architecture

Trước khi các bản ghi dữ liệu cập bến Amazon S3, chúng tôi triển khai một lớp truyền dẫn để đưa tất cả các luồng dữ liệu vào hồ dữ liệu một cách đáng tin cậy và an toàn. Luồng dữ liệu Kinesis được triển khai dưới dạng lớp truyền dẫn để tăng tốc việc tiếp nhận các luồng dữ liệu có cấu trúc và bán cấu trúc. Ví dụ về những thay đổi này là các thay đổi cơ sở dữ liệu quan hệ, ứng dụng, nhật ký hệ thống hoặc luồng nhấp chuột. Đối với các trường hợp sử dụng thu thập dữ liệu thay đổi (CDC), bạn có thể sử dụng Luồng dữ liệu Kinesis làm mục tiêu cho AWS DMS. Ứng dụng hoặc hệ thống tạo luồng chứa dữ liệu nhạy cảm được gửi đến luồng dữ liệu Kinesis thông qua một trong ba phương thức được hỗ trợ: Amazon Kinesis Agent, AWS SDK cho Java hoặc Thư viện Kinesis Maker. Là bước cuối cùng, Amazon Kinesis Dữ liệu Firehose giúp chúng tôi tải các lô dữ liệu gần như theo thời gian thực vào đích hồ dữ liệu S3 một cách đáng tin cậy.

Ảnh chụp màn hình sau đây cho thấy cách dữ liệu truyền qua Luồng dữ liệu Kinesis thông qua Trình xem dữ liệu và truy xuất dữ liệu mẫu nằm trên tiền tố S3 thô. Đối với kiến ​​trúc này, chúng tôi đã tuân theo vòng đời dữ liệu cho tiền tố S3 như được đề xuất trong Nền tảng hồ dữ liệu.

dữ liệu thô kinesis

Như bạn có thể thấy từ thông tin chi tiết của bản ghi đầu tiên trong ảnh chụp màn hình sau, tải trọng JSON tuân theo cùng một lược đồ như trong phần trước. Bạn có thể thấy dữ liệu chưa được xử lý dữ liệu chảy vào luồng dữ liệu Kinesis. Dữ liệu này sẽ được làm xáo trộn sau này trong các giai đoạn tiếp theo.

thô_json

Sau khi dữ liệu được thu thập và nhập vào Kinesis Data Streams cũng như được phân phối đến bộ chứa S3 bằng Kinesis Data Firehose, lớp xử lý của kiến ​​trúc sẽ tiếp quản. Chúng tôi sử dụng phép biến đổi AWS Glue PII để tự động phát hiện và che giấu dữ liệu nhạy cảm trong quy trình của mình. Như được minh họa trong sơ đồ quy trình làm việc sau đây, chúng tôi đã sử dụng phương pháp ETL trực quan, không cần mã để triển khai công việc chuyển đổi của mình trong AWS Glue Studio.

nút studio keo

Đầu tiên, chúng ta truy cập vào bảng Danh mục dữ liệu nguồn từ pii_data_db cơ sở dữ liệu. Bảng có cấu trúc lược đồ được trình bày trong phần trước. Để theo dõi dữ liệu thô được xử lý, chúng tôi đã sử dụng dấu trang công việc.

danh mục keo

Chúng tôi sử dụng Công thức nấu ăn AWS Glue DataBrew trong công việc ETL trực quan của AWS Glue Studio để chuyển đổi hai thuộc tính ngày để tương thích với OpenSearch dự kiến định dạng. Điều này cho phép chúng tôi có trải nghiệm hoàn toàn không cần mã.

Chúng tôi sử dụng hành động Phát hiện PII để xác định các cột nhạy cảm. Chúng tôi để AWS Glue xác định điều này dựa trên các mẫu đã chọn, ngưỡng phát hiện và phần mẫu của các hàng từ tập dữ liệu. Trong ví dụ của chúng tôi, chúng tôi đã sử dụng các mẫu áp dụng cụ thể cho Hoa Kỳ (chẳng hạn như SSN) và có thể không phát hiện được dữ liệu nhạy cảm từ các quốc gia khác. Bạn có thể tìm kiếm các danh mục và vị trí có sẵn áp dụng cho trường hợp sử dụng của mình hoặc sử dụng biểu thức chính quy (regex) trong AWS Glue để tạo các thực thể phát hiện dữ liệu nhạy cảm từ các quốc gia khác.

Điều quan trọng là phải chọn đúng phương pháp lấy mẫu mà AWS Glue cung cấp. Trong ví dụ này, dữ liệu đến từ luồng có dữ liệu nhạy cảm ở mỗi hàng, do đó không cần thiết phải lấy mẫu 100% các hàng trong tập dữ liệu. Nếu bạn có yêu cầu không được phép truyền dữ liệu nhạy cảm vào các nguồn tiếp theo, hãy cân nhắc lấy mẫu 100% dữ liệu cho các mẫu bạn đã chọn hoặc quét toàn bộ tập dữ liệu và hành động trên từng ô riêng lẻ để đảm bảo tất cả dữ liệu nhạy cảm đều được phát hiện. Lợi ích bạn nhận được từ việc lấy mẫu là giảm chi phí vì bạn không phải quét nhiều dữ liệu.

Tùy chọn PII

Hành động Phát hiện PII cho phép bạn chọn một chuỗi mặc định khi che giấu dữ liệu nhạy cảm. Trong ví dụ của chúng tôi, chúng tôi sử dụng chuỗi **********.

lựa chọn

Chúng tôi sử dụng thao tác ánh xạ áp dụng để đổi tên và xóa các cột không cần thiết như ingestion_year, ingestion_monthingestion_day. Bước này cũng cho phép chúng ta thay đổi kiểu dữ liệu của một trong các cột (purchase_value) từ chuỗi sang số nguyên.

kế hoạch

Từ thời điểm này trở đi, công việc sẽ chia thành hai đích đầu ra: Dịch vụ OpenSearch và Amazon S3.

Cụm Dịch vụ OpenSearch được cung cấp của chúng tôi được kết nối thông qua Trình kết nối tích hợp OpenSearch cho Keo. Chúng tôi chỉ định Chỉ mục OpenSearch mà chúng tôi muốn ghi vào và trình kết nối xử lý thông tin xác thực, miền và cổng. Trong ảnh chụp màn hình bên dưới, chúng tôi ghi vào chỉ mục đã chỉ định index_os_pii.

cấu hình tìm kiếm mở

Chúng tôi lưu trữ tập dữ liệu bị che trong tiền tố S3 được quản lý. Ở đó, chúng tôi có dữ liệu được chuẩn hóa cho một trường hợp sử dụng cụ thể và được các nhà khoa học dữ liệu sử dụng an toàn hoặc cho các nhu cầu báo cáo đặc biệt.

mở thư mục mục tiêu s3

Để quản trị thống nhất, kiểm soát truy cập và theo dõi kiểm tra tất cả các tập dữ liệu và bảng Danh mục dữ liệu, bạn có thể sử dụng Sự hình thành hồ AWS. Điều này giúp bạn hạn chế quyền truy cập vào các bảng Danh mục dữ liệu AWS Glue và dữ liệu cơ bản chỉ ở những người dùng và vai trò đã được cấp các quyền cần thiết để làm như vậy.

Sau khi công việc hàng loạt chạy thành công, bạn có thể sử dụng Dịch vụ OpenSearch để chạy truy vấn hoặc báo cáo tìm kiếm. Như được hiển thị trong ảnh chụp màn hình sau, quy trình tự động che các trường nhạy cảm mà không cần nỗ lực phát triển mã.

Bạn có thể xác định xu hướng từ dữ liệu hoạt động, chẳng hạn như số lượng giao dịch mỗi ngày được nhà cung cấp thẻ tín dụng lọc, như minh họa trong ảnh chụp màn hình trước đó. Bạn cũng có thể xác định vị trí và miền nơi người dùng thực hiện mua hàng. Các transaction_date thuộc tính giúp chúng tôi thấy được những xu hướng này theo thời gian. Ảnh chụp màn hình sau đây hiển thị bản ghi có tất cả thông tin của giao dịch được biên tập lại một cách thích hợp.

json đeo mặt nạ

Để biết các phương pháp thay thế về cách tải dữ liệu vào Amazon OpenSearch, hãy tham khảo Đang tải dữ liệu phát trực tuyến vào Dịch vụ OpenSearch của Amazon.

Hơn nữa, dữ liệu nhạy cảm cũng có thể được phát hiện và che giấu bằng các giải pháp AWS khác. Ví dụ: bạn có thể sử dụng Macie Amazon để phát hiện dữ liệu nhạy cảm bên trong vùng lưu trữ S3, sau đó sử dụng Amazon hiểu để biên tập lại dữ liệu nhạy cảm đã được phát hiện. Để biết thêm thông tin, hãy tham khảo Các kỹ thuật phổ biến để phát hiện dữ liệu PHI và PII bằng Dịch vụ AWS.

Kết luận

Bài đăng này thảo luận về tầm quan trọng của việc xử lý dữ liệu nhạy cảm trong môi trường của bạn cũng như các phương pháp và kiến ​​trúc khác nhau để duy trì tuân thủ đồng thời cho phép tổ chức của bạn mở rộng quy mô nhanh chóng. Bây giờ bạn đã hiểu rõ về cách phát hiện, che giấu hoặc biên tập và tải dữ liệu của mình vào Dịch vụ Tìm kiếm Mở của Amazon.


Giới thiệu về tác giả

Michael Hamilton là Kiến trúc sư giải pháp phân tích cấp cao tập trung vào việc giúp khách hàng doanh nghiệp hiện đại hóa và đơn giản hóa khối lượng công việc phân tích của họ trên AWS. Anh thích đạp xe leo núi và dành thời gian cho vợ và ba đứa con khi không làm việc.

Daniel Rozo là Kiến trúc sư giải pháp cấp cao hỗ trợ khách hàng của AWS ở Hà Lan. Niềm đam mê của anh là thiết kế các giải pháp phân tích và dữ liệu đơn giản, đồng thời giúp khách hàng chuyển sang kiến ​​trúc dữ liệu hiện đại. Ngoài công việc, anh thích chơi quần vợt và đạp xe.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img