Logo Zephyrnet

Tự động phát hiện Thông tin nhận dạng cá nhân trong Amazon Redshift bằng AWS Glue | Dịch vụ web của Amazon

Ngày:

Với sự tăng trưởng theo cấp số nhân của dữ liệu, các công ty đang xử lý khối lượng khổng lồ và nhiều loại dữ liệu bao gồm thông tin nhận dạng cá nhân (PII). PII là một thuật ngữ pháp lý liên quan đến thông tin có thể nhận dạng, liên hệ hoặc định vị một người. Việc xác định và bảo vệ dữ liệu nhạy cảm trên quy mô ngày càng trở nên phức tạp, tốn kém và mất thời gian. Các tổ chức phải tuân thủ các yêu cầu về quyền riêng tư, tuân thủ và quy định về dữ liệu như GDPRCCPAvà điều quan trọng là phải xác định và bảo vệ PII để duy trì sự tuân thủ. Bạn cần xác định dữ liệu nhạy cảm, bao gồm PII như tên, Số an sinh xã hội (SSN), địa chỉ, email, giấy phép lái xe, v.v. Ngay cả sau khi nhận dạng, việc thực hiện biên tập, che giấu hoặc mã hóa dữ liệu nhạy cảm trên quy mô lớn vẫn rất phức tạp.

Nhiều công ty xác định và dán nhãn PII một cách thủ công, tốn thời gian và dễ mắc lỗi. đánh giá cơ sở dữ liệu, kho dữ liệu và hồ dữ liệu của họ, từ đó khiến dữ liệu nhạy cảm của họ không được bảo vệ và dễ bị xử phạt theo quy định cũng như các sự cố vi phạm.

Trong bài đăng này, chúng tôi cung cấp một giải pháp tự động để phát hiện dữ liệu PII trong Amazon RedShift sử dụng Keo AWS.

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

Với giải pháp này, chúng tôi phát hiện PII trong dữ liệu trên kho dữ liệu Redshift của mình để lấy và bảo vệ dữ liệu. Chúng tôi sử dụng các dịch vụ sau:

  • Amazon RedShift là dịch vụ lưu trữ dữ liệu trên đám mây sử dụng SQL để phân tích dữ liệu có cấu trúc và bán cấu trúc trên kho dữ liệu, cơ sở dữ liệu vận hành và hồ dữ liệu, sử dụng phần cứng và máy học (ML) do AWS thiết kế để mang lại mức giá/hiệu suất tốt nhất ở mọi quy mô. Đối với giải pháp của mình, chúng tôi sử dụng Amazon Redshift để lưu trữ dữ liệu.
  • Keo AWS là dịch vụ tích hợp dữ liệu không có máy chủ giúp dễ dàng khám phá, chuẩn bị và kết hợp dữ liệu để phân tích, ML và phát triển ứng dụng. Chúng tôi sử dụng AWS Glue để khám phá dữ liệu PII được lưu trữ trong Amazon Redshift.
  • Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) là dịch vụ lưu trữ cung cấp khả năng mở rộng, tính khả dụng của dữ liệu, tính bảo mật và hiệu suất hàng đầu trong ngành.

Sơ đồ sau minh họa kiến ​​trúc giải pháp của chúng tôi.

Giải pháp bao gồm các bước cấp cao sau:

  1. Thiết lập cơ sở hạ tầng bằng cách sử dụng Hình thành đám mây AWS bản mẫu.
  2. Tải dữ liệu từ Amazon S3 vào kho dữ liệu Redshift.
  3. Chạy trình thu thập thông tin AWS Glue để điền vào Danh mục dữ liệu AWS Glue các bảng.
  4. Chạy tác vụ AWS Glue để phát hiện dữ liệu PII.
  5. Phân tích đầu ra bằng cách sử dụng amazoncloudwatch.

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

Các tài nguyên được tạo trong bài đăng này giả định rằng có một VPC cùng với một mạng con riêng tư và cả số nhận dạng của chúng. Điều này đảm bảo rằng chúng tôi không thay đổi đáng kể cấu hình VPC và mạng con. Do đó, chúng tôi muốn thiết lập điểm cuối VPC dựa trên VPC và mạng con mà chúng tôi chọn để hiển thị nó.

Trước khi bạn bắt đầu, hãy tạo các tài nguyên sau làm điều kiện tiên quyết:

  • VPC hiện có
  • Một mạng con riêng trong VPC đó
  • Điểm cuối S3 của cổng VPC
  • Điểm cuối cổng VPC STS

Thiết lập cơ sở hạ tầng với AWS CloudFormation

Để tạo cơ sở hạ tầng của bạn bằng mẫu CloudFormation, hãy hoàn thành các bước sau:

  1. Mở bảng điều khiển AWS CloudFormation trong tài khoản AWS của bạn.
  2. Chọn Khởi chạy Stack:
  3. Chọn Sau.
  4. Cung cấp các thông tin sau:
    1. Tên ngăn xếp
    2. Tên người dùng Amazon Redshift
    3. Mật khẩu Amazon Redshift
    4. ID VPC
    5. ID mạng con
    6. Vùng sẵn sàng cho ID mạng con
  5. Chọn Sau.
  6. Trên trang tiếp theo, hãy chọn Sau.
  7. Xem lại các chi tiết và chọn Tôi xác nhận rằng AWS CloudFormation có thể tạo tài nguyên IAM.
  8. Chọn Tạo ngăn xếp.
  9. Lưu ý các giá trị cho S3BucketNameRedshiftRoleArn trên ngăn xếp Kết quả đầu ra tab.

