자습서: S3 객체 Lambda 및 Amazon Comprehend를 사용하여 PII 데이터 감지 및 수정 - Amazon Simple Storage Service

자습서: S3 객체 Lambda 및 Amazon Comprehend를 사용하여 PII 데이터 감지 및 수정

여러 애플리케이션과 사용자가 액세스할 수 있도록 공유 데이터 집합에 Amazon S3를 사용하는 경우 개인 식별 정보(PII)와 같이 권한 있는 정보를 승인된 엔터티로만 제한하는 것이 중요합니다. 예를 들어 마케팅 애플리케이션에서 PII가 포함된 일부 데이터를 사용하는 경우 데이터 개인 정보 보호 요구 사항을 충족하기 위해 먼저 PII 데이터를 마스킹해야 할 수 있습니다. 또한 분석 애플리케이션이 생산 주문 인벤토리 데이터 집합을 사용하는 경우 의도하지 않은 데이터 유출을 방지하기 위해 먼저 고객 신용 카드 정보를 수정해야 할 수 있습니다.

S3 객체 Lambda와 Amazon Comprehend에서 제공하는 사전 빌드된 AWS Lambda 함수를 사용하면 애플리케이션으로 반환하기 전에 S3에서 검색된 PII 데이터를 보호할 수 있습니다. 특히 사전 빌드된 Lambda 함수를 수정 함수로 사용하여 S3 객체 Lambda 액세스 포인트에 연결할 수 있습니다. 애플리케이션(예: 분석 애플리케이션)이 표준 S3 GET 요청을 전송하는 경우, S3 객체 Lambda 액세스 포인트를 통해 수행된 이러한 요청은 사전 빌드된 수정 Lambda 함수를 호출하여 지원 S3 액세스 포인트를 통해 S3 버킷에서 검색된 PII 데이터를 감지하고 수정합니다. 그런 다음 S3 객체 Lambda 액세스 포인트가 수정된 결과를 애플리케이션에 다시 반환합니다.

이는 S3 객체 Lambda 워크플로 다이어그램입니다.

프로세스에서 사전 빌드된 Lambda 함수는 자연어 처리(NLP) 서비스인 Amazon Comprehend를 사용하여 PII가 텍스트에 존재하는 방식(예: 숫자 또는 단어와 숫자의 조합)에 관계없이 PII가 표현되는 방식의 변형을 캡처할 수 있습니다. Amazon Comprehend는 텍스트에서 컨텍스트를 사용하여 4자리 숫자가 PIN인지, SSN(사회 보장 번호)의 마지막 4자리 숫자나 연도인지 파악할 수도 있습니다. Amazon Comprehend는 모든 텍스트 파일을 UTF-8 형식으로 처리하며 정확성에 영향을 주지 않고 대규모로 PII를 보호할 수 있습니다. 자세한 내용은 Amazon Comprehend 개발자 가이드Amazon Comprehend란 무엇입니까?를 참조하십시오.

목표

이 자습서에서는 사전 빌드된 Lambda 함수 ComprehendPiiRedactionS3ObjectLambda와 함께 S3 객체 Lambda를 사용하는 방법에 대해 알아봅니다. 이 함수는 Amazon Comprehend를 사용하여 PII 엔터티를 감지합니다. 그런 다음 별표로 대체하여 이러한 엔티티를 수정합니다. PII를 수정하면 보안 및 규정 준수에 도움이 되는 민감한 데이터를 숨길 수 있습니다.

또한 쉬운 배포를 위해 S3 Object Lambda와 함께 작동하도록 AWS Serverless Application Repository에서 사전 빌드된 AWS Lambda 함수를 사용하고 구성하는 방법에 대해 학습합니다.

사전 조건: 권한이 있는 IAM 사용자 생성

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

그 대신 자습서의 IAM 사용자 자격 증명을 사용하면 됩니다. 이 자습서를 완료하려면 IAM 사용자가 다음 IAM 정책을 연결하여 관련 AWS 리소스에 액세스하고 특정 작업을 수행해야 합니다.

