Amazon OpenSearch Service에 로드하기 전에 AWS Glue를 사용하여 PII 데이터를 감지, 마스크 및 수정 | 아마존 웹 서비스

Amazon OpenSearch Service에 로드하기 전에 AWS Glue를 사용하여 PII 데이터를 감지, 마스크 및 수정 | 아마존 웹 서비스

소스 노드 : 3059547

크고 작은 많은 조직이 Amazon Web Services(AWS)에서 분석 워크로드를 마이그레이션하고 현대화하기 위해 노력하고 있습니다. 고객이 AWS로 마이그레이션하는 데는 여러 가지 이유가 있지만 가장 큰 이유 중 하나는 인프라 유지 관리, 패치 적용, 모니터링, 백업 등에 시간을 낭비하는 대신 완전관리형 서비스를 사용할 수 있기 때문입니다. 리더십 및 개발 팀은 현재 인프라를 유지 관리하는 대신 현재 솔루션을 최적화하고 새로운 사용 사례를 실험하는 데 더 많은 시간을 할애할 수 있습니다.

AWS에서 빠르게 이동할 수 있는 능력이 있으면 계속해서 확장하면서 수신하고 처리하는 데이터에 대해서도 책임을 져야 합니다. 이러한 책임에는 데이터 개인 정보 보호법 및 규정을 준수하고 업스트림 소스의 개인 식별 정보(PII) 또는 보호 건강 정보(PHI)와 같은 민감한 데이터를 저장하거나 노출하지 않는 것이 포함됩니다.

이 게시물에서는 데이터 개인 정보 보호 문제를 해결하기 위해 많은 개발 시간을 소비하지 않고도 조직의 데이터 플랫폼을 계속 확장할 수 있는 방법을 보여주는 높은 수준의 아키텍처와 특정 사용 사례를 안내합니다. 우리는 사용 AWS 접착제 PII 데이터를 로드하기 전에 감지, 마스크 및 수정 아마존 오픈서치 서비스.

솔루션 개요

다음 다이어그램은 개략적인 솔루션 아키텍처를 보여줍니다. 우리는 디자인의 모든 레이어와 구성 요소를 다음과 같이 정의했습니다. AWS Well-Architected 프레임워크 데이터 분석 렌즈.

os_glue_아키텍처

아키텍처는 다음과 같은 여러 구성 요소로 구성됩니다.

소스 데이터

데이터는 데이터베이스, 파일 전송, 로그, SaaS(Software as a Service) 애플리케이션 등을 포함하여 수십에서 수백 개의 소스에서 나올 수 있습니다. 조직은 이러한 채널을 통해 다운스트림 스토리지 및 애플리케이션으로 들어오는 데이터를 항상 제어할 수 있는 것은 아닙니다.

수집: 데이터 레이크 배치, 마이크로 배치, 스트리밍

많은 조직에서는 배치, 마이크로 배치, 스트리밍 작업을 비롯한 다양한 방식으로 소스 데이터를 데이터 레이크에 저장합니다. 예를 들어, 아마존 EMR, AWS 접착제AWS 데이터베이스 마이그레이션 서비스 (AWS DMS)는 모두 데이터 레이크에 싱크되는 배치 및/또는 스트리밍 작업을 수행하는 데 사용할 수 있습니다. 아마존 단순 스토리지 서비스 (아마존 S3). 아마존 AppFlow 다양한 SaaS 애플리케이션에서 데이터 레이크로 데이터를 전송하는 데 사용할 수 있습니다. AWS 데이터싱크AWS Transfer 제품군 다양한 프로토콜을 통해 데이터 레이크에서 파일을 이동하는 데 도움이 될 수 있습니다. 아마존 키네 시스 Amazon MSK에는 Amazon S3의 데이터 레이크로 직접 데이터를 스트리밍하는 기능도 있습니다.

S3 데이터 레이크

