기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EMR 콘솔 또는를 사용하여 보안 구성 생성 AWS CLI
이 주제에서는 Amazon EMR 콘솔 및를 사용하여 보안 구성을 생성하는 일반적인 절차를 설명한 다음 AWS CLI에 대한 암호화, 인증 및 IAM 역할로 구성된 파라미터에 대한 참조를 다룹니다EMRFS. 이 기능에 대한 자세한 내용은 다음 주제를 참조하세요.
콘솔을 사용하여 보안 구성을 생성하려면
https://console.aws.amazon.com/emr
에서 Amazon EMR 콘솔을 엽니다. -
탐색 창에서 보안 구성을 선택한 다음 보안 구성 생성을 선택합니다.
-
보안 구성의 이름을 입력합니다.
-
아래 섹션에서 설명한 대로, 암호화 및 인증을 선택하고 생성을 선택합니다.
를 사용하여 보안 구성을 생성하려면 AWS CLI
-
다음 예와 같이
create-security-configuration
명령을 사용합니다.-
에서 보안 구성의 이름을
SecConfigName
지정합니다. 이 이름은 이 보안 구성을 사용하는 클러스터를 생성할 때 지정합니다. -
의 경우 인라인 JSON 구조 또는와 같은 로컬 JSON 파일의 경로를
지정합니다SecConfigDef
. JSON 파라미터는 아래 섹션에 설명된 대로 암호화, IAM Amazon S3EMRFS에 액세스하기 위한 역할 및 인증에 대한 옵션을 정의합니다.file://MySecConfig.json
aws emr create-security-configuration --name "
SecConfigName
" --security-configurationSecConfigDef
-
데이터 암호화 구성
보안 구성에서 암호화를 구성하기 전에 암호화에 사용되는 키와 자격 증명을 생성합니다. 자세한 정보는 저장 데이터 암호화를 위한 키 제공 및 Amazon 암호화를 사용하여 전송 중인 데이터를 EMR 암호화하기 위한 인증서 제공 섹션을 참조하세요.
보안 구성을 생성할 때 미사용 데이터 암호화 및 전송 중 데이터 암호화라는 두 가지 암호화 옵션 세트를 지정합니다. 저장 데이터 암호화 옵션에는 EMRFS 및 로컬 디스크 암호화가 포함된 Amazon S3가 모두 포함됩니다. 전송 중 암호화 옵션을 사용하면 전송 계층 보안()을 지원하는 특정 애플리케이션에 대한 오픈 소스 암호화 기능을 사용할 수 있습니다TLS. 미사용 데이터 암호화 옵션과 전송 중 데이터 암호화 옵션을 함께 활성화하거나 개별적으로 활성화할 수 있습니다. 자세한 내용은 Amazon을 통해 저장 및 전송 중인 데이터 암호화 EMR 단원을 참조하십시오.
참고
를 사용하면 암호화 키의 저장 및 사용에 AWS KMS요금이 부과됩니다. 자세한 내용은 AWS KMS 요금
콘솔을 사용하여 암호화 옵션 지정
아래 지침에 따라 암호화에서 옵션을 선택합니다.
-
미사용 데이터 암호화 아래에서 옵션을 선택하여 파일 시스템 내에 저장된 데이터를 암호화합니다.
Amazon S3, 로컬 디스크 또는 둘 다에서 데이터를 암호화하도록 선택할 수 있습니다.
-
S3 데이터 암호화의 암호화 모드에서 값을 선택하여 Amazon이 EMR를 사용하여 Amazon S3 데이터를 암호화하는 방법을 결정합니다EMRFS.
다음에 수행할 적업은 선택한 암호화 모드에 따라 다릅니다.
-
SSE-S3
Amazon S3 관리형 암호화 키를 사용하여 서버 측 암호화를 지정합니다. Amazon S3에서는 키가 자동으로 처리되기 때문에 아무 작업도 수행할 필요 없습니다.
-
SSE–KMS 또는 CSE-KMS
AWS KMS관리형 키(-SSEKMS)를 사용한 서버 측 암호화 또는 AWS KMS관리형 키(-CSEKMS)를 사용한 클라이언트 측 암호화를 지정합니다. AWS KMS key에서 키를 선택합니다. 키는 EMR 클러스터와 동일한 리전에 있어야 합니다. 키 요구 사항은 암호화 AWS KMS keys 에 사용 단원을 참조하세요.
-
CSE- 사용자 지정
사용자 지정 클라이언트 측 루트 키(CSE-custom)를 사용하여 클라이언트 측 암호화를 지정합니다. S3 객체에 ARN사용자 지정 키-제공자 JAR 파일의 위치를 Amazon S3 또는 Amazon S3에 입력합니다. 그런 다음 키 공급자 클래스에 EncryptionMaterialsProvider 인터페이스를 구현하는 애플리케이션에서 선언된 클래스의 전체 클래스 이름을 입력합니다.
-
-
로컬 디스크 암호화에서 키 공급자 유형의 값을 선택합니다.
-
AWS KMS key
이 옵션을 선택하여 AWS KMS key를 지정합니다. AWS KMS key에서 키를 선택합니다. 키는 EMR 클러스터와 동일한 리전에 있어야 합니다. 키 요구 사항에 대한 자세한 내용은 암호화 AWS KMS keys 에 사용 단원을 참조하세요.
EBS 암호화
를 키 공급자 AWS KMS 로 지정할 때 EBS 암호화를 활성화하여 EBS 루트 디바이스 및 스토리지 볼륨을 암호화할 수 있습니다. 이러한 옵션을 활성화하려면 AWS KMS key 지정한를 사용할 수
EMR_DefaultRole
있는 권한을 Amazon EMR 서비스 역할에 부여해야 합니다. 키 요구 사항에 대한 자세한 내용은 KMS 키에 대한 추가 권한을 제공하여 EBS 암호화 활성화 단원을 참조하세요. -
사용자 지정
이 옵션을 선택하여 사용자 지정 키 공급자를 지정합니다. S3 객체에 ARN사용자 지정 키-제공자 JAR 파일의 위치를 Amazon S3 또는 Amazon S3에 입력합니다. 키 공급자 클래스에 EncryptionMaterialsProvider 인터페이스를 구현하는 애플리케이션에 선언된 클래스의 전체 클래스 이름을 입력합니다. 여기에 제공하는 클래스 이름은 CSE-Custom에 제공된 클래스 이름과 달라야 합니다.
-
-
전송 중 데이터에서 오픈 소스 암호화 기능을 활성화하려면 전송 중 TLS 암호화를 선택합니다. 다음 지침에 따라 인증서 공급자 유형을 선택합니다.
-
PEM
zip PEM 파일 내에서 제공하는 파일을 사용하려면이 옵션을 선택합니다. zip 파일에는 privateKey.pem과 certificateChain.pem이라는 두 가지 아티팩트가 필요합니다. 세 번째 파일인 trustedCertificates.pem은 선택 사항입니다. 세부 정보는 Amazon 암호화를 사용하여 전송 중인 데이터를 EMR 암호화하기 위한 인증서 제공를 참조하세요. S3 객체의 경우 zip 파일 필드ARN의 Amazon S3 또는 Amazon S3에서 위치를 지정합니다.
-
사용자 지정
사용자 지정 인증서 공급자를 지정하려면이 옵션을 선택한 다음 S3 객체에 ARN사용자 지정 인증서 공급자 JAR 파일의 위치를 Amazon S3 또는 Amazon S3에 입력합니다. 키 공급자 클래스에 TLSArtifactsProvider 인터페이스를 구현하는 애플리케이션에 선언된 클래스의 전체 클래스 이름을 입력합니다.
-
를 사용하여 암호화 옵션 지정 AWS CLI
다음 섹션에서는 샘플 시나리오를 사용하여 다양한 구성 및 키 공급자--security-configurationJSON에 맞게 잘 구성된 다음 JSON 파라미터 및 적절한 값에 대한 참조를 보여줍니다.
전송 중 데이터 암호화 옵션 예제
아래 예제에서는 다음 시나리오를 설명합니다.
-
전송 중 데이터 암호화가 활성화되고 미사용 데이터 암호화가 비활성화됩니다.
-
Amazon S3에 인증서가 있는 zip 파일이 키 공급자로 사용됩니다(인증서 요구 사항은 Amazon 암호화를 사용하여 전송 중인 데이터를 EMR 암호화하기 위한 인증서 제공 참조).
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "s3://MyConfigStore/artifacts/MyCerts.zip" } } } }'
아래 예제에서는 다음 시나리오를 설명합니다.
-
전송 중 데이터 암호화가 활성화되고 미사용 데이터 암호화가 비활성화됩니다.
-
사용자 지정 키 공급자가 사용됩니다(인증서 요구 사항은 Amazon 암호화를 사용하여 전송 중인 데이터를 EMR 암호화하기 위한 인증서 제공 단원 참조).
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "CertificateProviderClass": "com.mycompany.MyCertProvider" } } } }'
저장 데이터 암호화 옵션 예제
아래 예제에서는 다음 시나리오를 설명합니다.
-
전송 중 데이터 암호화가 비활성화되고 미사용 데이터 암호화가 활성화됩니다.
-
SSE-S3는 Amazon S3 암호화에 사용됩니다.
-
로컬 디스크 암호화는를 키 공급자 AWS KMS 로 사용합니다.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-S3" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'
아래 예제에서는 다음 시나리오를 설명합니다.
-
전송 중 데이터 암호화가 활성화되고를 사용하여 Amazon S3에서 PEM 인증서가 있는 zip 파일을 참조합니다ARN.
-
SSE-KMS Amazon S3 암호화에 사용됩니다.
-
로컬 디스크 암호화는를 키 공급자 AWS KMS 로 사용합니다.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": true, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "arn:aws:s3:::MyConfigStore/artifacts/MyCerts.zip" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'
아래 예제에서는 다음 시나리오를 설명합니다.
-
전송 중 데이터 암호화가 활성화되고 Amazon S3의 PEM 인증서가 있는 zip 파일을 참조합니다.
-
CSE-KMS Amazon S3 암호화에 사용됩니다.
-
로컬 디스크 암호화는에서 참조하는 사용자 지정 키 공급자를 사용합니다ARN.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": true, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "s3://MyConfigStore/artifacts/MyCerts.zip" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "CSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "Custom", "S3Object": "arn:aws:s3:::artifacts/MyKeyProvider.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" } } } }'
아래 예제에서는 다음 시나리오를 설명합니다.
-
사용자 지정 키 공급자를 사용하여 전송 중 데이터 암호화가 활성화됩니다.
-
CSE-사용자 지정은 Amazon S3 데이터에 사용됩니다.
-
로컬 디스크 암호화가 사용자 지정 키 공급자를 사용합니다.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": "true", "EnableAtRestEncryption": "true", "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "CertificateProviderClass": "com.mycompany.MyCertProvider" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "CSE-Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" } } } }'
아래 예제에서는 다음 시나리오를 설명합니다.
-
전송 중 데이터 암호화가 비활성화되고 미사용 데이터 암호화가 활성화됩니다.
-
Amazon S3 암호화는 SSE-로 활성화됩니다KMS.
-
각 S3 버킷당 하나씩 여러 AWS KMS 키가 사용되며 암호화 예외가 이러한 개별 S3 버킷에 적용됩니다.
-
로컬 디스크 암호화가 비활성화됩니다.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012", "Overrides": [ { "BucketName": "amzn-s3-demo-bucket1", "EncryptionMode": "SSE-S3" }, { "BucketName": "amzn-s3-demo-bucket2", "EncryptionMode": "CSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, { "BucketName": "amzn-s3-demo-bucket3", "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } ] } }, "EnableInTransitEncryption": false, "EnableAtRestEncryption": true } }'
아래 예제에서는 다음 시나리오를 설명합니다.
-
전송 중 데이터 암호화가 비활성화되고 미사용 데이터 암호화가 활성화됩니다.
-
Amazon S3 암호화는 SSE-S3에서 활성화되고 로컬 디스크 암호화는 비활성화됩니다.
aws emr create-security-configuration --name "MyS3EncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-S3" } } } }'
아래 예제에서는 다음 시나리오를 설명합니다.
-
전송 중 데이터 암호화가 비활성화되고 미사용 데이터 암호화가 활성화됩니다.
-
로컬 디스크 암호화는 키 공급자 AWS KMS 로에서 활성화되고 Amazon S3 암호화는 비활성화됩니다.
aws emr create-security-configuration --name "MyLocalDiskEncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'
아래 예제에서는 다음 시나리오를 설명합니다.
-
전송 중 데이터 암호화가 비활성화되고 미사용 데이터 암호화가 활성화됩니다.
-
로컬 디스크 암호화는 키 공급자 AWS KMS 로에서 활성화되고 Amazon S3 암호화는 비활성화됩니다.
-
EBS 암호화가 활성화되었습니다.
aws emr create-security-configuration --name "MyLocalDiskEncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "LocalDiskEncryptionConfiguration": { "EnableEbsEncryption": true, "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'
아래 예제에서는 다음 시나리오를 설명합니다.
SSE-EMR-WAL 는 EMR WAL 암호화에 사용됩니다.
aws emr create-security-configuration --name "MySecConfig" \ --security-configuration '{ "EncryptionConfiguration": { "EMRWALEncryptionConfiguration":{ }, "EnableInTransitEncryption":false, "EnableAtRestEncryption":false } }'
관련 암호화를 활성화하려는 경우 EnableInTransitEncryption
및 EnableAtRestEncryption
은 여전히 true일 수 있습니다.
아래 예제에서는 다음 시나리오를 설명합니다.
SSE-KMS-WAL 는 EMR WAL 암호화에 사용됩니다.
서버 측 암호화는를 키 공급자 AWS Key Management Service 로 사용합니다.
aws emr create-security-configuration --name "MySecConfig" \ --security-configuration '{ "EncryptionConfiguration": { "EMRWALEncryptionConfiguration":{ "AwsKmsKey":"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "EnableInTransitEncryption":false, "EnableAtRestEncryption":false } }'
관련 암호화를 활성화하려는 경우 EnableInTransitEncryption
및 EnableAtRestEncryption
은 여전히 true일 수 있습니다.
JSON 암호화 설정에 대한 참조
다음 표에는 암호화 설정에 대한 JSON 파라미터가 나열되어 있으며 각 파라미터에 허용되는 값에 대한 설명이 나와 있습니다.
파라미터 | 설명 |
---|---|
"EnableInTransitEncryption" :
true | false |
true 를 지정하여 전송 중 데이터 암호화를 활성화하고 false 를 지정하여 비활성화합니다. 생략되면 false 가 가정되고 전송 중 암호화가 비활성화됩니다. |
"EnableAtRestEncryption": true |
false |
true 를 지정하여 미사용 데이터 암호화를 활성화하고 false 를 지정하여 비활성화합니다. 생략되면 false 가 가정되고 미사용 암호화가 비활성화됩니다. |
전송 중 데이터 암호화 파라미터 | |
"InTransitEncryptionConfiguration" : |
EnableInTransitEncryption 이 true 일 때 전송 중 암호화를 구성하는 데 사용된 값의 집합을 지정합니다. |
"CertificateProviderType": "PEM" |
"Custom" |
압축된 파일에 참조된 PEM 인증서를 사용할지 또는 Custom 인증서 공급자를 사용할지를 지정합니다. PEM 이 지정된 경우는 인증서가 포함된 zip 파일의 Amazon S3 위치에 대한 참조여야 S3Object 합니다. 사용자 지정이 지정된 경우는 JAR 파일의 Amazon S3에 있는 위치에 대한 참조여야 하며, 그 뒤에 CertificateProviderClass 항목이 와야 S3Object 합니다. |
"S3Object" :
" |
" |
가 지정되면 zip 파일에, PEM 가 Custom 지정되면 JAR 파일에 Amazon S3의 위치를 제공합니다. 형식은 경로(예: s3://MyConfig/artifacts/CertFiles.zip ) 또는 ARN (예: )일 수 있습니다arn:aws:s3:::Code/MyCertProvider.jar) . zip 파일을 지정할 경우 정확히 privateKey.pem 및 certificateChain.pem 이라는 이름의 파일이 포함되어야 합니다. trustedCertificates.pem 이라는 이름의 파일은 선택 사항입니다. |
"CertificateProviderClass" :
" |
에 Custom 가 지정된 경우에만 필요합니다CertificateProviderType .는 JAR 파일에 선언된 전체 클래스 이름을 지정하여 TLSArtifactsProvider 인터페이스를 구현합니다. 예: com.mycompany.MyCertProvider . |
미사용 데이터 암호화 파라미터 | |
"AtRestEncryptionConfiguration" : |
Amazon S3 암호화 및 로컬 디스크 암호화를 true 포함하여이 EnableAtRestEncryption 인 경우 유휴 시 암호화를 위한 값 모음을 지정합니다. |
Amazon S3 암호화 파라미터 | |
"S3EncryptionConfiguration" : |
Amazon File System()을 사용한 Amazon S3 암호화에 사용되는 값 모음을 지정합니다EMRFS. EMR |
"EncryptionMode" : "SSE-S3" |
"SSE-KMS" | "CSE-KMS" |
"CSE-Custom" |
사용할 Amazon S3 암호화 유형을 지정합니다. SSE-S3 이 지정된 경우 Amazon S3 암호화 값이 더 이상 필요하지 않습니다. SSE-KMS 또는 CSE-KMS 중 하나를 지정하면를 AWS KMS key ARN AwsKmsKey 값으로 지정해야 합니다. CSE-Custom 을 지정할 경우 S3Object 및 EncryptionKeyProviderClass 값을 지정해야 합니다. |
"AwsKmsKey" :
" |
SSE-KMS 또는 CSE-KMS 가에 지정된 경우에만 필요합니다EncryptionMode .는 키(예: )ARN에 완전히 지정되어야 합니다arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 . |
"S3Object" :
" |
에 CSE-Custom 가 지정된 경우에만 필요합니다CertificateProviderType .는 Amazon S3의 위치를 JAR 파일에 제공합니다. 형식은 경로(예: s3://MyConfig/artifacts/MyKeyProvider.jar ) 또는 ARN (예: )일 수 있습니다arn:aws:s3:::Code/MyKeyProvider.jar) . |
"EncryptionKeyProviderClass" :
" |
에 CSE-Custom 가 지정된 경우에만 필요합니다EncryptionMode .는 인터페이스를 구현 EncryptionMaterialsProvider하는 애플리케이션에서 선언된 클래스의 전체 클래스 이름을 지정합니다. 예: . |
로컬 디스크 암호화 파라미터 | |
"LocalDiskEncryptionConfiguration" |
로컬 디스크 암호화에 사용할 키 공급자 및 해당 값을 지정합니다. |
"EnableEbsEncryption": |
EBS 암호화를 활성화true 하도록를 지정합니다. EBS 암호화는 EBS 루트 디바이스 볼륨과 연결된 스토리지 볼륨을 암호화합니다. EBS 암호화를 사용하려면를 AwsKms 로 지정해야 합니다EncryptionKeyProviderType . |
"EncryptionKeyProviderType": "AwsKms" |
"Custom" |
카 공급자를 지정합니다. AwsKms 이 지정된 경우 KMS 키를 AwsKmsKey 값으로 지정해야 ARN 합니다. Custom 을 지정할 경우 S3Object 및 EncryptionKeyProviderClass 값을 지정해야 합니다. |
"AwsKmsKey :
" |
에 AwsKms 가 지정된 경우에만 필요합니다Type .는 키(예: )ARN에 완전히 지정되어야 합니다arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123 . |
"S3Object" :
" |
에 CSE-Custom 가 지정된 경우에만 필요합니다CertificateProviderType .는 Amazon S3의 위치를 JAR 파일에 제공합니다. 형식은 경로(예: s3://MyConfig/artifacts/MyKeyProvider.jar ) 또는 ARN (예: )일 수 있습니다arn:aws:s3:::Code/MyKeyProvider.jar) . |
|
에 Custom 가 지정된 경우에만 필요합니다Type .는 인터페이스를 구현 EncryptionMaterialsProvider하는 애플리케이션에서 선언된 클래스의 전체 클래스 이름을 지정합니다. 예: . |
EMR WAL 암호화 파라미터 | |
"EMRWALEncryptionConfiguration"
|
EMR WAL 암호화 값을 지정합니다. |
"AwsKmsKey"
|
CMK 키 ID Arn을 지정합니다. |
Kerberos 인증 구성
Kerberos 설정을 통한 보안 구성은 Kerberos 속성을 통해 생성된 클러스터에서만 사용할 수 있고, 그렇지 않을 경우 오류가 발생합니다. 자세한 내용은 Amazon에서의 인증에 Kerberos 사용 EMR 단원을 참조하십시오. Kerberos는 Amazon EMR 릴리스 버전 5.10.0 이상에서만 사용할 수 있습니다.
콘솔을 사용하여 Kerberos 설정 지정
다음 지침에 따라 Kerberos 인증에서 옵션을 선택합니다.
파라미터 | 설명 | ||
---|---|---|---|
Kerberos |
이 보안 구성을 사용하는 클러스터에 대해 Kerberos가 활성화되도록 지정합니다. 클러스터에서 이 보안 구성을 사용하는 경우 클러스터에는 Kerberos 설정이 지정되어 있어야 하며 그렇지 않을 경우 오류가 발생합니다. |
||
공급자 |
클러스터 전용 KDC |
Amazon이이 보안 구성을 사용하는 클러스터의 기본 노드KDC에를 EMR 생성하도록 지정합니다. 클러스터를 생성할 때 영역 이름과 KDC 관리자 암호를 지정합니다. 필요한 경우 다른 클러스터KDC에서 이를 참조할 수 있습니다. 다른 보안 구성을 사용하여 클러스터를 생성하고, 외부를 지정하고KDC, 클러스터 전용에 지정한 영역 이름과 KDC 관리자 암호를 사용합니다KDC. |
|
외부 KDC |
Amazon EMR 5.20.0 이상에서만 사용할 수 있습니다. 이 보안 구성을 사용하는 클러스터가 클러스터 외부의 KDC 서버를 사용하여 Kerberos 보안 주체를 인증하도록 지정합니다. 클러스터에 KDC이 생성되지 않습니다. 클러스터를 생성할 때 외부의 영역 이름과 KDC 관리자 암호를 지정합니다KDC. |
||
티켓 수명 |
선택 사항. 에서 발급한 Kerberos 티켓KDC이이 보안 구성을 사용하는 클러스터에서 유효한 기간을 지정합니다. 보안 상의 이유로 티켓 사용 기간이 제한됩니다. 클러스터 애플리케이션 및 서비스는 기간이 만료된 티켓을 자동 갱신합니다. Kerberos 자격 증명을 SSH 사용하여 클러스터에 연결하는 사용자는 티켓이 만료된 후 갱신하려면 기본 노드 명령줄 |
||
교차 영역 신뢰 |
이 보안 구성을 사용하는 클러스터 KDC 전용 클러스터와 KDC 다른 Kerberos 영역의 간의 교차 영역 신뢰를 지정합니다. 다른 영역의 보안 주체(주로 사용자)가 이 구성을 사용하는 클러스터에 인증을 받습니다. 다른 Kerberos 영역에서 추가 구성이 필요합니다. 자세한 내용은 자습서: Active Directory 도메인과 교차 영역 신뢰 구성 단원을 참조하십시오. |
||
교차 영역 신뢰 속성 |
영역 |
신뢰 관계에 있는 다른 영역의 Kerberos 영역 이름을 지정합니다. 규칙에 따라 Kerberos 영역 이름은 도메인 이름과 동일하고 모두 대문자입니다. |
|
도메인 |
신뢰 관계에 있는 다른 영역의 도메인 이름을 지정합니다. |
||
관리자 서버 |
신뢰 관계의 다른 영역에 있는 관리자 서버의 정규화된 도메인 이름(FQDN) 또는 IP 주소를 지정합니다. 관리자 서버와 KDC 서버는 일반적으로가 동일한 시스템에서 실행FQDN되지만 서로 다른 포트에서 통신합니다. 지정된 포트가 없으면 Kerberos 기본 설정인 포트 749 포트를 사용합니다. 아니면 포트를 지정해도 됩니다(예: |
||
KDC 서버 |
신뢰 관계의 다른 영역에 있는 KDC 서버의 정규화된 도메인 이름(FQDN) 또는 IP 주소를 지정합니다. KDC 서버와 관리자 서버는 일반적으로 동일한를 가진 동일한 시스템에서 실행FQDN되지만 다른 포트를 사용합니다. 지정된 포트가 없으면 Kerberos 기본 설정인 포트 88 포트를 사용합니다. 아니면 포트를 지정해도 됩니다(예: |
||
외부 KDC |
클러스터에서 외부 클러스터를 KDC 사용하도록 지정합니다. |
||
외부 KDC 속성 |
관리자 서버 |
외부 관리자 서버의 정규화된 도메인 이름(FQDN) 또는 IP 주소를 지정합니다. 관리자 서버와 KDC 서버는 일반적으로가 동일한 시스템에서 실행FQDN되지만 서로 다른 포트에서 통신합니다. 지정된 포트가 없으면 Kerberos 기본 설정인 포트 749 포트를 사용합니다. 아니면 포트를 지정해도 됩니다(예: |
|
KDC 서버 |
외부 KDC 서버의 정규화된 도메인 이름(FQDN)을 지정합니다. KDC 서버와 관리자 서버는 일반적으로 동일한를 가진 동일한 시스템에서 실행FQDN되지만 다른 포트를 사용합니다. 지정된 포트가 없으면 Kerberos 기본 설정인 포트 88 포트를 사용합니다. 아니면 포트를 지정해도 됩니다(예: |
||
Active Directory 통합 |
Kerberos 보안 주체 인증이 Microsoft Active Directory 도메인과 통합되도록 지정합니다. |
||
Active Directory 통합 속성 |
Active Directory 영역 |
Active Directory 도메인의 Kerberos 영역 이름을 지정합니다. 규칙에 따라 Kerberos 영역 이름은 일반적으로 도메인 이름과 동일하고 모두 대문자입니다. |
|
Active Directory 도메인 |
Active Directory 도메인 이름을 지정합니다. |
||
Active Directory 서버 |
Microsoft Active Directory 도메인 컨트롤러의 정규화된 도메인 이름(FQDN)을 지정합니다. |
를 사용하여 Kerberos 설정 지정 AWS CLI
다음 참조 표는 보안 구성의 Kerberos 설정에 대한 JSON 파라미터를 보여줍니다. 구성에 대한 예시는 구성 예제 단원을 참조하세요.
파라미터 | 설명 | |||||
---|---|---|---|---|---|---|
|
Kerberos에 필요합니다. 인증 구성이 이 보안 구성의 일부인지를 지정합니다. |
|||||
|
|
Kerberos에 필요합니다. Kerberos 구성 속성을 지정합니다. |
||||
|
|
|
||||
"ClusterDedicatedKdcConfiguration": { |
|
|||||
|
선택 사항. 에서 발급한 Kerberos 티켓KDC이이 보안 구성을 사용하는 클러스터에서 유효한 기간을 지정합니다. 보안 상의 이유로 티켓 사용 기간이 제한됩니다. 클러스터 애플리케이션 및 서비스는 기간이 만료된 티켓을 자동 갱신합니다. Kerberos 자격 증명을 SSH 사용하여 클러스터에 연결하는 사용자는 티켓이 만료된 후 갱신하려면 기본 노드 명령줄 |
|||||
|
이 보안 구성을 사용하는 클러스터 KDC 전용 클러스터와 KDC 다른 Kerberos 영역의 간의 교차 영역 신뢰를 지정합니다. 다른 영역의 보안 주체(주로 사용자)가 이 구성을 사용하는 클러스터에 인증을 받습니다. 다른 Kerberos 영역에서 추가 구성이 필요합니다. 자세한 내용은 자습서: Active Directory 도메인과 교차 영역 신뢰 구성 단원을 참조하십시오. |
|||||
|
신뢰 관계에 있는 다른 영역의 Kerberos 영역 이름을 지정합니다. 규칙에 따라 Kerberos 영역 이름은 도메인 이름과 동일하고 모두 대문자입니다. |
|||||
|
신뢰 관계에 있는 다른 영역의 도메인 이름을 지정합니다. |
|||||
|
신뢰 관계의 다른 영역에 있는 관리자 서버의 정규화된 도메인 이름(FQDN) 또는 IP 주소를 지정합니다. 관리자 서버와 KDC 서버는 일반적으로가 동일한 시스템에서 실행FQDN되지만 서로 다른 포트에서 통신합니다. 지정된 포트가 없으면 Kerberos 기본 설정인 포트 749 포트를 사용합니다. 아니면 포트를 지정해도 됩니다(예: |
|||||
|
신뢰 관계의 다른 영역에 있는 KDC 서버의 정규화된 도메인 이름(FQDN) 또는 IP 주소를 지정합니다. KDC 서버 및 관리자 서버는 일반적으로 동일한를 가진 동일한 시스템에서 실행FQDN되지만 다른 포트를 사용합니다. 지정된 포트가 없으면 Kerberos 기본 설정인 포트 88 포트를 사용합니다. 아니면 포트를 지정해도 됩니다(예: |
|||||
|
||||||
|
||||||
"ExternalKdcConfiguration": { |
|
|||||
|
선택 사항. 에서 발급한 Kerberos 티켓KDC이이 보안 구성을 사용하는 클러스터에서 유효한 기간을 지정합니다. 보안 상의 이유로 티켓 사용 기간이 제한됩니다. 클러스터 애플리케이션 및 서비스는 기간이 만료된 티켓을 자동 갱신합니다. Kerberos 자격 증명을 SSH 사용하여 클러스터에 연결하는 사용자는 티켓이 만료된 후 갱신하려면 기본 노드 명령줄 |
|||||
|
단일 KDC 서버가 참조되도록 지정합니다. |
|||||
"AdminServer": " |
외부 관리자 서버의 정규화된 도메인 이름(FQDN) 또는 IP 주소를 지정합니다. 관리자 서버와 KDC 서버는 일반적으로가 동일한 시스템에서 실행FQDN되지만 서로 다른 포트에서 통신합니다. 지정된 포트가 없으면 Kerberos 기본 설정인 포트 749 포트를 사용합니다. 아니면 포트를 지정해도 됩니다(예: |
|||||
"KdcServer": " |
외부 KDC 서버의 정규화된 도메인 이름(FQDN)을 지정합니다. KDC 서버 및 관리자 서버는 일반적으로 동일한를 가진 동일한 시스템에서 실행FQDN되지만 다른 포트를 사용합니다. 지정된 포트가 없으면 Kerberos 기본 설정인 포트 88 포트를 사용합니다. 아니면 포트를 지정해도 됩니다(예: |
|||||
|
Kerberos 보안 주체 인증이 Microsoft Active Directory 도메인과 통합되도록 지정합니다. |
|||||
|
|
Active Directory 도메인의 Kerberos 영역 이름을 지정합니다. 규칙에 따라 Kerberos 영역 이름은 일반적으로 도메인 이름과 동일하고 모두 대문자입니다. |
||||
|
Active Directory 도메인 이름을 지정합니다. |
|||||
|
Microsoft Active Directory 도메인 컨트롤러의 정규화된 도메인 이름(FQDN)을 지정합니다. |
|||||
|
||||||
|
||||||
|
||||||
|
Amazon S3에 대한 EMRFS 요청에 대한 IAM 역할 구성
IAM의 역할을 EMRFS 사용하면 Amazon S3의 EMRFS 데이터에 대해 다양한 권한을 제공할 수 있습니다. 액세스 요청에 지정한 식별자가 포함될 때 권한 부여에 사용되는 IAM 역할을 지정하는 매핑을 생성합니다. Hadoop 사용자, 역할 또는 Amazon S3 접두사가 식별자가 될 수 있습니다.
자세한 내용은 Amazon S3에 대한 EMRFS 요청에 대한 IAM 역할 구성 단원을 참조하십시오.
를 EMRFS 사용하기 위한 IAM 역할 지정 AWS CLI
다음은 보안 구성 EMRFS 내에서 JSON에 대한 사용자 지정 IAM 역할을 지정하는 예제 코드 조각입니다. 이 예제에서는 세 가지 식별자 유형에 대한 역할 매핑을 보여줍니다. 뒤이어 파라미터 참조가 나옵니다.
{ "AuthorizationConfiguration": { "EmrFsConfiguration": { "RoleMappings": [{ "Role": "
arn:aws:iam::123456789101:role/allow_EMRFS_access_for_user1
", "IdentifierType": "User", "Identifiers": [ "user1
" ] },{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_to_demo_s3_buckets
", "IdentifierType": "Prefix", "Identifiers": [ "s3://amzn-s3-demo-bucket1/","s3://amzn-s3-demo-bucket2/
" ] },{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_AdminGroup
", "IdentifierType": "Group", "Identifiers": [ "AdminGroup
" ] }] } } }
파라미터 | 설명 |
---|---|
|
필수 사항입니다. |
|
필수 사항입니다. 역할 매핑을 포함합니다. |
|
필수 사항입니다. 역할 매핑 정의를 하나 이상 포함. 역할 매핑은 표시되는 순서대로 위에서부터 아래로 평가됩니다. 역할 매핑이 Amazon S3의 데이터 EMRFS 호출에 대해 true로 평가되는 경우 추가 역할 매핑은 평가되지 않으며 요청에 지정된 IAM 역할을 EMRFS 사용합니다. 역할 매핑은 다음과 같은 필수 파라미터로 구성됩니다. |
|
형식의 IAM 역할 ARN 식별자를 지정합니다 |
|
다음 중 하나가 될 수 있습니다.
|
|
해당 식별자 유형의 하나 이상의 식별자를 지정합니다. 공백 없이 콤마로 구분된 여러 개의 식별자. |
Amazon EC2 인스턴스에 대한 메타데이터 서비스 요청 구성
인스턴스 메타데이터는 실행 중인 인스턴스를 구성 또는 관리하는 데 사용될 수 있는 인스턴스 관련 데이터입니다. 다음 방법 중 하나를 사용하여 실행 중인 인스턴스에서 인스턴스 메타데이터에 액세스할 수 있습니다.
-
인스턴스 메타데이터 서비스 버전 1(IMDSv1) - 요청/응답 방법
-
인스턴스 메타데이터 서비스 버전 2(IMDSv2) - 세션 지향 방법
Amazon은 IMDSv1 및를 모두 EC2 지원하지만 IMDSv2Amazon은 Amazon EMR 5.23.1, 5.27.1, 5.32 이상 및 6.2 이상IMDSv2에서를 EMR 지원합니다. 이러한 릴리스에서 Amazon EMR 구성 요소는 모든 IMDS 호출IMDSv2에를 사용합니다. 애플리케이션 코드의 IMDS 호출의 경우 IMDSv1 및를 모두 사용하거나 추가 보안IMDSv2에만 사용하도록 IMDS를 IMDSv2구성할 수 있습니다. IMDSv2를 사용해야 하도록 지정하면 IMDSv1는 더 이상 작동하지 않습니다.
자세한 내용은 Amazon EC2 사용 설명서의 인스턴스 메타데이터 서비스 구성을 참조하세요.
참고
이전 Amazon EMR 5.x 또는 6.x 릴리스에서는 Amazon EMR 구성 요소가 모든 IMDS 호출IMDSv1에 사용하므로를 끄면 클러스터 시작 실패가 IMDSv1 발생합니다. 를 끌 때를 사용하는 사용자 지정 소프트웨어가 로 업데이트IMDSv1되었는지 IMDSv1확인하세요IMDSv2.
AWS CLI를 사용하여 인스턴스 메타데이터 서비스 구성 지정
다음은 보안 구성 내에서 Amazon EC2 인스턴스 메타데이터 서비스(IMDS)를 지정하기 위한 예제 JSON 코드 조각입니다. 사용자 지정 보안 구성을 사용하는 것은 선택 사항입니다.
{ "InstanceMetadataServiceConfiguration" : { "MinimumInstanceMetadataServiceVersion": integer, "HttpPutResponseHopLimit": integer } }
파라미터 | 설명 |
---|---|
|
보안 구성 IMDS 내에서를 지정하지 않고가 필요한 Amazon EMR 릴리스를 사용하는 경우 IMDSv1Amazon은 EMR 기본적으로 IMDSv1를 최소 인스턴스 메타데이터 서비스 버전으로 사용합니다. 자체 구성을 사용하려는 경우 다음 두 파라미터가 모두 필요합니다. |
|
필수 사항입니다. |
|
필수 사항입니다. 인스턴스 메타데이터 요청에 대한 원하는 HTTP PUT 응답 홉 제한입니다. 숫자가 클수록 인스턴스 메타데이터 요청이 더 멀리 이동할 수 있습니다. 기본값: |
콘솔을 사용하여 인스턴스 메타데이터 서비스 구성 지정
Amazon EMR 콘솔에서 클러스터를 시작할 때 클러스터에 IMDS 대한 사용을 구성할 수 있습니다.
콘솔을 IMDS 사용하여 사용을 구성하려면:
-
보안 구성 페이지에서 새 보안 구성을 생성할 때 EC2 인스턴스 메타데이터 서비스 설정에서 인스턴스 메타데이터 서비스 구성을 선택합니다. EC2 이 구성은 Amazon EMR 5.23.1, 5.27.1, 5.32 이상 및 6.2 이상에서만 지원됩니다.
-
최소 인스턴스 메타데이터 서비스 버전 옵션의 경우 다음 중 하나를 선택합니다.
-
IMDSv2이 클러스터에서만를 허용하려면를 IMDSv1 끄고 IMDSv2만 허용합니다. Amazon EC2 사용 설명서의 인스턴스 메타데이터 서비스 버전 2 사용으로 전환을 참조하세요.
-
이 클러스터IMDSv2에서 IMDSv1 및 세션 지향을 허용하려면 클러스터에서 및를 모두 허용합니다. IMDSv1 IMDSv2
-
-
의 경우IMDSv2, HTTP 풋 응답 홉 제한을 ~ 사이의 정수로 설정하여 메타데이터 토큰에 허용되는 네트워크 홉 수를 구성할 수도 있습니다
64
.1
자세한 내용은 Amazon EC2 사용 설명서의 인스턴스 메타데이터 서비스 구성을 참조하세요.
Amazon EC2 사용 설명서의 인스턴스 세부 정보 구성 및 인스턴스 메타데이터 서비스 구성을 참조하세요.