Tải dữ liệu từ Amazon S3 vào kho dữ liệu Redshift

Với Lệnh COPY, chúng tôi có thể tải dữ liệu từ các tệp nằm trong một hoặc nhiều vùng lưu trữ S3. Chúng tôi sử dụng mệnh đề FROM để cho biết lệnh COPY định vị các tệp trong Amazon S3 như thế nào. Bạn có thể cung cấp đường dẫn đối tượng tới các tệp dữ liệu như một phần của mệnh đề FROM hoặc bạn có thể cung cấp vị trí của tệp kê khai chứa danh sách các đường dẫn đối tượng S3. COPY từ Amazon S3 sử dụng kết nối HTTPS.

Đối với bài đăng này, chúng tôi sử dụng một mẫu sức khỏe cá nhân tập dữ liệu. Tải dữ liệu theo các bước sau:

  1. Trên bảng điều khiển Amazon S3, hãy điều hướng đến nhóm S3 được tạo từ mẫu CloudFormation và kiểm tra tập dữ liệu.
  2. Kết nối với kho dữ liệu Redshift bằng Trình chỉnh sửa truy vấn v2 bằng cách thiết lập kết nối với cơ sở dữ liệu bạn tạo bằng ngăn xếp CloudFormation cùng với tên người dùng và mật khẩu.

Sau khi kết nối, bạn có thể sử dụng các lệnh sau để tạo bảng trong kho dữ liệu Redshift và sao chép dữ liệu.

  1. Tạo một bảng với truy vấn sau:
    CREATE TABLE personal_health_identifiable_information (
        mpi char (10),
        firstName VARCHAR (30),
        lastName VARCHAR (30),
        email VARCHAR (75),
        gender CHAR (10),
        mobileNumber VARCHAR(20),
        clinicId VARCHAR(10),
        creditCardNumber VARCHAR(50),
        driverLicenseNumber VARCHAR(40),
        patientJobTitle VARCHAR(100),
        ssn VARCHAR(15),
        geo VARCHAR(250),
        mbi VARCHAR(50)    
    );

  2. Tải dữ liệu từ nhóm S3:
    COPY personal_health_identifiable_information
    FROM 's3://<S3BucketName>/personal_health_identifiable_information.csv'
    IAM_ROLE '<RedshiftRoleArn>'
    CSV
    delimiter ','
    region '<aws region>'
    IGNOREHEADER 1;

Cung cấp giá trị cho các phần giữ chỗ sau:

  • RedshiftVai tròArn – Xác định vị trí ARN trên ngăn xếp CloudFormation Kết quả đầu ra chuyển hướng
  • S3Xô Tên – Thay thế bằng tên nhóm từ ngăn xếp CloudFormation
  • khu vực aws – Thay đổi Khu vực nơi bạn đã triển khai mẫu CloudFormation
  1. Để xác minh dữ liệu đã được tải, hãy chạy lệnh sau:
    SELECT * FROM personal_health_identifiable_information LIMIT 10;

Chạy trình thu thập thông tin AWS Glue để điền vào Danh mục dữ liệu các bảng

Trên bảng điều khiển AWS Glue, chọn trình thu thập thông tin mà bạn đã triển khai như một phần của ngăn xếp CloudFormation có tên crawler_pii_db, sau đó chọn Chạy trình thu thập thông tin.

Khi trình thu thập thông tin hoàn tất, các bảng trong cơ sở dữ liệu có tên pii_db được điền vào Danh mục dữ liệu AWS Glue và sơ đồ bảng trông giống như ảnh chụp màn hình sau.

Chạy tác vụ AWS Glue để phát hiện dữ liệu PII và che các cột tương ứng trong Amazon Redshift

Trên bảng điều khiển AWS Glue, hãy chọn Việc làm ETL trong ngăn điều hướng và xác định công việc detect-pii-data để hiểu cấu hình của nó. Các thuộc tính cơ bản và nâng cao được định cấu hình bằng mẫu CloudFormation.

Các thuộc tính cơ bản như sau:

  • Kiểu - Tia lửa
  • Phiên bản keo – Keo 4.0
  • Ngôn ngữ - Python

Đối với mục đích trình diễn, tùy chọn đánh dấu công việc bị tắt cùng với tính năng tự động chia tỷ lệ.

Chúng tôi cũng định cấu hình các thuộc tính nâng cao liên quan đến kết nối và tham số công việc.
Để truy cập dữ liệu trong Amazon Redshift, chúng tôi đã tạo kết nối AWS Glue sử dụng kết nối JDBC.