데이터 레이크에 Amazon S3를 사용하는 것은 최신 데이터 전략과 일치합니다. 성능, 안정성 또는 가용성을 저하시키지 않으면서 저렴한 스토리지를 제공합니다. 이 접근 방식을 사용하면 필요에 따라 데이터에 컴퓨팅을 적용하고 실행에 필요한 용량에 대해서만 비용을 지불할 수 있습니다.

이 아키텍처에서 원시 데이터는 민감한 데이터를 포함할 수 있는 다양한 소스(내부 및 외부)에서 나올 수 있습니다.

AWS Glue 크롤러를 사용하면 데이터를 검색하고 분류할 수 있으며, 이를 통해 테이블 ​​스키마가 구축되고 궁극적으로 PII 변환과 함께 AWS Glue ETL을 사용하여 도착했을 수 있는 민감한 데이터를 감지하고 마스킹하거나 수정할 수 있습니다. 데이터 레이크에서.

비즈니스 컨텍스트 및 데이터세트

우리 접근 방식의 가치를 입증하기 위해 귀하가 금융 서비스 조직의 데이터 엔지니어링 팀의 일원이라고 가정해 보겠습니다. 요구 사항은 조직의 클라우드 환경에 수집되는 민감한 데이터를 감지하고 마스킹하는 것입니다. 데이터는 다운스트림 분석 프로세스에서 사용됩니다. 앞으로 사용자는 내부 은행 시스템에서 수집된 데이터 스트림을 기반으로 과거 결제 거래를 안전하게 검색할 수 있게 될 것입니다. 운영 팀, 고객 및 인터페이스 애플리케이션의 검색 결과는 민감한 필드에서 가려져야 합니다.

다음 표는 솔루션에 사용된 데이터 구조를 보여줍니다. 명확성을 위해 원시를 선별된 열 이름에 매핑했습니다. 이 스키마 내의 여러 필드는 이름, 성, 사회보장번호(SSN), 주소, 신용카드 번호, 전화번호, 이메일, IPv4 주소 등 민감한 데이터로 간주됩니다.

원시 열 이름 선별된 열 이름 타입
c0 이름
c1 LAST_NAME
c2 ssn
c3 주소
c4 우편 번호
c5 국가
c6 구매_사이트
c7 신용 카드 번호
c8 신용_카드_공급자
c9 통화
c10 구매_가치 정수
c11 거래 날짜 데이터
c12 전화 번호
c13 이메일
c14 ipv4

사용 사례: OpenSearch 서비스에 로드하기 전 PII 일괄 감지

다음 아키텍처를 구현하는 고객은 Amazon S3에 데이터 레이크를 구축하여 다양한 유형의 분석을 대규모로 실행했습니다. 이 솔루션은 OpenSearch 서비스에 대한 실시간 수집이 필요하지 않고 일정에 따라 실행되거나 이벤트를 통해 트리거되는 데이터 통합 ​​도구를 사용할 계획인 고객에게 적합합니다.

배치_아키텍처

데이터 레코드가 Amazon S3에 저장되기 전에 우리는 수집 계층을 구현하여 모든 데이터 스트림을 안정적이고 안전하게 데이터 레이크로 가져옵니다. Kinesis Data Streams는 구조화된 데이터 스트림과 반구조화된 데이터 스트림의 수집을 가속화하기 위한 수집 계층으로 배포됩니다. 이러한 예로는 관계형 데이터베이스 변경, 애플리케이션, 시스템 로그 또는 클릭스트림이 있습니다. 변경 데이터 캡처(CDC) 사용 사례의 경우 Kinesis Data Streams를 AWS DMS의 대상으로 사용할 수 있습니다. 민감한 데이터가 포함된 스트림을 생성하는 애플리케이션 또는 시스템은 지원되는 세 가지 방법(Amazon Kinesis Agent, Java용 AWS SDK 또는 Kinesis Producer Library) 중 하나를 통해 Kinesis 데이터 스트림으로 전송됩니다. 마지막 단계로, 아마존 키네 시스 데이터 파이어 호스 거의 실시간에 가까운 데이터 배치를 S3 데이터 레이크 대상에 안정적으로 로드하는 데 도움이 됩니다.