참고

편의상 이 자습서에서는 IAM 사용자를 생성해 사용합니다. 이 자습서를 완료하면 IAM 사용자 삭제를 수행해야 합니다. 프로덕션 용도로는 IAM 사용 설명서에서 IAM의 보안 모범 사례를 따르는 것이 좋습니다. 가장 좋은 방법은 인간 사용자가 ID 제공업체와의 페더레이션을 사용하여 임시 보안 인증으로 AWS에 액세스하도록 하는 것입니다. 워크로드에서 IAM 역할과 함께 임시 보안 인증을 사용하여 AWS에 액세스하도록 하는 것도 좋은 방법입니다. AWS IAM Identity Center를 사용하여 임시 보안 인증으로 사용자를 생성하는 방법에 대해 알아보려면 AWS IAM Identity Center 사용 설명서Getting started(시작하기)를 참조하십시오.

이 자습서에서는 편의상 전체 액세스 정책을 사용합니다. 프로덕션 사용 용도의 경우 보안 모범 사례에 따라 사용 사례에 필요한 최소한의 권한만 부여하는 것이 좋습니다.

IAM 사용자에게는 다음의 AWS 관리형 정책이 필요합니다.

  • AmazonS3FullAccess - 객체 Lambda 액세스 포인트를 생성하고 사용할 수 있는 권한을 포함하여 모든 Amazon S3 작업에 권한을 부여합니다.

  • AWSLambda_FullAccess - 모든 Lambda 작업에 권한을 부여합니다.

  • AWSCloudFormationFullAccess - 모든 AWS CloudFormation 작업에 권한을 부여합니다.

  • IAMFullAccess - 모든 IAM 작업에 권한을 부여합니다.

  • IAMAccessAnalyzerReadOnlyAccess - IAM 액세스 분석기에서 제공하는 모든 액세스 정보를 읽을 수 있는 권한을 부여합니다.

IAM 사용자를 생성할 때 이러한 기존 정책을 직접 연결할 수 있습니다. IAM 사용자를 생성하는 방법에 대한 자세한 내용은 IAM 사용 설명서IAM 사용자 생성(콘솔)을 참조하십시오.

또한 IAM 사용자에게는 고객 관리형 정책이 필요합니다. IAM 사용자에게 AWS Serverless Application Repository 리소스 및 작업에 대한 모든 권한을 부여하려면 IAM 정책을 생성하고 이 정책을 IAM 사용자에게 연결해야 합니다.

IAM 정책을 생성하여 IAM 사용자에게 연결하려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 정책을 선택합니다.

  3. 정책 생성을 선택합니다.

  4. 시각적 편집기(Visual editor) 탭의 서비스에서 서비스 선택(Choose a service)을 선택합니다. 그런 다음 Serverless Application Repository를 선택합니다.

  5. 작업(Actions)수동 작업(Manual actions)에서 이 자습서의 모든 Serverless Application Repository 작업(serverlessrepo:*)을 선택합니다.

    보안 모범 사례에 따라 사용 사례에 필요한 작업과 리소스에만 권한을 허용해야 합니다. 자세한 내용은 IAM 사용 설명서IAM의 보안 모범 사례를 참조하십시오.

  6. 리소스(Resources)에서, 이 자습서에 대해 모든 리소스(All resources)를 선택합니다.

    최선의 결과를 위해 특정 계정의 특정 리소스에 대한 권한만 정의해야 합니다. 또는 조건 키를 사용하여 최소 권한을 부여할 수도 있습니다. 자세한 내용은 IAM 사용 설명서최소 권한 부여를 참조하십시오.

  7. 다음: 태그를 선택합니다.

  8. 다음: 검토를 선택합니다.

  9. 정책 검토(Review policy) 페이지에서, 생성하는 정책에 대한 이름(예: tutorial-serverless-application-repository)과 설명(선택 사항)을 입력합니다. 정책 요약을 검토하여 의도한 권한이 부여되었는지 확인한 다음 정책 생성을 선택하여 새 정책을 저장합니다.

  10. 왼쪽 탐색 창에서 사용자를 선택합니다. 그런 다음 이 자습서에 대해 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 버킷 생성