Chúng tôi cũng cung cấp các thông số tùy chỉnh dưới dạng cặp khóa-giá trị. Đối với bài đăng này, chúng tôi chia PII thành năm loại phát hiện khác nhau:

  • phổ quátPERSON_NAME, EMAIL, CREDIT_CARD
  • hôngaaPERSON_NAME, PHONE_NUMBER, USA_SSN, USA_ITIN, BANK_ACCOUNT, USA_DRIVING_LICENSE, USA_HCPCS_CODE, USA_NATIONAL_DRUG_CODE, USA_NATIONAL_PROVIDER_IDENTIFIER, USA_DEA_NUMBER, USA_HEALTH_INSURANCE_CLAIM_NUMBER, USA_MEDICARE_BENEFICIARY_IDENTIFIER
  • mạng lướiIP_ADDRESS, MAC_ADDRESS
  • Hoa KỳPHONE_NUMBER, USA_PASSPORT_NUMBER, USA_SSN, USA_ITIN, BANK_ACCOUNT
  • khách hàng – Tọa độ

Nếu bạn đang thử giải pháp này từ các quốc gia khác, bạn có thể chỉ định các trường PII tùy chỉnh bằng cách sử dụng danh mục tùy chỉnh vì giải pháp này được tạo dựa trên các khu vực của Hoa Kỳ.

Với mục đích trình diễn, chúng tôi sử dụng một bảng duy nhất và chuyển nó dưới dạng tham số sau:

--table_name: table_name

Đối với bài đăng này, chúng tôi đặt tên cho bảng personal_health_identifiable_information.

Bạn có thể tùy chỉnh các tham số này dựa trên trường hợp sử dụng của từng doanh nghiệp.

Chạy công việc và chờ đợi Success trạng thái.

Công việc có hai mục tiêu. Mục tiêu đầu tiên là xác định các cột liên quan đến dữ liệu PII trong bảng Redshift và tạo danh sách các tên cột này. Mục tiêu thứ hai là làm xáo trộn dữ liệu trong các cột cụ thể của bảng mục tiêu. Là một phần của mục tiêu thứ hai, nó đọc dữ liệu bảng, áp dụng chức năng che dấu do người dùng xác định cho các cột cụ thể đó và cập nhật dữ liệu trong bảng mục tiêu bằng cách sử dụng bảng phân tầng Redshift (stage_personal_health_identifiable_information) cho những thăng tiến.

Ngoài ra, bạn cũng có thể sử dụng mặt nạ dữ liệu động (DDM) trong Amazon Redshift để bảo vệ dữ liệu nhạy cảm trong kho dữ liệu của bạn.

Phân tích đầu ra bằng CloudWatch

Khi công việc hoàn tất, hãy xem lại nhật ký CloudWatch để hiểu cách công việc AWS Glue chạy. Chúng ta có thể điều hướng đến nhật ký CloudWatch bằng cách chọn Nhật ký đầu ra trên trang chi tiết công việc trên bảng điều khiển AWS Glue.

Công việc đã xác định mọi cột chứa dữ liệu PII, bao gồm các trường tùy chỉnh được truyền bằng cách sử dụng các trường phát hiện dữ liệu nhạy cảm với công việc của AWS Glue.

Làm sạch

Để dọn dẹp cơ sở hạ tầng và tránh phải trả thêm phí, hãy hoàn thành các bước sau:

  1. Làm trống các thùng S3.
  2. Xóa các điểm cuối bạn đã tạo.
  3. Xóa ngăn xếp CloudFormation thông qua bảng điều khiển AWS CloudFormation để xóa các tài nguyên còn lại.

Kết luận

Với giải pháp này, bạn có thể tự động quét dữ liệu nằm trong cụm Redshift bằng tác vụ AWS Glue, xác định PII và thực hiện các hành động cần thiết. Điều này có thể giúp tổ chức của bạn có các tính năng bảo mật, tuân thủ, quản trị và bảo vệ dữ liệu, góp phần hướng tới bảo mật dữ liệu và quản trị dữ liệu.


Về các tác giả

Manikanta Gona là Kỹ sư dữ liệu và ML tại AWS Professional Services. Anh gia nhập AWS vào năm 2021 với hơn 6 năm kinh nghiệm trong lĩnh vực CNTT. Tại AWS, anh ấy tập trung vào việc triển khai Data Lake cũng như khối lượng công việc Tìm kiếm, Phân tích bằng Amazon OpenSearch Service. Khi rảnh rỗi, anh ấy thích làm vườn, đi bộ đường dài và đạp xe cùng chồng.

Denys Novikov là Kiến trúc sư hồ dữ liệu cấp cao thuộc nhóm Dịch vụ chuyên nghiệp tại Amazon Web Services. Ông chuyên thiết kế và triển khai các hệ thống Phân tích, Quản lý dữ liệu và Dữ liệu lớn cho khách hàng Doanh nghiệp.

Anjan Mukherjee là Kiến trúc sư Data Lake tại AWS, chuyên về các giải pháp phân tích và dữ liệu lớn. Anh giúp khách hàng xây dựng các ứng dụng có khả năng mở rộng, đáng tin cậy, an toàn và hiệu suất cao trên nền tảng AWS.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img