자습서: S3 Object Lambda와 Amazon Comprehend로 PII 데이터 감지 및 편집

자습서: S3 Object Lambda와 Amazon Comprehend로 PII 데이터 감지 및 편집 (Tutorial: Detecting and redacting PII data with S3 Object Lambda and Amazon Comprehend)

여러 애플리케이션과 사용자가 접근하는 공유 데이터셋에 Amazon S3를 사용할 때는 개인 식별 정보(PII) 같은 민감 정보를 허가된 주체에게만 제한하는 것이 중요해요. 예를 들어 PII가 포함된 데이터를 마케팅 애플리케이션이 사용한다면 데이터 프라이버시 요구 사항을 충족하기 위해 먼저 PII 데이터를 마스킹해야 할 수 있어요. 또 분석 애플리케이션이 생산 주문 재고 데이터셋을 사용한다면 의도치 않은 데이터 유출을 막기 위해 먼저 고객 신용카드 정보를 편집해야 할 수도 있어요.

참고 2025년 11월 7일부터 S3 Object Lambda는 현재 이 서비스를 사용 중인 기존 고객과 일부 AWS 파트너 네트워크(APN) 파트너만 이용할 수 있어요. S3 Object Lambda와 비슷한 기능이 필요하다면 Amazon S3 Object Lambda 가용성 변경 문서를 확인해 주세요.

출처: 문서

본문

S3 Object Lambda와 Amazon Comprehend를 기반으로 하는 기성(prebuilt) AWS Lambda 함수를 사용하면, 애플리케이션에 반환하기 전에 S3에서 검색한 PII 데이터를 보호할 수 있어요. 구체적으로 기성 Lambda 함수를 편집 함수로 사용해 S3 Object Lambda 접근 지점에 연결할 수 있어요. 애플리케이션(예: 분석 애플리케이션)이 표준 S3 GET 요청을 보내면, S3 Object Lambda 접근 지점을 통해 이루어지는 이 요청들은 기성 편집 Lambda 함수를 호출해 지원 S3 접근 지점을 통해 기본 데이터 소스에서 검색한 PII 데이터를 감지하고 편집해요. 그런 다음 S3 Object Lambda 접근 지점이 편집된 결과를 애플리케이션에 다시 반환해요.

이 과정에서 기성 Lambda 함수는 자연어 처리(NLP) 서비스인 Amazon Comprehend를 사용해 PII가 어떻게 표현되는지(숫자로, 또는 단어와 숫자의 조합으로)에 관계없이 그 변형을 포착해요. Amazon Comprehend는 텍스트의 컨텍스트까지 사용해 4자리 숫자가 PIN인지, 주민등록번호(SSN)의 마지막 네 자리인지, 연도인지 이해할 수 있어요. Amazon Comprehend는 UTF-8 형식의 모든 텍스트 파일을 처리하며 정확성에 영향을 주지 않으면서 PII를 대규모로 보호할 수 있어요. 자세한 내용은 Amazon Comprehend 개발자 안내서의 Amazon Comprehend란 무엇인가요?를 참고하세요.

목표

이 자습서에서는 기성 Lambda 함수인 ComprehendPiiRedactionS3ObjectLambda와 함께 S3 Object Lambda를 사용하는 방법을 배워요. 이 함수는 Amazon Comprehend를 사용해 PII 엔터티를 감지한 다음, 이 엔터티를 별표로 바꿔 편집해요. PII를 편집하면 민감한 데이터를 숨기므로 보안과 규정 준수에 도움이 돼요.

또한 AWS Serverless Application Repository의 기성 AWS Lambda 함수를 사용·구성해서 S3 Object Lambda와 함께 동작하도록 손쉽게 배포하는 방법도 배워요.

항목

  • 전제 조건: 권한이 있는 IAM 사용자 만들기
  • 1단계: S3 버킷 만들기
  • 2단계: S3 버킷에 파일 업로드
  • 3단계: S3 접근 지점 만들기
  • 4단계: 기성 Lambda 함수 구성 및 배포
  • 5단계: S3 Object Lambda 접근 지점 만들기
  • 6단계: S3 Object Lambda 접근 지점으로 편집된 파일 검색
  • 7단계: 정리
  • 다음 단계

