

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

# 배치 번역 작업의 사전 조건
<a name="async-prereqs"></a>

Amazon Translate에서 배치 번역 작업을 성공적으로 수행하려면 다음 사전 조건을 충족해야 합니다.
+ 입력 문서와 출력 문서가 들어 있는 Amazon S3 버킷은 호출 중인 API 엔드포인트와 동일한 AWS 리전에 있어야 합니다.
+ 배치 입력 문서 모음의 크기는 5GB 이하여야 합니다.
+ 배치 번역 작업에서는 최대 100만 개의 문서를 제출할 수 있습니다.
+ 각 입력 문서는 20MB 이하여야 하며 100만 자 미만이어야 합니다.
+ Amazon S3 버킷의 폴더에 입력 파일이 있어야 합니다. 입력 파일을 버킷의 최상위 수준에 추가하는 경우, 배치 번역 작업 실행 시 Amazon Translate에서 오류가 발생합니다. 이 요구 사항은 입력 파일에 적용됩니다. 출력 파일에는 폴더가 필요하지 않으며, Amazon Translate는 출력 파일을 Amazon S3 버킷의 최상위 수준에 배치할 수 있습니다.
+ 입력 파일 폴더에는 중첩된 폴더가 포함될 수 있습니다. 중첩된 폴더 중 **details** 이름이 지정된 폴더가 없어야 합니다. 그렇지 않으면 배치 번역 작업을 실행 시 Amazon Translate에서 오류가 발생합니다.

## 지원되는 파일 형식
<a name="async-prereqs-formats"></a>

Amazon Translate는 배치 번역 작업에서 다음과 같은 유형의 파일을 지원합니다.
+ 일반 텍스트
+ HTML
+ Word 문서(.docx)
+ PowerPoint 프레젠테이션 파일(.pptx)
+ Excel 통합 문서 파일(.xlsx)
+ XLIFF(XML Localization Interchange File Format) 파일(.xlf) Amazon Translate는 XLIFF 버전 1.2만 지원합니다.

Amazon Translate를 사용하려면 파일을 UTF-8 방식으로 인코딩해야 합니다.

## 사전 조건 권한
<a name="async-prereqs-permissions"></a>

배치 번역 작업을 실행하려면 AWS 먼저 계정에 IAM에 서비스 역할이 있어야 합니다. 이 역할에는 Amazon Translate에 다음과 같은 권한을 부여하는 권한 정책이 있어야 합니다.
+ Amazon S3의 입력 폴더 및 모든 하위 폴더에 대한 읽기 액세스 권한
+ 출력 버킷에 대한 읽기 및 쓰기 액세스 권한

또한 Amazon Translate에서 역할을 수임하고 권한을 얻을 수 있도록 허용하는 신뢰 정책도 있어야 합니다. 이 신뢰 정책은 `translate.amazonaws.com` 서비스 보안 주체가 `sts:AssumeRole` 작업을 수행할 수 있도록 허용해야 합니다.

Amazon Translate 콘솔을 사용하여 배치 번역 작업을 생성할 때 Amazon Translate에서 자동으로 이 역할을 생성하도록 허용할 수 있는 옵션이 제공됩니다. AWS CLI 또는 Amazon Translate API를 사용하여 배치 번역 작업을 실행할 때 요청에 역할의 Amazon 리소스 이름(ARN)을 제공합니다.

자세한 정보는 IAM 사용 설명서의 [AWS 서비스에 권한을 위임할 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)을 참조하세요.**