버킷을 생성하여 변환하려는 원본 데이터를 저장합니다.

버킷을 생성하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

  3. 버킷 만들기를 선택합니다.

    버킷 만들기 페이지가 열립니다.

  4. 버킷 이름(Bucket Name)에서 버킷 이름을 입력합니다(예: tutorial-bucket).

    Amazon S3의 버킷 이름 지정 규칙에 대한 자세한 내용은 버킷 이름 지정 규칙 섹션을 참조하세요.

  5. 리전(Region)에서 버킷이 속할 AWS 리전을 선택합니다.

    버킷 리전에 대한 자세한 내용은 버킷 개요 섹션을 참조하세요.

  6. 이 버킷에 대한 퍼블릭 액세스 차단 설정(Block Public Access settings for this bucket)에서 해당 설정을 기본값으로 유지합니다(모든 퍼블릭 액세스 차단(Block all public access)이 활성화됨).

    해당 사용 사례에 대해 하나 이상의 설정을 해제해야 하는 경우가 아니라면 모든 설정을 퍼블릭 액세스 차단 설정 활성화 상태로 유지하는 것이 좋습니다. 퍼블릭 액세스 차단에 대한 자세한 내용은 Amazon S3 스토리지에 대한 퍼블릭 액세스 차단 섹션을 참조하십시오.

  7. 나머지 설정은 기본값으로 유지합니다.

    특정 사용 사례에 대한 추가 버킷 설정을 구성하려면 버킷 생성 섹션을 참조하십시오(선택 사항).

  8. 버킷 생성을 선택합니다.

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

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

예를 들어, 다음의 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 support@anycompany.com.
S3 버킷에 파일을 업로드하려면
  1. AWS Management Console에 로그인한 후 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. 업로드할 파일을 선택한 후 열기를 선택합니다. 예를 들어, 앞에서 언급한 tutorial.txt 파일 예제를 업로드할 수 있습니다.

  7. 업로드를 선택합니다.

3단계: S3 액세스 포인트 생성

S3 객체 Lambda 액세스 포인트를 사용하여 원본 데이터에 액세스하고 변환하려면 S3 액세스 포인트를 생성하고 1단계에서 생성한 S3 버킷에 연결해야 합니다. 액세스 포인트는 변환하려는 객체와 동일한 AWS 리전에 있어야 합니다.

이 자습서의 뒷부분에서 이 액세스 포인트를 객체 Lambda 액세스 포인트에 대한 지원 액세스 포인트로 사용합니다.

액세스 포인트 생성
  1. AWS Management Console에 로그인한 후 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).

    액세스 포인트 명명에 대한 자세한 내용은 Amazon S3 액세스 포인트 이름 지정 규칙 섹션을 참조하십시오.

  5. 버킷(Buckets) 필드에서, 1단계에서 생성한 버킷의 이름을 입력합니다(예: tutorial-bucket). S3는 액세스 포인트를 이 버킷에 연결합니다.

    (선택 사항) S3 찾아보기(Browse S3)를 선택하여 계정의 버킷을 찾아보고 검색할 수 있습니다. S3 찾아보기(Browse S3)를 선택할 경우 원하는 버킷을 선택한 후 경로 선택(Choose path)을 선택하여 버킷 이름(Bucket name) 필드를 해당 버킷의 이름으로 채웁니다.

  6. 네트워크 오리진(Network origin)에서 인터넷(Internet)을 선택합니다.

    액세스 포인트의 네트워크 오리진에 대한 자세한 내용은 Virtual Private Cloud(VPC)로 제한된 액세스 포인트 생성 섹션을 참조하십시오.

  7. 액세스 포인트에는 기본값으로 모든 퍼블릭 액세스 차단 설정이 활성화되어 있습니다. 모든 퍼블릭 액세스 차단(Block all public access) 설정을 활성화 상태로 유지하는 것이 좋습니다. 자세한 정보는 액세스 포인트에 대한 퍼블릭 액세스 관리을 참조하세요.

  8. 다른 모든 액세스 포인트 설정의 경우 기본 설정을 그대로 유지합니다.

    (선택 사항) 사용 사례를 지원하도록 액세스 포인트 설정을 수정할 수 있습니다. 이 자습서에서는 기본 설정을 그대로 유지하는 것이 좋습니다.

    (선택 사항) 액세스 포인트에 대한 액세스를 관리해야 하는 경우 액세스 포인트 정책을 지정할 수 있습니다. 자세한 정보는 액세스 포인트 정책 예제을 참조하세요.

  9. 액세스 포인트 생성을 선택합니다.