전제 조건: 권한이 있는 IAM 사용자 만들기

이 자습서를 시작하기 전에 올바른 권한을 가진 AWS Identity and Access Management 사용자(IAM 사용자)로 로그인할 수 있는 AWS 계정이 있어야 해요.

자습서용 IAM 사용자를 만들 수 있어요. 이 자습서를 완료하려면 여러분의 IAM 사용자가 관련 AWS 리소스에 접근하고 특정 작업을 수행하기 위해 다음 IAM 정책을 연결해야 해요.

참고 간단하게 하기 위해 이 자습서는 IAM 사용자를 만들고 사용해요. 자습서를 완료한 뒤에는 IAM 사용자 삭제를 꼭 기억하세요. 프로덕션용으로는 IAM 사용자 안내서의 IAM 보안 모범 사례를 따르는 것이 좋아요. 모범 사례 중 하나는 사람이 사용하는 사용자들이 자격 증명 공급자와의 연합을 사용해 임시 자격 증명으로 AWS에 접근하도록 하는 거예요. 또 다른 모범 사례는 워크로드가 IAM 역할과 함께 임시 자격 증명을 사용해 AWS에 접근하도록 하는 거예요. AWS IAM Identity Center로 임시 자격 증명을 가진 사용자를 만드는 방법은 AWS IAM Identity Center 사용자 안내서의 시작하기를 참고하세요.

이 자습서는 또한 전체 접근 정책을 사용해요. 프로덕션용으로는 보안 모범 사례에 따라 사용 사례에 필요한 최소 권한만 부여할 것을 권장해요.

여러분의 IAM 사용자는 다음 AWS 관리형 정책이 필요해요.

  • AmazonS3FullAccess — Object Lambda 접근 지점을 만들고 사용할 권한을 포함한 모든 Amazon S3 작업에 대한 권한을 부여해요.
  • AWSLambda_FullAccess — 모든 Lambda 작업에 대한 권한을 부여해요.
  • AWSCloudFormationFullAccess — 모든 AWS CloudFormation 작업에 대한 권한을 부여해요.
  • IAMFullAccess — 모든 IAM 작업에 대한 권한을 부여해요.
  • IAMAccessAnalyzerReadOnlyAccess — IAM Access Analyzer가 제공하는 모든 접근 정보를 읽을 수 있는 권한을 부여해요.

IAM 사용자를 만들 때 이 기존 정책들을 직접 연결할 수 있어요. IAM 사용자를 만드는 방법에 대한 자세한 내용은 IAM 사용자 안내서의 IAM 사용자 만들기(콘솔)를 참고하세요.

또한 여러분의 IAM 사용자는 사용자 관리형(customer managed) 정책이 필요해요. 모든 AWS Serverless Application Repository 리소스와 작업에 대한 권한을 IAM 사용자에게 부여하려면 IAM 정책을 만들어 IAM 사용자에게 연결해야 해요.

IAM 사용자에게 IAM 정책을 만들고 연결하려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **정책(Policies)**을 선택해요.
  3. **정책 만들기(Create policy)**를 선택해요.
  4. 시각적 편집기(Visual editor) 탭의 **서비스(Service)**에서 **서비스 선택(Choose a service)**을 선택한 다음 Serverless Application Repository를 선택해요.
  5. **작업(Actions)**의 **수동 작업(Manual actions)**에서 이 자습서의 경우 **모든 Serverless Application Repository 작업(serverlessrepo:*)(All Serverless Application Repository actions (serverlessrepo:*))**을 선택해요. 보안 모범 사례에 따라 사용 사례에 기반해 사용자가 필요로 하는 작업과 리소스에만 권한을 허용해야 해요. 자세한 내용은 IAM 사용자 안내서의 IAM 보안 모범 사례를 참고하세요.
  6. **리소스(Resources)**에서 이 자습서의 경우 **모든 리소스(All resources)**를 선택해요. 모범 사례에 따라 특정 계정의 특정 리소스에만 권한을 정의해야 해요. 또는 조건 키를 사용해 최소 권한을 부여할 수 있어요. 자세한 내용은 IAM 사용자 안내서의 최소 권한 부여를 참고하세요.
  7. **다음: 태그(Next: Tags)**를 선택해요.
  8. **다음: 검토(Next: Review)**를 선택해요.
  9. 정책 검토(Review policy) 페이지에서 만들고 있는 정책의 이름(Name)(예: tutorial-serverless-application-repository)과 설명(Description)(선택 사항)을 입력해요. 정책 요약을 검토해 의도한 권한이 부여되었는지 확인한 다음 **정책 만들기(Create policy)**를 선택해 새 정책을 저장해요.
  10. 왼쪽 탐색 창에서 **사용자(Users)**를 선택한 다음, 이 자습서용 IAM 사용자를 선택해요.
  11. 선택한 사용자의 요약(Summary) 페이지에서 권한(Permissions) 탭을 선택한 다음 **권한 추가(Add permissions)**를 선택해요.
  12. 권한 부여(Grant permissions) 아래에서 **기존 정책 직접 연결(Attach existing policies directly)**을 선택해요.
  13. 방금 만든 정책(예: tutorial-serverless-application-repository) 옆의 확인란을 선택하고 **다음: 검토(Next: Review)**를 선택해요.
  14. **권한 요약(Permissions summary)**에서 의도한 정책을 연결했는지 요약을 검토한 다음 **권한 추가(Add permissions)**를 선택해요.

