기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
EMRFS 속성을 사용하여 Amazon S3 암호화 지정
중요
Amazon EMR 릴리스 버전 4.8.0부터 보안 구성을 사용하여 더 쉽게 더 많은 옵션을 통해 암호화 설정을 적용할 수 있습니다. 보안 구성을 사용하는 것이 좋습니다. 자세한 내용은 데이터 암호화 구성을 참조하세요. 이 단원에 설명되어 있는 콘솔 지침은 릴리스 버전 4.8.0 이하에서 사용이 가능합니다. AWS CLI 를 사용하여 클러스터 구성과 후속 버전의 보안 구성 모두에서 Amazon S3 암호화를 구성하는 경우 보안 구성이 클러스터 구성을 재정의합니다.
클러스터를 생성할 때 콘솔을 사용하거나 AWS CLI 또는 EMR SDK를 통해 emrfs-site
분류 속성을 사용하여 Amazon S3의 EMRFS 데이터에 대한 서버 측 암호화(SSE) 또는 클라이언트 측 암호화(CSE)를 지정할 수 있습니다. Amazon S3 SSE 및 CSE는 상호 배타적이므로 둘 중 하나를 선택할 수 있지만 둘 다 선택할 수는 없습니다.
AWS CLI 지침은 아래 암호화 유형에 해당하는 섹션을 참조하세요.
를 사용하여 EMRFS 암호화 옵션을 지정하려면 AWS Management Console
새 Amazon EMR 콘솔로 이동하고 측면 탐색에서 이전 콘솔로 전환을 선택합니다. 이전 콘솔로 전환할 때 예상되는 사항에 대한 자세한 내용은 이전 콘솔 사용을 참조하세요.
-
클러스터 생성 및 Go to advanced options(고급 옵션으로 이동)를 선택합니다.
릴리스로 4.7.2 이전 버전을 선택합니다.
Software and Steps(소프트웨어 및 단계)에서 애플리케이션에 적절한 다른 옵션을 선택하고 다음을 선택합니다.
하드웨어 및 General Cluster Settings(일반 클러스터 설정) 창에서 애플리케이션에 적절한 설정을 선택합니다.
보안 창의 인증 및 암호화에서 사용하고 싶은 S3 Encryption (with EMRFS)(S3 암호화(EMRFS 사용)) 옵션을 선택합니다.
참고
Amazon EMR 릴리스 버전 4.4 이하를 사용할 때는 KMS 키 관리를 사용한 S3 서버 측 암호화(SSE-KMS)를 사용할 수 없습니다.
AWS Key Management를 사용하는 옵션을 선택할 경우 AWS KMS 키 ID를 선택합니다. 자세한 내용은 EMRFS 암호화 AWS KMS keys 에 사용 단원을 참조하십시오.
S3 client-side encryption with custom materials provider(사용자 지정 자료 공급자를 사용한 S3 클라이언트 측 암호화)를 선택한 경우에는 클래스 이름과 JAR location(JAR 위치)을 입력합니다. 자세한 내용은 Amazon S3 클라이언트 측 암호화 단원을 참조하십시오.
애플리케이션에 적절한 다른 옵션을 선택하고 클러스터 생성을 선택합니다.
EMRFS 암호화 AWS KMS keys 에 사용
AWS KMS 암호화 키는 Amazon EMR 클러스터 인스턴스 및 EMRFS와 함께 사용되는 Amazon S3 버킷과 동일한 리전에서 생성되어야 합니다. 지정하는 키가 클러스터를 구성하는 데 사용하는 계정이 아닌 다른 계정에 있는 경우 ARN을 사용하여 해당 키를 지정해야 합니다.
Amazon EC2 인스턴스 프로파일의 역할에는 사용자가 지정하는 CMK를 사용할 수 있는 권한이 있어야 합니다. Amazon EMR에 있는 인스턴스 프로파일의 기본 역할은 EMR_EC2_DefaultRole
입니다. 인스턴스 프로파일에 다른 역할을 사용하거나 Amazon S3에 대한 EMRFS 요청에 IAM 역할을 사용하는 경우 각 역할이 키 사용자로 적절히 추가되도록 해야 합니다. 이렇게 하면 해당 역할에 KMS 키를 사용할 수 있는 권한이 부여됩니다. 자세한 내용은 AWS Key Management Service 개발자 안내서에서 Using Key Policies 및 Amazon S3에 대한 EMRFS 요청의 IAM 역할 구성을 참조하세요.
AWS Management Console 를 사용하여 지정된 KMS 키의 키 사용자 목록에 인스턴스 프로파일 또는 EC2 인스턴스 프로파일을 추가하거나 AWS CLI 또는 AWS SDK를 사용하여 적절한 키 정책을 연결할 수 있습니다.
Amazon EMR은 대칭 KMS 키만 지원합니다. 비대칭 KMS 키를 사용하여 Amazon EMR 클러스터의 저장된 데이터를 암호화할 수 없습니다. KMS 키가 대칭인지 비대칭인지 확인하는 것과 관련된 도움말은 Identifying symmetric and asymmetric KMS keys를 참조하세요.
아래 절차에서는 AWS Management Console을 사용하여 기본 Amazon EMR 인스턴스 프로파일(EMR_EC2_DefaultRole
)을 키 사용자로 추가하는 방법을 설명합니다. 이때 KMS 키를 이미 생성했다고 가정합니다. 새 KMS 키를 생성하려면 AWS Key Management Service 개발자 안내서에서 Creating Keys를 참조하세요.
Amazon EMR의 EC2 인스턴스 프로파일을 암호화 키 사용자 목록에 추가하는 방법
-
에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/kms
AWS Key Management Service (AWS KMS) 콘솔을 엽니다. -
를 변경하려면 페이지 오른쪽 상단의 리전 선택기를 AWS 리전사용합니다.
-
수정할 KMS 키의 별칭을 선택합니다.
-
키 세부 정보 페이지의 Key Users(키 사용자)에서 Add(추가)를 선택합니다.
-
Add key users(키 사용자 추가) 대화 상자에서 적절한 역할을 선택합니다. 기본 역할의 이름은
EMR_EC2_DefaultRole
입니다. -
추가를 선택합니다.
Amazon S3 서버 측 암호화
Amazon S3 서버 측 암호화를 설정하면 Amazon S3에서 데이터를 디스크에 쓸 때 객체 수준에서 데이터를 암호화하고 데이터에 액세스할 때 데이터의 암호를 해독합니다. SSE에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서에서 서버 측 암호화를 사용하여 데이터 보호를 참조하세요.
Amazon EMR에서 SSE를 지정할 때 다음 두 가지 키 관리 시스템 중에서 선택할 수 있습니다.
-
SSE-S3 - Amazon S3에서 자동으로 키를 관리합니다.
-
SSE-KMS - AWS KMS key 를 사용하여 Amazon EMR에 적합한 정책을 설정합니다. Amazon EMR의 키 요구 사항에 대한 자세한 내용은 암호화 AWS KMS keys 에 사용을 참조하세요.
고객 제공 키를 사용하는 SSE(SSE-C)는 Amazon EMR에서 사용할 수 없습니다.
를 사용하여 SSE-S3가 활성화된 클러스터를 생성하려면 AWS CLI
-
다음 명령을 입력합니다.
aws emr create-cluster --release-label
emr-4.7.2 or earlier
\ --instance-count 3 --instance-type m5.xlarge --emrfs Encryption=ServerSide
emrfs-site
속성에서 fs.s3.enableServerSideEncryption 속성을 true로 설정하여 SSE-S3을 활성화할 수도 있습니다. 아래의 SSE-KMS 예제를 참조하여 키 ID에 대한 속성을 생략하십시오.
를 사용하여 SSE-KMS가 활성화된 클러스터를 생성하려면 AWS CLI
참고
SSE-KMS는 Amazon EMR 릴리스 버전 4.5.0 이상에서만 사용이 가능합니다.
-
다음 AWS CLI 명령을 입력하여 SSE-KMS로 클러스터를 생성합니다. 여기서
keyID
는a4567b8-9900-12ab-1234-123a45678901
AWS KMS key과 같은 입니다.aws emr create-cluster --release-label
emr-4.7.2 or earlier
--instance-count3
\ --instance-typem5.xlarge
--use-default-roles \ --emrfs Encryption=ServerSide,Args=[fs.s3.serverSideEncryption.kms.keyId=keyId
]--또는--
emrfs-site
분류를 사용하여 다음 AWS CLI 명령을 입력하고 아래 예와 유사한 내용이 포함된 구성 JSON 파일을 제공합니다myConfig.json
.aws emr create-cluster --release-label
emr-4.7.2 or earlier
--instance-count 3 --instance-typem5.xlarge
--applications Name=Hadoop
--configurationsfile://myConfig.json
--use-default-roles다음은 myConfig.json 콘텐츠 예제입니다.
[ { "Classification":"emrfs-site", "Properties": { "fs.s3.enableServerSideEncryption": "true", "fs.s3.serverSideEncryption.kms.keyId":"
a4567b8-9900-12ab-1234-123a45678901
" } } ]
SSE-S3 및 SSE-KMS의 구성 속성
emrfs-site
구성 분류를 사용하여 이들 속성을 구성할 수 있습니다. SSE-KMS는 Amazon EMR 릴리스 버전 4.5.0 이상에서만 사용이 가능합니다.
속성 | 기본값 | 설명 |
---|---|---|
fs.s3.enableServerSideEncryption |
false |
|
fs.s3.serverSideEncryption.kms.keyId |
n/a |
AWS KMS 키 ID 또는 ARN을 지정합니다. 키를 지정하면 SSE-KMS가 사용됩니다. |