4단계: 사전 빌드된 Lambda 함수 구성 및 배포

PII 데이터를 수정하려면 S3 객체 Lambda 액세스 포인트와 함께 사용할 사전 빌드된 AWS Lambda 함수 ComprehendPiiRedactionS3ObjectLambda를 구성하고 배포합니다.

Lambda 함수를 구성하고 배포하려면
  1. AWS Management Console에 로그인한 후에 AWS Serverless Application Repository에서 ComprehendPiiRedactionS3ObjectLambda 함수를 확인합니다.

  2. 애플리케이션 설정(Application settings)애플리케이션 이름(Application name)에서 이 자습서의 기본 값(ComprehendPiiRedactionS3ObjectLambda)을 그대로 유지합니다.

    (선택 사항) 이 애플리케이션에 부여할 이름을 입력할 수 있습니다. 동일한 공유 데이터 집합에 대한 서로 다른 액세스 요구에 대해 여러 Lambda 함수를 구성하려는 경우 이 작업을 수행할 수 있습니다.

  3. MaskCharacter에서 기본값(*)을 그대로 유지합니다. 마스크 문자는 수정된 PII 엔터티의 각 문자를 대체합니다.

  4. MaskMode에서 기본값(MASK)을 그대로 유지합니다. MaskMode 값은 PII 엔터티가 MASK문자 또는 PII_ENTITY_TYPE 값으로 수정되는지 여부를 지정합니다.

  5. 지정된 유형의 데이터를 수정하기 위해 PiiEntityTypes에서 기본값(모두(ALL))을 그대로 유지합니다. PiiEntityTypes 값은 수정을 고려할 PII 엔터티 유형을 지정합니다.

    지원되는 PII 엔터티 유형 목록에 대한 자세한 내용은 Amazon Comprehend 개발자 가이드개인 식별 정보(PII) 감지를 참조하십시오.

  6. 나머지 설정은 기본값으로 유지합니다.

    특정 사용 사례에 대한 추가 설정을 구성하려면 페이지 왼쪽의 Readme 파일 섹션을 참조하십시오.

  7. I acknowledge that this app creates custom IAM roles(이 앱이 사용자 지정 IAM 역할을 생성하는 것을 확인) 옆 확인란을 선택합니다.

  8. [배포]를 선택합니다.

  9. 새 애플리케이션 페이지의 리소스(Resources)에서, Lambda 함수 페이지에서 함수를 검토하기 위해 배포한 Lambda 함수의 논리 ID(Logical ID)를 선택합니다.

5단계: S3 객체 Lambda 액세스 포인트 생성

S3 객체 Lambda 액세스 포인트는 해당 함수가 S3 액세스 포인트에서 검색된 PII 데이터를 수정할 수 있도록 S3 GET 요청에서 직접 Lambda 함수를 호출할 수 있는 유연성을 제공합니다. S3 객체 Lambda 액세스 포인트를 생성하고 구성하는 경우, 수정 Lambda 함수를 지정하여 Lambda가 사용할 사용자 지정 파라미터로 JSON 형식의 이벤트 컨텍스트를 호출하고 제공해야 합니다.