1단계: S3 버킷 만들기

변환하려는 원본 데이터를 저장할 버킷을 만들어요.

참고 접근 지점은 Amazon FSx for OpenZFS 볼륨 같은 다른 데이터 소스에도 연결될 수 있지만, 이 자습서에서는 S3 버킷에 연결된 지원 접근 지점을 사용해요.

버킷을 만들려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **버킷(Buckets)**을 선택해요.
  3. **버킷 만들기(Create bucket)**를 선택해요. 버킷 만들기(Create bucket) 페이지가 열려요.
  4. **버킷 이름(Bucket name)**에 버킷 이름(예: tutorial-bucket)을 입력해요. Amazon S3의 버킷 명명에 대한 자세한 내용은 범용 버킷 명명 규칙을 참고하세요.
  5. **리전(Region)**에서 버킷을 두려는 AWS 리전을 선택해요. 버킷 리전에 대한 자세한 내용은 범용 버킷 개요를 참고하세요.
  6. **이 버킷의 퍼블릭 액세스 차단 설정(Block Public Access settings for this bucket)**에서 기본 설정을 유지해요(모든 퍼블릭 액세스 차단이 활성화됨). 사용 사례를 위해 하나 이상을 꺼야 하는 경우가 아니면 모든 퍼블릭 액세스 차단 설정을 활성화 상태로 유지할 것을 권장해요. 퍼블릭 액세스 차단에 대한 자세한 내용은 Amazon S3 스토리지에 대한 퍼블릭 액세스 차단을 참고하세요.
  7. 나머지 설정은 기본값을 유지해요.
  8. (선택 사항) 특정 사용 사례에 맞게 추가 버킷 설정을 구성하려면 범용 버킷 만들기를 참고하세요.
  9. **버킷 만들기(Create bucket)**를 선택해요.

2단계: S3 버킷에 파일 업로드

이름, 은행 정보, 전화번호, SSN 등 다양한 유형의 알려진 PII 데이터가 포함된 텍스트 파일을 S3 버킷에 업로드해요. 이 파일은 이 자습서의 뒷부분에서 PII를 편집할 원본 데이터가 돼요.

예를 들어 다음 tutorial.txt 파일을 업로드할 수 있어요. 이것은 Amazon Comprehend의 예제 입력 파일이에요.

Hello Zhang Wei, I am John. Your AnyCompany Financial Services, 
LLC credit card account 1111-0000-1111-0008 has a minimum payment 
of $24.53 that is due by July 31st. Based on your autopay settings, 
we will withdraw your payment on the due date from your 
bank account number XXXXXX1111 with the routing number XXXXX0000. 

Your latest statement was mailed to 100 Main Street, Any City, 
WA 98121. 
After your payment is received, you will receive a confirmation 
text message at 206-555-0100. 
If you have questions about your bill, AnyCompany Customer Service 
is available by phone at 206-555-0199 or 
email at [email protected].

