View a markdown version of this page

비동기 작업을 위한 Amazon Textract 구성 - Amazon Textract

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

비동기 작업을 위한 Amazon Textract 구성

다음 절차에서는 Amazon Simple Notification Service(Amazon SNS) 주제 및 Amazon Simple Queue Service(Amazon SQS) 대기열과 함께 사용하도록 Amazon Textract를 구성하는 방법을 보여줍니다.

참고

이 지침을 사용하여 다중 페이지 문서에서 텍스트 감지 또는 분석 예제를 설정하는 경우 3~6단계를 수행할 필요가 없습니다. 이 예제에는 Amazon SNS 주제 및 Amazon SQS 대기열을 생성하고 구성하기 위한 코드가 포함되어 있습니다.

Amazon Textract를 구성하려면
  1. Amazon Textract에 액세스하도록 AWS 계정을 설정합니다. 자세한 내용은 1단계: AWS 계정 설정 및 사용자 만들기 단원을 참조하십시오.

    사용자에게 최소한 다음 권한이 있는지 확인합니다.

    • AmazonTextractFullAccess

    • AmazonS3ReadOnlyAccess

    • AmazonSNSFullAccess

    • AmazonSQSFullAccess

    또한 사용자에게 IAM 역할을 Amazon Textract에 전달할 수 있는 권한이 있는지 확인합니다. 이는 IAM PassRole 정책을 통해 수행됩니다. 이러한 정책의 간단한 예는 다음과 같습니다.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": {"iam:PassedToService": "textract.amazonaws.com"} } } ] }
  2. 필요한 AWS SDK를 설치하고 구성합니다. 자세한 내용은 2단계: AWS CLI 및 AWS SDKs 설정 단원을 참조하십시오.

  3. Amazon SNS 표준 주제를 생성합니다. AmazonTextract를 사용하여 주제 이름을 준비합니다. 주제 Amazon Resource Name(ARN)을 기록합니다. 주제가 AWS 계정에서 사용 중인 AWS 엔드포인트와 동일한 리전에 있는지 확인합니다.

  4. Amazon SQS 콘솔을 사용하여 Amazon SQS 표준 대기열을 생성합니다. 대기열 ARN을 기록합니다.

  5. 3단계에서 만든 주제에 대한 대기열을 구독합니다.

  6. Amazon SQS 대기열에 메시지를 전송하도록 Amazon SNS 주제에 권한을 부여합니다.

  7. IAM 서비스 역할을 생성하여 Amazon Textract에 Amazon SNS 주제에 대한 액세스 권한을 부여합니다. 서비스 역할의 Amazon Resource Name(ARN)을 적어둡니다. 자세한 내용은 Amazon SNS 주제에 대한 Amazon Textract 액세스 권한 부여 단원을 참조하십시오.

  8. 1단계에서 생성한 IAM 사용자에게 다음 인라인 정책을 추가합니다.

    인라인 정책에 이름을 지정합니다.

  9. 이제에서 예제를 실행할 수 있습니다다중 페이지 문서에서 텍스트 감지 또는 분석.

Amazon SNS 주제에 대한 Amazon Textract 액세스 권한 부여

Amazon Textract는 비동기 작업이 완료되면 Amazon SNS 주제에 메시지를 보낼 수 있는 권한이 필요합니다. IAM 서비스 역할을 사용하여 Amazon Textract에 Amazon SNS 주제에 대한 액세스 권한을 부여합니다.

Amazon SNS 주제를 생성할 때 주제 이름 앞에 AmazonTextract를 붙여야 합니다. 예: AmazonTextractMyTopicName.

  1. IAM 콘솔(https://console.aws.amazon.com/iam)에 로그인합니다.

  2. 탐색 창에서 Roles를 선택합니다.

  3. 역할 생성(Create role)을 선택합니다.

  4. 신뢰할 수 있는 엔터티 유형 선택에서 AWS 서비스를 선택합니다.

  5. 이 역할을 사용할 서비스 선택에서 Textract를 선택합니다.

  6. 다음: 권한을 선택합니다.

  7. AmazonTextractServiceRole 정책이 연결된 정책 목록에 포함되어 있는지 확인합니다. 목록에 정책을 표시하려면 필터 정책에 정책 이름의 일부를 입력합니다.

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

  9. 태그를 추가할 필요가 없으므로 Next: Review(다음: 검토)를 선택합니다.

  10. Review(검토) 섹션에서 Role name(역할 이름)에 역할의 이름을 입력합니다(예: TextractRole). 역할 설명에서 역할에 대한 설명을 업데이트한 다음 역할 생성을 선택합니다.

  11. 새 역할을 선택하여 역할의 세부 정보 페이지를 엽니다.

  12. Summary(요약)에서 Role ARN(역할 ARN) 값을 복사해 저장합니다.

  13. 신뢰 관계를 선택합니다.

  14. 신뢰 관계 편집을 선택하고 신뢰 정책을 편집합니다. 혼동된 대리자 문제를 방지하는 데 도움이 되므로 신뢰 정책에 필요한 리소스로만 권한 범위를 제한하는 조건이 포함되어 있는지 확인합니다. 이 잠재적 보안 문제에 대한 자세한 내용은 섹션을 참조하세요교차 서비스 혼동된 대리자 방지. 아래 예제에서 빨간색 텍스트를 계정 ID로 바꿉니다 AWS .

    JSON
    { "Version":"2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "textract.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn":"arn:aws:textract:*:123456789012:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }
  15. 신뢰 정책 업데이트를 선택합니다.

출력 구성에 대한 권한

비동기 API 작업의 OutputConfig 기능을 사용하여 Amazon Textract가 비동기 분석 작업의 결과를 지정된 Amazon S3 버킷으로 전송하도록 할 수 있습니다. 비동기 분석 작업에 OutputConfig 옵션을 사용하여 작업의 출력이 전송되는 위치를 사용자 지정하는 경우 추가 구성이 필요합니다. Amazon Textract가 업로드를 해독하고 특정 Amazon S3 작업에 대한 권한을 제공하도록 해야 합니다.

S3 버킷 업로드의 복호화를 허용하려면
  • 적절한 사용자에게 올바른 Amazon S3 권한을 제공해야 합니다.

    https://console.aws.amazon.com/iam/ 사용자 섹션으로 이동하여 위의 Amazon Textract 구성 방법 섹션의 1단계에서 생성한 사용자를 선택합니다. 사용자에게 "인라인 정책 추가"를 선택하고 s3:GetObject, 및 , s3:PutObject, s3:ListMultipartUploadPartss3:ListBucketMultipartUploads, s3:AbortMultipartUpload 작업을 포함하는 JSON 정책을 연결합니다. JSON은 다음과 같을 수 있습니다.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*", "s3:PutObject", "s3:GetObject", "s3-object-lambda:Get*", "s3-object-lambda:List*", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload" ], "Resource": "*" } ] }
AWS KMS 키 권한을 제공하려면
  • 서비스 역할이 업로드를 해독할 수 있도록 AWS Key Management Service 키에 권한을 추가해야 합니다. 서비스 역할에는 kms:GenerateDataKeykms:Decrypt 작업에 대한 권한이 필요합니다. Amazon Textract 구성 방법 섹션의 7단계에서 생성한 서비스 역할에 다음 예제와 같은 권한 정책이 있는지 확인합니다.

    다음 예제에서를 서비스 역할의 ARNARN from Step 7으로 바꿉니다.

    { "Sid": "Decrypt only", "Effect": "Allow", "Principal": { "AWS": "ARN from Step 7" }, "Action": [ "kms:Decrypt", "kms:ReEncrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "*" }