이벤트 컨텍스트는 S3 객체 Lambda에서 Lambda로 전달된 이벤트에서 수행되는 요청에 대한 정보를 제공합니다. 이벤트 컨텍스트의 모든 필드에 대한 자세한 내용은 이벤트 컨텍스트 형식 및 사용법 섹션을 참조하십시오.

S3 객체 Lambda 액세스 포인트를 생성하는 방법
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 객체 Lambda 액세스 포인트(Object Lambda Access Points)를 선택합니다.

  3. 객체 Lambda 액세스 포인트(Object Lambda Access Points) 페이지에서 객체 Lambda 액세스 포인트 생성(Create Object Lambda Access Point)을 선택합니다.

  4. 객체 Lambda 액세스 포인트 이름에서 객체 Lambda 액세스 포인트에 사용할 이름을 입력합니다(예: tutorial-pii-object-lambda-accesspoint).

  5. 지원 액세스 포인트(Supporting Access Point)에서, 3단계에서 생성한 표준 액세스 포인트(예: tutorial-pii-access-point)를 입력하거나 검색한 후 지원 액세스 포인트 선택(Choose supporting Access Point).을 선택합니다.

  6. S3 API의 경우, 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 함수가 범위 및 부분 번호 헤더가 있는 GET 요청을 인식하고 처리해야 하는 경우 Lambda 함수는 범위를 사용하여 요청을 지원합니다(Lambda function supports requests using range)Lambda 함수는 부분 번호를 사용하여 요청을 지원합니다(Lambda function supports requests using part numbers)를 선택합니다. 그렇지 않으면 이 두 확인란의 선택을 취소합니다.

    S3 객체 Lambda에서 범위 또는 부분 번호를 사용하는 방법에 대한 자세한 내용은 Range 및 partNumber 헤더 작업 섹션을 참조하십시오.

  10. (선택 사항) 페이로드 - 선택 사항(Payload - optional)에서, Lambda 함수에 추가 정보를 제공하는 JSON 텍스트를 추가합니다.

    페이로드는 특정 S3 객체 Lambda 액세스 포인트에서 오는 모든 호출에 대한 입력으로 Lambda 함수에 제공할 수 있는 선택적 JSON 텍스트입니다. 동일한 Lambda 함수를 호출하는 여러 객체 Lambda 액세스 포인트에 대해 사용자 지정하기 위해 서로 다른 파라미터를 사용하여 페이로드를 구성할 수 있으므로 Lambda 함수의 유연성을 높일 수 있습니다.

    페이로드에 대한 자세한 내용은 이벤트 컨텍스트 형식 및 사용법 섹션을 참조하십시오.

  11. 요청 지표 - 선택 사항에서 비활성화 또는 활성화를 선택하여 객체 Lambda 액세스 포인트에 Amazon S3 모니터링을 추가합니다(선택 사항). 요청 지표는 표준 Amazon CloudWatch 요금으로 청구됩니다. 자세한 내용은 CloudWatch 요금을 참조하십시오.

  12. 객체 Lambda 액세스 포인트 정책 - 선택 사항(Object Lambda Access Point policy - optional)에서 기본 설정을 그대로 유지합니다.

    리소스 정책을 설정할 수 있습니다(선택 사항). 이 리소스 정책은 지정된 객체 Lambda 액세스 포인트를 사용할 수 있는 권한을 GetObject API에 부여합니다.

  13. 나머지 설정은 기본값으로 유지하고 객체 Lambda 액세스 포인트 생성(Create Object Lambda Access Point)을 선택합니다.

6단계: S3 객체 Lambda 액세스 포인트를 사용하여 수정된 파일 검색

이제 S3 객체 Lambda가 원본 파일에서 PII 데이터를 수정할 준비가 되었습니다.

S3 객체 Lambda 액세스 포인트를 사용하여 수정된 파일을 검색하려면