버킷에 파일을 업로드하려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **버킷(Buckets)**을 선택해요.
  3. 버킷(Buckets) 목록에서 1단계에서 만든 버킷 이름(예: tutorial-bucket)을 선택해 파일을 업로드해요.
  4. 버킷의 객체(Objects) 탭에서 **업로드(Upload)**를 선택해요.
  5. 업로드(Upload) 페이지의 파일 및 폴더(Files and folders) 아래에서 **파일 추가(Add files)**를 선택해요.
  6. 업로드할 파일을 선택한 다음 **열기(Open)**를 선택해요. 예를 들어 앞에서 언급한 tutorial.txt 파일 예제를 업로드할 수 있어요.
  7. **업로드(Upload)**를 선택해요.

3단계: S3 접근 지점 만들기

S3 Object Lambda 접근 지점을 사용해 원본 데이터에 접근하고 변환하려면 S3 접근 지점을 만들고 1단계에서 만든 S3 버킷과 연결해야 해요. 접근 지점은 변환하려는 객체와 같은 AWS 리전에 있어야 해요.

이 자습서의 뒷부분에서는 이 접근 지점을 Object Lambda 접근 지점의 지원 접근 지점으로 사용할 거예요.

접근 지점을 만들려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **접근 지점(Access Points)**을 선택해요.
  3. 접근 지점(Access Points) 페이지에서 **접근 지점 만들기(Create access point)**를 선택해요.
  4. 접근 지점 이름(Access point name) 필드에 접근 지점의 이름(예: tutorial-pii-access-point)을 입력해요. 접근 지점 명명에 대한 자세한 내용은 접근 지점 명명 규칙을 참고하세요.
  5. 데이터 소스(Data source) 필드에 1단계에서 만든 버킷 이름(예: tutorial-bucket)을 입력해요. S3가 이 버킷에 접근 지점을 연결해요.
  6. (선택 사항) **S3 찾아보기(Browse S3)**를 선택해 계정의 버킷을 탐색하고 검색할 수 있어요. S3 찾아보기를 선택하면 원하는 버킷을 선택한 다음 **경로 선택(Choose path)**을 선택해 데이터 소스(Data source) 필드에 해당 버킷 이름을 채울 수 있어요.
  7. **네트워크 출처(Network origin)**에서 **인터넷(Internet)**을 선택해요. 접근 지점의 네트워크 출처에 대한 자세한 내용은 가상 사설 클라우드로 제한된 접근 지점 만들기를 참고하세요.
  8. 기본적으로 접근 지점에 대한 모든 퍼블릭 액세스 차단 설정이 켜져 있어요. **모든 퍼블릭 액세스 차단(Block all public access)**을 활성화 상태로 유지할 것을 권장해요. 자세한 내용은 범용 버킷용 접근 지점의 퍼블릭 액세스 관리를 참고하세요.
  9. 다른 모든 접근 지점 설정은 기본값을 유지해요.
  10. (선택 사항) 접근 지점 설정을 사용 사례에 맞게 수정할 수 있어요. 이 자습서에서는 기본 설정을 유지할 것을 권장해요.
  11. (선택 사항) 접근 지점에 대한 접근을 관리해야 한다면 접근 지점 정책을 지정할 수 있어요. 자세한 내용은 접근 지점 정책 예제를 참고하세요.
  12. **접근 지점 만들기(Create access point)**를 선택해요.

4단계: 기성 Lambda 함수 구성 및 배포

PII 데이터를 편집하려면 기성 AWS Lambda 함수인 ComprehendPiiRedactionS3ObjectLambda를 구성해 S3 Object Lambda 접근 지점과 함께 사용하도록 배포해요.