**Example 권한 정책**  
다음 예제 권한 정책은 Amazon S3 버킷의 입력 폴더에 읽기 액세스 권한을 부여합니다. 또한 출력 버킷에 읽기 및 쓰기 액세스 권한을 부여합니다.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": [
        "arn:aws:s3:::input-bucket-name/*",
        "arn:aws:s3:::output-bucket-name/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": [
        "arn:aws:s3:::input-bucket-name",
        "arn:aws:s3:::output-bucket-name"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::output-bucket-name/*"
    }
  ]
}
```

**Example 신뢰 정책**  
다음 신뢰 정책은 Amazon Translate에서 정책이 속한 IAM 역할을 수임할 수 있도록 허용합니다.  
[ 혼동된 대리자](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) 문제를 완화하려면 신뢰 정책을 사용하는 AWS 계정을 확인하는 것이 좋습니다. 이 예제에서는 **aws:SourceArn** 및 **aws:SourceAccount** 조건 키를 사용하여 소스 계정을 확인합니다. 배치 번역 작업을 제출하는 AWS 계정을 입력합니다.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "translate.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
            "aws:SourceArn": "arn:aws:translate:*:111122223333:*"
        },
        "StringEquals": {
            "aws:SourceAccount": "111122223333"
        }
      }
    }
  ]
}
```

## 암호화를 사용자 지정하기 위한 사전 조건
<a name="async-prereqs-permissions-custom-encryption"></a>

Amazon Translate에서 암호화 설정을 사용자 지정할 수 있지만 먼저 IAM의 서비스 역할에 권한을 추가해야 합니다.

Amazon Translate는 배치 번역 작업을 실행할 때 생성하는 번역 출력을 암호화합니다. 기본적으로 Amazon Translate는 *AWS 관리형 키* 키를 사용하여 이 암호화를 수행합니다. 이 유형의 키는에 의해 생성 AWS 되고 계정의 AWS Key Management Service (AWS KMS)에 저장됩니다. 하지만 이 KMS 키를 직접 관리할 수는 없습니다. AWS만이 사용자를 대신하여 이 키를 관리할 수 있습니다.

선택적으로 AWS 계정에서 생성, 소유 및 관리하는 KMS *키인 고객 관리*형 키로 출력을 암호화하도록 선택할 수 있습니다.

키에는 Amazon Translate를 사용할 수 있도록 지원하는 키 정책이 반드시 있어야 합니다. 키 정책은 Amazon Translate가 Amazon S3 버킷에 액세스할 수 있도록 허용하는 서비스 역할에 권한을 부여하여 이를 수행합니다.

다음 예제 정책 설명과 같이 키 정책을 사용하면 서비스 역할이 출력을 암호화하는 데 필요한 AWS KMS 작업을 수행할 수 있습니다.

**Example KMS 키 정책 설명**  

```
{
  "Effect": "Allow",
  "Principal":
  {
    "AWS":
    [
      "arn:aws:iam::111122223333:role/AmazonTranslateServiceRoleS3FullAccess"
    ]
  },
  "Action":
  [
    "kms:Decrypt",
    "kms:GenerateDataKey",
    "kms:CreateGrant",
    "kms:RetireGrant",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}
```

자세한 내용은AWS Key Management Service 개발자 안내서에서 [AWS KMS의 키 정책](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) 섹션을 참조하세요.**

### 다른 AWS 계정의 AWS KMS 키를 사용할 수 있는 권한
<a name="async-prereqs-permissions-custom-encryption-cross-account"></a>

Amazon Translate를 사용하는 계정과 다른 AWS 계정에 있는 KMS 키를 사용하려면 다음을 수행해야 합니다.

1. IAM에서 Amazon Translate의 서비스 역할을 업데이트합니다.

1. 에서 키 정책을 업데이트합니다 AWS KMS.

서비스 역할을 업데이트하려면 다음 예제와 같이 다른 AWS 계정에 있는 KMS 키로 필요한 AWS KMS 작업을 수행할 수 있도록 허용하는 정책을 연결합니다.

**Example 다른 계정의 KMS 키에 대한 액세스 권한을 부여하는 IAM 정책**  

```
{
  "Effect": "Allow",
  "Action":
  [
    "kms:Decrypt",
    "kms:GenerateDataKey",
    "kms:CreateGrant",
    "kms:RetireGrant",
    "kms:DescribeKey"
  ],
  "Resource": "arn:aws:kms:us-west-2:111122223333:key/key-id"
}
```

KMS 키 정책을 업데이트하려면 다음 예제 정책 설명과 같이 서비스 역할 및 관리자를 키 사용이 허용된 보안 주체로 추가하세요.

**Example IAM 역할에서 키를 사용할 수 있도록 허용하는 KMS 키 정책 설명**  

```
{
  "Effect": "Allow",
  "Principal":
  {
    "AWS":
    [
      "arn:aws:iam::444455556666:role/AmazonTranslateServiceRoleS3FullAccess",
      "arn:aws:iam::444455556666:admin"
    ]
  },
  "Action":
  [
    "kms:Decrypt",
    "kms:CreateGrant",
    "kms:GenerateDataKey",
    "kms:RetireGrant",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}
```

자세한 내용은 *AWS Key Management Service 개발자 안내서*[의 다른 계정의 사용자가 AWS KMS 키를 사용하도록 허용](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)을 참조하세요.