S3 객체 Lambda 액세스 포인트를 통해 파일을 검색하도록 요청할 때 S3 객체 Lambda에 대한 GetObject API 호출을 수행합니다. S3 객체 Lambda는 Lambda 함수를 호출하여 PII 데이터를 수정하고 변환된 데이터를 표준 S3 GetObject API 호출에 대한 응답으로 반환합니다.

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 객체 Lambda 액세스 포인트(Object Lambda Access Points)를 선택합니다.

  3. 객체 Lambda 액세스 포인트 페이지에서 5단계에서 생성한 S3 객체 Lambda 액세스 포인트를 선택합니다(예: tutorial-pii-object-lambda-accesspoint).

  4. S3 객체 Lambda 액세스 포인트의 객체 탭에서 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 객체 Lambda를 통해 데이터를 수정한 경우에는 요금이 발생하지 않도록 할당한 AWS 리소스를 삭제합니다.

객체 Lambda 액세스 포인트 삭제

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 객체 Lambda 액세스 포인트(Object Lambda Access Points)를 선택합니다.

  3. 객체 Lambda 액세스 포인트 페이지에서 5단계에서 생성한 S3 객체 Lambda 액세스 포인트 왼쪽에 있는 옵션 버튼을 선택합니다(예: tutorial-pii-object-lambda-accesspoint).

  4. 삭제를 선택합니다.

  5. 표시되는 텍스트 필드에 객체 Lambda 액세스 포인트 이름을 입력하여 삭제 여부를 확인하고 삭제를 선택합니다.

S3 액세스 포인트 삭제

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 탐색 창에서 액세스 포인트(Access Points)를 선택합니다.

  3. 3단계에서 생성한 액세스 포인트(예: tutorial-pii-access-point)로 이동한 후 액세스 포인트 이름 옆에 있는 옵션 버튼을 선택합니다.

  4. 삭제를 선택합니다.

  5. 표시되는 텍스트 필드에 액세스 포인트 이름을 입력하여 삭제 여부를 확인하고 삭제(Delete)를 선택합니다.

Lambda 함수 삭제

  1. https://console.aws.amazon.com/lambda/에 있는 AWS Lambda 콘솔의 왼쪽 탐색 창에서 함수(Functions)를 선택합니다.

  2. 4단계에서 생성한 함수(예: serverlessrepo-ComprehendPiiRedactionS3ObjectLambda)를 선택합니다.

  3. 작업을 선택한 후 삭제를 선택합니다.

  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 Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

  3. 버킷 이름(Bucket name) 목록에서, 2단계에서 원본 파일을 업로드한 버킷의 이름을 선택합니다(예: tutorial-bucket).

  4. 삭제할 객체의 이름 왼쪽에 있는 확인란을 선택합니다(예: tutorial.txt).

  5. 삭제를 선택합니다.

  6. 객체 삭제(Delete objects) 페이지의 객체를 영구적으로 삭제하시겠습니까?(Permanently delete objects?) 섹션에서 텍스트 상자에 permanently delete를 입력하여 이 객체의 삭제 여부를 확인합니다.

  7. 객체 삭제를 선택합니다.

S3 소스 버킷 삭제

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

  3. 버킷(Buckets) 목록에서, 1단계에서 생성한 버킷의 이름 옆에 있는 옵션 버튼을 선택합니다(예: tutorial-bucket).

  4. 삭제를 선택합니다.

  5. 버킷 삭제(Delete objects) 페이지의 텍스트 필드에 버킷 이름을 입력하여 버킷의 삭제 여부를 확인한 다음 버킷 삭제(Delete bucket)를 선택합니다.

Lambda 함수용 IAM 역할 삭제

  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할(Roles)을 선택한 후 삭제할 역할 이름 옆에 있는 확인란을 선택합니다. 역할 이름은 4단계에서 배포한 Lambda 함수의 이름으로 시작합니다(예: serverlessrepo-ComprehendPiiRedactionS3ObjectLambda).

  3. 삭제를 선택합니다.

  4. 삭제(Delete) 대화 상자에서 텍스트 입력 필드에 역할 이름을 입력하여 삭제 여부를 확인합니다. 그런 다음 삭제를 선택합니다.