Lambda 함수를 구성하고 배포하려면

  1. AWS 관리 콘솔에 로그인하고 AWS Serverless Application Repository에서 ComprehendPiiRedactionS3ObjectLambda 함수를 확인해요.
  2. **애플리케이션 설정(Application settings)**의 **애플리케이션 이름(Application name)**에서 이 자습서의 경우 기본값(ComprehendPiiRedactionS3ObjectLambda)을 유지해요.
  3. (선택 사항) 이 애플리케이션에 부여할 이름을 입력할 수 있어요. 같은 공유 데이터셋에 대해 서로 다른 접근 요구 사항을 위해 여러 Lambda 함수를 구성하려는 경우 이렇게 하는 것이 좋아요.
  4. **마스크 문자(MaskCharacter)**에서 기본값(*)을 유지해요. 마스크 문자는 편집된 PII 엔터티의 각 문자를 대체해요.
  5. **마스크 모드(MaskMode)**에서 기본값(MASK)을 유지해요. MaskMode 값은 PII 엔터티가 MASK 문자로 편집될지, 아니면 PII_ENTITY_TYPE 값으로 편집될지 지정해요.
  6. 지정된 유형의 데이터를 편집하려면 PiiEntityTypes에서 기본값 ALL을 유지해요. PiiEntityTypes 값은 편집 대상으로 고려할 PII 엔터티 유형을 지정해요. 지원되는 PII 엔터티 유형 목록에 대한 자세한 내용은 Amazon Comprehend 개발자 안내서의 개인 식별 정보(PII) 감지를 참고하세요.
  7. 나머지 설정은 기본값을 유지해요.
  8. (선택 사항) 특정 사용 사례에 맞게 추가 설정을 구성하려면 페이지 왼쪽의 Readme 파일 섹션을 참고하세요.
  9. 이 앱이 사용자 지정 IAM 역할을 만든다는 것을 확인합니다(I acknowledge that this app creates custom IAM roles) 옆의 확인란을 선택해요.
  10. **배포(Deploy)**를 선택해요.
  11. 새 애플리케이션의 페이지에서 리소스(Resources) 아래에 있는 배포한 Lambda 함수의 **논리적 ID(Logical ID)**를 선택해 Lambda 함수 페이지에서 함수를 검토해요.

5단계: S3 Object Lambda 접근 지점 만들기

S3 Object Lambda 접근 지점은 S3 GET 요청에서 직접 Lambda 함수를 호출해 함수가 S3 접근 지점에서 검색한 PII 데이터를 편집할 수 있게 하는 유연성을 제공해요. S3 Object Lambda 접근 지점을 만들고 구성할 때 호출할 편집 Lambda 함수를 지정하고, Lambda가 사용할 사용자 지정 파라미터로 이벤트 컨텍스트를 JSON 형식으로 제공해야 해요.

이벤트 컨텍스트는 S3 Object Lambda에서 Lambda로 전달되는 이벤트에서 이루어지고 있는 요청에 대한 정보를 제공해요. 이벤트 컨텍스트의 모든 필드에 대한 자세한 내용은 이벤트 컨텍스트 형식 및 사용법을 참고하세요.