다음 스크린샷은 데이터가 Kinesis Data Streams를 통해 어떻게 흐르는지 보여줍니다. 데이터 뷰어 원시 S3 접두사에 있는 샘플 데이터를 검색합니다. 이 아키텍처의 경우 다음에서 권장하는 대로 S3 접두사의 데이터 수명 주기를 따랐습니다. 데이터 레이크 기초.

키네시스 원시 데이터

다음 스크린샷의 첫 번째 레코드 세부 정보에서 볼 수 있듯이 JSON 페이로드는 이전 섹션과 동일한 스키마를 따릅니다. Kinesis 데이터 스트림으로 흐르는 수정되지 않은 데이터를 볼 수 있으며, 이는 이후 단계에서 난독화됩니다.

raw_json

데이터가 수집되어 Kinesis Data Streams로 수집되고 Kinesis Data Firehose를 사용하여 S3 버킷으로 전달되면 아키텍처의 처리 계층이 대신됩니다. 우리는 AWS Glue PII 변환을 사용하여 파이프라인에서 민감한 데이터의 감지 및 마스킹을 자동화합니다. 다음 워크플로 다이어그램에 표시된 것처럼 우리는 AWS Glue Studio에서 변환 작업을 구현하기 위해 코드 없는 시각적 ETL 접근 방식을 취했습니다.

접착제 스튜디오 노드

먼저, 소스 Data Catalog 테이블에 원시로 액세스합니다. pii_data_db 데이터 베이스. 테이블에는 이전 섹션에 제시된 스키마 구조가 있습니다. 원시 처리된 데이터를 추적하기 위해 우리는 다음을 사용했습니다. 작업 북마크.

접착제 카탈로그

우리는을 사용하여 AWS Glue Studio 시각적 ETL 작업의 AWS Glue DataBrew 레시피 OpenSearch와 호환되도록 두 개의 날짜 속성을 변환합니다. 형식. 이를 통해 우리는 완전한 코드 없는 경험을 할 수 있습니다.

우리는 민감한 열을 식별하기 위해 PII 감지 작업을 사용합니다. AWS Glue가 선택한 패턴, 감지 임계값 및 데이터세트 행의 샘플 부분을 기반으로 이를 결정하도록 했습니다. 이 예에서는 미국에만 적용되는 패턴(예: SSN)을 사용했으며 다른 국가의 민감한 데이터는 감지하지 못할 수도 있습니다. 사용 사례에 적용 가능한 카테고리와 위치를 찾거나 AWS Glue에서 정규식(regex)을 사용하여 다른 국가의 민감한 데이터에 대한 탐지 엔터티를 생성할 수 있습니다.

AWS Glue가 제공하는 올바른 샘플링 방법을 선택하는 것이 중요합니다. 이 예에서는 스트림에서 들어오는 데이터의 모든 행에 민감한 데이터가 있다는 것이 알려져 있으므로 데이터 세트의 행을 100% 샘플링할 필요는 없습니다. 다운스트림 소스에 민감한 데이터가 허용되지 않는 요구 사항이 있는 경우 선택한 패턴에 대해 데이터의 100% 샘플링을 고려하거나 전체 데이터 세트를 스캔하고 각 개별 셀에 대해 작업을 수행하여 모든 민감한 데이터가 감지되도록 합니다. 샘플링을 통해 얻을 수 있는 이점은 많은 데이터를 스캔할 필요가 없기 때문에 비용이 절감된다는 것입니다.

PII 옵션

PII 감지 작업을 사용하면 중요한 데이터를 마스킹할 때 기본 문자열을 선택할 수 있습니다. 이 예에서는 ********** 문자열을 사용합니다.

selected_options

매핑 적용 작업을 사용하여 다음과 같은 불필요한 열의 이름을 바꾸고 제거합니다. ingestion_year, ingestion_monthingestion_day. 이 단계를 통해 열 중 하나의 데이터 유형을 변경할 수도 있습니다(purchase_value) 문자열에서 정수로.

