EMRFS속성을 사용하여 Amazon S3 암호화 지정 - 아마존 EMR

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

EMRFS속성을 사용하여 Amazon S3 암호화 지정

중요

Amazon EMR 릴리스 버전 4.8.0부터 보안 구성을 사용하여 암호화 설정을 더 쉽고 다양한 옵션으로 적용할 수 있습니다. 보안 구성을 사용하는 것이 좋습니다. 자세한 내용은 데이터 암호화 구성을 참조하세요. 이 단원에 설명되어 있는 콘솔 지침은 릴리스 버전 4.8.0 이하에서 사용이 가능합니다. 클러스터 구성과 후속 버전의 보안 구성 모두에서 를 사용하여 Amazon S3 암호화를 구성하는 경우 보안 구성이 클러스터 구성을 재정의합니다. AWS CLI

클러스터를 생성할 때 콘솔을 사용하거나 또는 를 통한 emrfs-site 분류 속성을 사용하여 EMRFS Amazon S3의 데이터에 대한 서버 측 암호화 (SSECSE) 또는 클라이언트 측 암호화 () 를 지정할 수 있습니다. AWS CLI EMR SDK Amazon SSE S3와 CSE 는 상호 배타적이므로 둘 중 하나를 선택할 수 있지만 둘 다 선택할 수는 없습니다.

AWS CLI 지침은 아래의 암호화 유형에 해당하는 섹션을 참조하십시오.

를 사용하여 EMRFS 암호화 옵션을 지정하려면 AWS Management Console
  1. 새 Amazon EMR 콘솔로 이동한 다음 측면 탐색에서 이전 콘솔로 전환을 선택합니다. 이전 콘솔로 전환할 때 예상되는 사항에 대한 자세한 내용은 이전 콘솔 사용을 참조하세요.

  2. 클러스터 생성Go to advanced options(고급 옵션으로 이동)를 선택합니다.

  3. 릴리스로 4.7.2 이전 버전을 선택합니다.

  4. Software and Steps(소프트웨어 및 단계)에서 애플리케이션에 적절한 다른 옵션을 선택하고 다음을 선택합니다.

  5. 하드웨어General Cluster Settings(일반 클러스터 설정) 창에서 애플리케이션에 적절한 설정을 선택합니다.

  6. 보안 패널의 인증 및 암호화에서 사용할 S3 암호화 (withEMRFS) 옵션을 선택합니다.

    참고

    Amazon EMR 릴리스 버전 4.4 이하를 사용할 때는 KMS 키 관리 (SSE-KMS) 를 사용한 S3 서버 측 암호화를 사용할 수 없습니다.

    • AWS 키 관리를 사용하는 옵션을 선택하는 경우 키 ID를AWS KMS 선택하십시오. 자세한 내용은 암호화에 사용 AWS KMS keys EMRFS 단원을 참조하십시오.

    • 사용자 지정 자료 공급자를 통한 S3 클라이언트 측 암호화를 선택하는 경우 클래스 이름과 위치를 제공하십시오. JAR 자세한 내용은 Amazon S3 클라이언트 측 암호화 단원을 참조하십시오.

  7. 애플리케이션에 적절한 다른 옵션을 선택하고 클러스터 생성을 선택합니다.

암호화에 사용 AWS KMS keys EMRFS

AWS KMS 암호화 키는 Amazon EMR 클러스터 인스턴스 및 함께 EMRFS 사용되는 Amazon S3 버킷과 동일한 지역에 생성되어야 합니다. 지정한 키가 클러스터를 구성하는 데 사용한 계정과 다른 계정에 있는 경우 해당 키를 사용하여 키를 지정해야 합니다. ARN

Amazon EC2 인스턴스 프로필의 역할에는 지정한 KMS 키를 사용할 권한이 있어야 합니다. Amazon에서 인스턴스 프로필의 기본 역할은 EMR 입니다EMR_EC2_DefaultRole. 인스턴스 프로필에 다른 역할을 사용하거나 Amazon S3에 대한 EMRFS 요청에 IAM 역할을 사용하는 경우 각 역할이 키 사용자로 적절하게 추가되었는지 확인하십시오. 이렇게 하면 역할에 KMS 키를 사용할 수 있는 권한이 부여됩니다. 자세한 내용은 AWS Key Management Service 개발자 안내서의 키 정책 사용Amazon S3에 대한 EMRFS 요청에 대한 IAM 역할 구성을 참조하십시오.