S3 Object Lambda 접근 지점을 만들려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **Object Lambda 접근 지점(Object Lambda Access Points)**을 선택해요.
  3. Object Lambda 접근 지점(Object Lambda Access Points) 페이지에서 **Object Lambda 접근 지점 만들기(Create Object Lambda Access Point)**를 선택해요.
  4. **Object Lambda 접근 지점 이름(Object Lambda Access Point name)**에 사용하려는 Object Lambda 접근 지점의 이름을 입력해요(예: tutorial-pii-object-lambda-accesspoint).
  5. **지원 접근 지점(Supporting Access Point)**에서 3단계에서 만든 표준 접근 지점(예: tutorial-pii-access-point)을 입력하거나 찾아보고 **지원 접근 지점 선택(Choose supporting Access Point)**을 선택해요.
  6. **S3 API(S3 APIs)**에서 Lambda 함수가 처리할 S3 버킷의 객체를 검색하려면 GetObject를 선택해요.
  7. **Lambda 함수 호출(Invoke Lambda function)**에서 이 자습서의 경우 다음 두 옵션 중 하나를 선택할 수 있어요.
    • **계정의 함수에서 선택(Choose from functions in your account)**을 선택하고 Lambda 함수(Lambda function) 드롭다운 목록에서 4단계에서 배포한 Lambda 함수(예: serverlessrepo-ComprehendPiiRedactionS3ObjectLambda)를 선택해요.
    • **ARN 입력(Enter ARN)**을 선택한 다음 4단계에서 만든 Lambda 함수의 Amazon 리소스 이름(ARN)을 입력해요.
  8. **Lambda 함수 버전(Lambda function version)**에서 $LATEST(4단계에서 배포한 Lambda 함수의 최신 버전)를 선택해요.
  9. (선택 사항) Lambda 함수가 range 및 part number 헤더가 있는 GET 요청을 인식하고 처리해야 한다면 **Lambda 함수가 range를 사용하는 요청을 지원합니다(Lambda function supports requests using range)**와 **Lambda 함수가 part number를 사용하는 요청을 지원합니다(Lambda function supports requests using part numbers)**를 선택해요. 그렇지 않으면 이 두 확인란을 지워요. S3 Object Lambda에서 range 또는 part number를 사용하는 방법에 대한 자세한 내용은 Range 및 partNumber 헤더 사용을 참고하세요.
  10. (선택 사항) 페이로드 - 선택 사항(Payload - optional) 아래에 Lambda 함수에 추가 정보를 제공할 JSON 텍스트를 추가해요. 페이로드는 특정 S3 Object Lambda 접근 지점에서 오는 모든 호출에 대해 Lambda 함수에 입력으로 제공할 수 있는 선택적 JSON 텍스트예요. 같은 Lambda 함수를 호출하는 여러 Object Lambda 접근 지점의 동작을 사용자 지정하려면 서로 다른 파라미터로 페이로드를 구성해 Lambda 함수의 유연성을 확장할 수 있어요. 페이로드에 대한 자세한 내용은 이벤트 컨텍스트 형식 및 사용법을 참고하세요.
  11. (선택 사항) **요청 지표 - 선택 사항(Request metrics - optional)**에서 비활성화(Disable) 또는 **활성화(Enable)**를 선택해 Object Lambda 접근 지점에 Amazon S3 모니터링을 추가해요. 요청 지표는 표준 Amazon CloudWatch 요율로 청구돼요. 자세한 내용은 CloudWatch 요금을 참고하세요.
  12. Object Lambda 접근 지점 정책 - 선택 사항(Object Lambda Access Point policy - optional) 아래에서 기본 설정을 유지해요.
  13. (선택 사항) 리소스 정책을 설정할 수 있어요. 이 리소스 정책은 지정된 Object Lambda 접근 지점을 사용할 GetObject API 권한을 부여해요.
  14. 나머지 설정은 기본값을 유지하고 **Object Lambda 접근 지점 만들기(Create Object Lambda Access Point)**를 선택해요.

6단계: S3 Object Lambda 접근 지점으로 편집된 파일 검색

이제 S3 Object Lambda가 원본 파일에서 PII 데이터를 편집할 준비가 됐어요.

S3 Object Lambda 접근 지점으로 편집된 파일을 검색하려면

S3 Object Lambda 접근 지점을 통해 파일 검색을 요청하면 S3 Object Lambda에 GetObject API 호출을 하는 거예요. S3 Object Lambda가 Lambda 함수를 호출해 여러분의 PII 데이터를 편집하고, 변환된 데이터를 표준 S3 GetObject API 호출의 응답으로 반환해요.

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 Object Lambda 접근 지점을 선택해요.
  3. Object Lambda 접근 지점(Object Lambda Access Points) 페이지에서 5단계에서 만든 S3 Object Lambda 접근 지점(예: tutorial-pii-object-lambda-accesspoint)을 선택해요.
  4. S3 Object Lambda 접근 지점의 객체(Objects) 탭에서 2단계에서 S3 버킷에 업로드한 것과 같은 이름(예: tutorial.txt)의 파일을 선택해요. 이 파일에는 모든 변환된 데이터가 포함되어야 해요.
  5. 변환된 데이터를 보려면 열기(Open) 또는 **다운로드(Download)**를 선택해요.

다음 예제처럼 편집된 파일이 보여야 해요.

Hello *********. Your AnyCompany Financial Services, 
LLC credit card account ******************* has a minimum payment 
of $24.53 that is due by *********. Based on your autopay settings, 
we will withdraw your payment on the due date from your 
bank account ********** with the routing number *********. 

Your latest statement was mailed to **********************************. 
After your payment is received, you will receive a confirmation 
text message at ************. 
If you have questions about your bill, AnyCompany Customer Service 
is available by phone at ************ or 
email at **********************.

7단계: 정리