IAM 사용자용 고객 관리형 정책 삭제

  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 정책을 선택합니다.

  3. 정책(Policies) 페이지의 검색 상자에서, 사전 조건(Prerequisites)에서 생성한 고객 관리형 정책의 이름(예: tutorial-serverless-application-repository)을 입력하여 정책 목록을 필터링합니다. 삭제할 정책 이름 옆에 있는 옵션 버튼을 선택합니다.

  4. 작업을 선택한 후 삭제를 선택합니다.

  5. 표시되는 텍스트 필드에 해당 이름을 입력하여 이 정책의 삭제 여부를 확인하고 삭제(Delete)를 선택합니다.

IAM 사용자 삭제

  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 사용자(Users)를 선택한 후 삭제할 사용자 이름 옆에 있는 확인란을 선택합니다.

  3. 페이지 상단에서 삭제(Delete)를 선택합니다.

  4. 사용자 이름을 삭제하시겠습니까?(Delete user name?) 대화 상자에서 텍스트 입력 필드에 역할 이름을 입력하여 사용자의 삭제 여부를 확인합니다. 삭제를 선택합니다.

다음 단계

이 자습서를 완료한 후에는 다음과 같은 관련 사용 사례를 더 자세히 탐색할 수 있습니다.

  • 여러 S3 객체 Lambda 액세스 포인트를 생성하고 데이터 접근자의 비즈니스 요구에 따라 특정 유형의 PII를 수정하도록 다르게 구성된 사전 빌드된 Lambda 함수를 사용하여 이 액세스 포인트를 활성화할 수 있습니다.

    각 유형의 사용자는 IAM 역할을 수임하고 하나의 S3 객체 Lambda 액세스 포인트(IAM 정책을 통해 관리됨)에만 액세스할 수 있습니다. 그런 다음 다른 수정 사용 사례에 대해 구성된 각 ComprehendPiiRedactionS3ObjectLambda Lambda 함수를 다른 S3 객체 Lambda 액세스 포인트에 연결합니다. 각 S3 객체 Lambda 액세스 포인트에 대해 공유 데이터 집합을 저장하는 S3 버킷에서 데이터를 읽을 수 있는 지원 S3 액세스 포인트를 소유할 수 있습니다.

    사용자가 S3 액세스 포인트를 통해서만 버킷에서 읽을 수 있도록 허용하는 S3 버킷 정책을 생성하는 방법에 대한 자세한 내용은 액세스 포인트를 사용하도록 IAM 정책 구성 섹션을 참조하십시오.

    Lambda 함수, S3 액세스 포인트 및 S3 객체 Lambda 액세스 포인트에 액세스할 수 있는 권한을 사용자에게 부여하는 방법에 대한 자세한 내용은 객체 Lambda 액세스 포인트에 대한 IAM 정책 구성 섹션을 참조하십시오.

  • 자체 Lambda 함수를 구축하고 사용자 지정된 Lambda 함수와 함께 S3 객체 Lambda를 사용하여 특정 데이터 요구 사항을 충족할 수 있습니다.

    예를 들어 다양한 데이터 값을 탐색하려면 S3 객체 Lambda와 추가적인 Amazon Comprehend 기능(예: 엔터티 인식, 핵심 구문 인식, 감정 분석, 문서 분류)을 사용하는 자체 Lambda 함수를 사용하여 데이터를 처리할 수 있습니다. 또한 S3 객체 Lambda를 Amazon Comprehend Medical(HIPAA 적격 NLP 서비스)과 함께 사용하여 컨텍스트 인식 방식으로 데이터를 분석하고 추출할 수 있습니다.

    S3 객체 Lambda 및 자체 Lambda 함수를 사용하여 데이터를 변환하는 방법에 대한 자세한 내용은 자습서: S3 객체 Lambda를 사용하여 애플리케이션의 데이터 변환 섹션을 참조하십시오.