를 사용하여 지정된 KMS 키의 주요 사용자 목록에 EC2 인스턴스 프로필 또는 인스턴스 프로필을 추가하거나 AWS CLI 또는 AWS SDK an을 사용하여 적절한 키 정책을 추가할 수 있습니다. AWS Management Console

Amazon은 대칭 KMS 키만 EMR 지원한다는 점에 유의하십시오. Amazon 클러스터에 저장된 데이터는 비대칭 KMS 키를 사용하여 암호화할 수 없습니다. EMR 키가 대칭인지 비대칭인지 판단하는 데 도움이 필요하면 대칭 및 비대칭 KMS 키 식별을 참조하십시오. KMS

아래 절차는 를 사용하여 기본 Amazon EMR 인스턴스 프로필을 주요 EMR_EC2_DefaultRole 사용자로 추가하는 방법을 설명합니다 AWS Management Console. 이미 KMS 키를 생성했다고 가정합니다. 새 KMS 키를 만들려면 AWS Key Management Service 개발자 안내서의 키 만들기를 참조하십시오.

EMRAmazon의 EC2 인스턴스 프로필을 암호화 키 사용자 목록에 추가하려면
  1. AWS Management Console 로그인하고 https://console.aws.amazon.com/kms 에서 AWS Key Management Service (AWS KMS) 콘솔을 엽니다.

  2. 를 변경하려면 AWS 리전페이지 오른쪽 상단에 있는 지역 선택기를 사용하십시오.

  3. 수정할 키의 별칭을 선택합니다. KMS

  4. 키 세부 정보 페이지의 Key Users(키 사용자)에서 Add(추가)를 선택합니다.

  5. Add key users(키 사용자 추가) 대화 상자에서 적절한 역할을 선택합니다. 기본 역할의 이름은 EMR_EC2_DefaultRole입니다.

  6. 추가를 선택합니다.

Amazon S3 서버 측 암호화

Amazon S3 서버 측 암호화를 설정하면 Amazon S3에서 데이터를 디스크에 쓸 때 객체 수준에서 데이터를 암호화하고 데이터에 액세스할 때 데이터의 암호를 해독합니다. 자세한 내용은 Amazon 심플 스토리지 서비스 사용 설명서의 서버 측 암호화를 사용한 데이터 보호를 참조하십시오. SSE

SSEAmazon에서 지정할 때 두 가지 다른 키 관리 시스템 중에서 선택할 수 있습니다EMR.

  • SSE-S3 — Amazon S3가 사용자를 대신하여 키를 관리합니다.

  • SSE- KMS — Amazon에 적합한 정책을 설정하는 AWS KMS key 데 사용합니다EMR. EMRAmazon의 주요 요구 사항에 대한 자세한 내용은 암호화에 사용을 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

fs.s3를 설정하여 SSE -S3를 활성화할 수도 있습니다. enableServerSide속성에서 암호화 속성을 true로 설정합니다. emrfs-site KMS아래 SSE -의 예를 참조하고 Key ID의 속성은 생략하십시오.

를 사용하여 SSE -가 KMS 활성화된 클러스터를 만들려면 AWS CLI
참고

SSE- KMS Amazon EMR 릴리스 버전 4.5.0 이상에서만 사용할 수 있습니다.

  • 다음 AWS CLI 명령을 입력하여 SSE KMS -를 사용하여 클러스터를 생성합니다. 여기서 keyID 예를 들어 AWS KMS key, 는 다음과 같습니다.a4567b8-9900-12ab-1234-123a45678901:

    aws emr create-cluster --release-label emr-4.7.2 or earlier --instance-count 3 \ --instance-type m5.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-type m5.xlarge --applications Name=Hadoop --configurations file://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" } } ]

-S3 및 SSE -의 구성 속성 SSE KMS

emrfs-site 구성 분류를 사용하여 이들 속성을 구성할 수 있습니다. SSE- KMS Amazon EMR 릴리스 버전 4.5.0 이상에서만 사용할 수 있습니다.

속성 기본값 설명
fs.s3.enableServerSideEncryption false

true로 설정할 경우 Amazon S3에 저장된 객체가 서버 측 암호화를 사용하여 암호화됩니다. 키가 지정되지 않은 경우 SSE -S3가 사용됩니다.

fs.s3.serverSideEncryption.kms.keyId n/a

AWS KMS 키 ID 또는 ARN 을 지정합니다. 키가 지정된 경우 SSE KMS -가 사용됩니다.