학습 목적으로만 S3 Object Lambda로 데이터를 편집했다면 할당한 AWS 리소스를 삭제해 더 이상 요금이 발생하지 않게 해요.

하위 단계

  • Object Lambda 접근 지점 삭제
  • S3 접근 지점 삭제
  • Lambda 함수 삭제
  • CloudWatch 로그 그룹 삭제
  • S3 소스 버킷의 원본 파일 삭제
  • S3 소스 버킷 삭제
  • Lambda 함수용 IAM 역할 삭제
  • IAM 사용자용 사용자 관리형 정책 삭제
  • IAM 사용자 삭제

Object Lambda 접근 지점을 삭제하려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 Object Lambda 접근 지점을 선택해요.
  3. Object Lambda 접근 지점(Object Lambda Access Points) 페이지에서 5단계에서 만든 S3 Object Lambda 접근 지점(예: tutorial-pii-object-lambda-accesspoint) 왼쪽에 있는 옵션 버튼을 선택해요.
  4. **삭제(Delete)**를 선택해요.
  5. 나타나는 텍스트 필드에 이름을 입력해 Object Lambda 접근 지점을 삭제할 것임을 확인하고 **삭제(Delete)**를 선택해요.

S3 접근 지점을 삭제하려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **접근 지점(Access Points)**을 선택해요.
  3. 3단계에서 만든 접근 지점(예: tutorial-pii-access-point)으로 이동해 접근 지점 이름 옆의 옵션 버튼을 선택해요.
  4. **삭제(Delete)**를 선택해요.
  5. 나타나는 텍스트 필드에 이름을 입력해 접근 지점을 삭제할 것임을 확인하고 **삭제(Delete)**를 선택해요.

Lambda 함수를 삭제하려면

  1. https://console.aws.amazon.com/lambda/ 의 AWS Lambda 콘솔에서 왼쪽 탐색 창의 **함수(Functions)**를 선택해요.
  2. 4단계에서 만든 함수(예: serverlessrepo-ComprehendPiiRedactionS3ObjectLambda)를 선택해요.
  3. **작업(Actions)**을 선택한 다음 **삭제(Delete)**를 선택해요.
  4. 함수 삭제(Delete function) 대화 상자에서 **삭제(Delete)**를 선택해요.

CloudWatch 로그 그룹을 삭제하려면

  1. https://console.aws.amazon.com/cloudwatch/ 에서 CloudWatch 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **로그 그룹(Log groups)**을 선택해요.
  3. 4단계에서 만든 Lambda 함수(예: serverlessrepo-ComprehendPiiRedactionS3ObjectLambda)로 끝나는 이름의 로그 그룹을 찾아요.
  4. **작업(Actions)**을 선택한 다음 **로그 그룹 삭제(Delete log group(s))**를 선택해요.
  5. 로그 그룹 삭제(Delete log group(s)) 대화 상자에서 **삭제(Delete)**를 선택해요.

S3 소스 버킷의 원본 파일을 삭제하려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **버킷(Buckets)**을 선택해요.
  3. 버킷 이름(Bucket name) 목록에서 2단계에서 원본 파일을 업로드한 버킷 이름(예: tutorial-bucket)을 선택해요.
  4. 삭제하려는 객체(예: tutorial.txt) 이름 왼쪽의 확인란을 선택해요.
  5. **삭제(Delete)**를 선택해요.
  6. 객체 삭제(Delete objects) 페이지의 객체를 영구 삭제하시겠습니까?(Permanently delete objects?) 섹션에서 텍스트 상자에 permanently delete를 입력해 이 객체를 삭제할 것임을 확인해요.
  7. **객체 삭제(Delete objects)**를 선택해요.

S3 소스 버킷을 삭제하려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **버킷(Buckets)**을 선택해요.
  3. 버킷(Buckets) 목록에서 1단계에서 만든 버킷(예: tutorial-bucket) 이름 옆의 옵션 버튼을 선택해요.
  4. **삭제(Delete)**를 선택해요.
  5. 버킷 삭제(Delete bucket) 페이지에서 텍스트 필드에 버킷 이름을 입력해 버킷을 삭제할 것임을 확인하고 **버킷 삭제(Delete bucket)**를 선택해요.