개요

이 시점부터 작업은 OpenSearch Service와 Amazon S3라는 두 개의 출력 대상으로 분할됩니다.

프로비저닝된 OpenSearch 서비스 클러스터는 다음을 통해 연결됩니다. Glue용 OpenSearch 내장 커넥터. 작성하려는 OpenSearch 색인을 지정하면 커넥터가 자격 증명, 도메인 및 포트를 처리합니다. 아래 스크린샷에서는 지정된 인덱스에 씁니다. index_os_pii.

오픈서치 구성

마스킹된 데이터 세트를 선별된 S3 접두사에 저장합니다. 거기에는 특정 사용 사례에 맞게 정규화된 데이터와 데이터 과학자의 안전한 소비 또는 임시 보고 요구 사항이 있습니다.

오픈서치 타겟 s3 폴더

모든 데이터 세트와 Data Catalog 테이블의 통합 거버넌스, 액세스 제어, 감사 추적을 위해 다음을 사용할 수 있습니다. AWS Lake 형성. 이를 통해 AWS Glue 데이터 카탈로그 테이블 및 기본 데이터에 대한 액세스를 필요한 권한이 부여된 사용자 및 역할로만 제한할 수 있습니다.

일괄 작업이 성공적으로 실행된 후 OpenSearch 서비스를 사용하여 검색 쿼리 또는 보고서를 실행할 수 있습니다. 다음 스크린샷에 표시된 것처럼 파이프라인은 코드 개발 노력 없이 민감한 필드를 자동으로 마스킹했습니다.

앞의 스크린샷에 표시된 것처럼 신용 카드 제공업체에서 필터링한 일일 거래량과 같은 운영 데이터에서 추세를 식별할 수 있습니다. 사용자가 구매하는 위치와 도메인을 결정할 수도 있습니다. 그만큼 transaction_date 속성은 시간 경과에 따른 이러한 추세를 확인하는 데 도움이 됩니다. 다음 스크린샷은 모든 거래 정보가 적절하게 수정된 기록을 보여줍니다.

JSON 마스크

Amazon OpenSearch에 데이터를 로드하는 방법에 대한 대체 방법은 다음을 참조하십시오. Amazon OpenSearch Service에 스트리밍 데이터 로드.

또한 다른 AWS 솔루션을 사용하여 민감한 데이터를 검색하고 마스킹할 수도 있습니다. 예를 들어 다음을 사용할 수 있습니다. 아마존 Macie S3 버킷 내부의 민감한 데이터를 감지한 다음 아마존 이해 감지된 민감한 데이터를 수정합니다. 자세한 내용은 다음을 참조하세요. AWS 서비스를 사용하여 PHI 및 PII 데이터를 탐지하는 일반적인 기술.

결론

이 게시물에서는 환경 내에서 민감한 데이터를 처리하는 것의 중요성과 규정을 준수하는 동시에 조직을 빠르게 확장할 수 있는 다양한 방법과 아키텍처에 대해 논의했습니다. 이제 데이터를 감지, 마스킹 또는 수정하고 Amazon OpenSearch Service에 로드하는 방법을 잘 이해하셨을 것입니다.


저자 소개

마이클 해밀턴 기업 고객이 AWS에서 분석 워크로드를 현대화하고 단순화하도록 돕는 데 주력하는 수석 분석 솔루션 설계자입니다. 그는 산악자전거를 즐기며 일하지 않을 때는 아내, 세 자녀와 함께 시간을 보냅니다.

다니엘 로조 네덜란드 고객을 지원하는 AWS의 수석 솔루션 아키텍트입니다. 그의 열정은 간단한 데이터 및 분석 솔루션을 엔지니어링하고 고객이 최신 데이터 아키텍처로 전환하도록 돕는 것입니다. 업무 외에는 테니스와 자전거 타기를 즐깁니다.

타임 스탬프 :

더보기 AWS 빅 데이터