Lambda 함수용 IAM 역할을 삭제하려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **역할(Roles)**을 선택한 다음 삭제하려는 역할 이름 옆의 확인란을 선택해요. 역할 이름은 4단계에서 배포한 Lambda 함수 이름(예: serverlessrepo-ComprehendPiiRedactionS3ObjectLambda)으로 시작해요.
  3. **삭제(Delete)**를 선택해요.
  4. 삭제(Delete) 대화 상자의 텍스트 입력 필드에 역할 이름을 입력해 삭제를 확인해요. 그런 다음 **삭제(Delete)**를 선택해요.

IAM 사용자용 사용자 관리형 정책을 삭제하려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **정책(Policies)**을 선택해요.
  3. 정책(Policies) 페이지의 검색 상자에 전제 조건에서 만든 사용자 관리형 정책 이름(예: tutorial-serverless-application-repository)을 입력해 정책 목록을 필터링해요. 삭제하려는 정책 이름 옆의 옵션 버튼을 선택해요.
  4. **작업(Actions)**을 선택한 다음 **삭제(Delete)**를 선택해요.
  5. 나타나는 텍스트 필드에 이름을 입력해 이 정책을 삭제할 것임을 확인하고 **삭제(Delete)**를 선택해요.

IAM 사용자를 삭제하려면

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 **사용자(Users)**를 선택한 다음 삭제하려는 사용자 이름 옆의 확인란을 선택해요.
  3. **삭제(Delete)**를 선택해요.
  4. 사용자 이름 삭제(Delete user name)? 대화 상자의 텍스트 입력 필드에 사용자 이름을 입력해 사용자 삭제를 확인해요. **삭제(Delete)**를 선택해요.

다음 단계

이 자습서를 완료한 뒤 다음 관련 사용 사례를 더 살펴볼 수 있어요.

  • 데이터 접근자의 비즈니스 요구에 따라 특정 유형의 PII를 편집하도록 다르게 구성된 기성 Lambda 함수로 여러 S3 Object Lambda 접근 지점을 만들고 활성화할 수 있어요. 각 사용자 유형은 IAM 역할을 수임하고 하나의 S3 Object Lambda 접근 지점에만 접근할 수 있어요(iam 정책으로 관리됨). 그런 다음 서로 다른 편집 사용 사례에 구성된 각 ComprehendPiiRedactionS3ObjectLambda Lambda 함수를 서로 다른 S3 Object Lambda 접근 지점에 연결해요. 각 S3 Object Lambda 접근 지점에 대해 공유 데이터셋을 저장하는 S3 버킷에서 데이터를 읽는 지원 S3 접근 지점을 가질 수 있어요.
  • 사용자가 S3 접근 지점을 통해서만 버킷에서 읽을 수 있게 하는 S3 버킷 정책을 만드는 방법에 대한 자세한 내용은 접근 지점 사용을 위한 IAM 정책 구성을 참고하세요.
  • 사용자에게 Lambda 함수, S3 접근 지점, S3 Object Lambda 접근 지점에 대한 접근 권한을 부여하는 방법에 대한 자세한 내용은 Object Lambda 접근 지점용 IAM 정책 구성을 참고하세요.
  • 여러분만의 Lambda 함수를 만들고 맞춤형 Lambda 함수와 함께 S3 Object Lambda를 사용해 특정 데이터 요구를 충족할 수 있어요. 예를 들어 다양한 데이터 값을 탐색하려면 엔터티 인식, 핵심 구문 인식, 감성 분석, 문서 분류 같은 추가 Amazon Comprehend 기능을 사용하는 여러분만의 Lambda 함수와 S3 Object Lambda를 사용해 데이터를 처리할 수 있어요. 또한 HIPAA 적격 NLP 서비스인 Amazon Comprehend Medical과 함께 S3 Object Lambda를 사용해 컨텍스트를 인식하는 방식으로 데이터를 분석하고 추출할 수도 있어요.
  • S3 Object Lambda와 여러분만의 Lambda 함수로 데이터를 변환하는 방법에 대한 자세한 내용은 S3 Object Lambda로 애플리케이션용 데이터 변환 자습서를 참고하세요.

더 알아보기 (Learn more)