翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EMR コンソールまたは を使用してセキュリティ設定を作成する AWS CLI
このトピックでは、Amazon EMR コンソールと を使用してセキュリティ設定を作成する一般的な手順と AWS CLI、EMRFS の暗号化、認証、IAM ロールを構成するパラメータのリファレンスについて説明します。これらの機能の詳細については、次のトピックを参照してください。
コンソールを使用してセキュリティ設定を作成するには
https://console.aws.amazon.com/emr
で Amazon EMR コンソールを開きます。 -
ナビゲーションペインで [Security Configurations (セキュリティ設定)] を選択して、[Create security configuration (セキュリティ設定の作成)] を選択します。
-
セキュリティ設定の [Name (名前)] を入力します。
-
以下のセクションで説明するように、[Encryption] (暗号化) および [Authentication] (認証) のオプションを選択し、[Create] (作成) を選択します。
を使用してセキュリティ設定を作成するには AWS CLI
-
次の例に示すように
create-security-configuration
コマンドを使用します。-
[
SecConfigName
] で、セキュリティ設定の名前を指定します。この名前は、セキュリティ設定を使用するクラスターを作成する際に指定します。 -
で、インライン JSON 構造またはローカル JSON ファイルへのパス (例:SecConfigDef
) を指定します。JSON パラメータは、以下のセクションで説明するように、[Encryption] (暗号化)、[IAM Roles for EMRFS access to Amazon S3] (Amazon S3 にアクセスするための EMRFS の IAM ロール)、および [Authentication] (認証) のオプションを定義します。file://MySecConfig.json
aws emr create-security-configuration --name "
SecConfigName
" --security-configurationSecConfigDef
-
データ暗号化の設定
セキュリティ設定で暗号化を設定する前に、暗号化に使用するキーと証明書を作成します。詳細については、保管中のデータ暗号化用キーの提供およびAmazon EMR 暗号化を使用して転送中のデータを暗号化するための証明書の提供を参照してください。
セキュリティ設定を作成する場合、保管時のデータ暗号化および転送時のデータ暗号化の 2 種類の暗号化オプションを指定します。保管時のデータの暗号化オプションには、EMRFS での Amazon S3 暗号化とローカルディスク暗号化の両方が含まれます。転送時の暗号化オプションでは、Transport Layer Security (TLS) をサポートする特定のアプリケーションで、オープンソースの暗号化機能を有効にします。保管時と転送時のオプションは、一緒にまたは個別に有効にできます。詳細については、「Amazon EMR による保管中と転送中のデータの暗号化」を参照してください。
注記
を使用する場合 AWS KMS、暗号化キーの保存と使用には料金が適用されます。詳細については、「AWS KMS 料金
コンソールを使用して暗号化オプションを指定する
次のガイドラインに従って、[暗号化] の下のオプションを選択します。
-
ファイルシステム内に保存されたデータを暗号化するには、[At rest encryption (保管時の暗号化)] の下のオプションを選択します。
Amazon S3、ローカルディスク、またはその両方でデータを暗号化するように選択できます。
-
[S3 data encryption] (S3 データ暗号化) の [Encryption mode] (暗号化モード) で、Amazon EMR での EMRFS による Amazon S3 データの暗号化方法を指定する値を選択します。
次に実行する操作は、選択する暗号化モードによって異なります。
-
SSE-S3
Amazon S3 が管理する暗号化キーによるサーバー側の暗号化を指定します。Amazon S3 によってキーが自動的に処理されるため、それ以上何もすることはありません。
-
SSE-KMS または CSE-KMS
AWS KMSマネージドキーによるサーバー側の暗号化 (SSE-KMS) または AWS KMSマネージドキーによるクライアント側の暗号化 (CSE-KMS) を指定します。[AWS KMS key] で、キーを選択します。キーは EMR クラスターと同じリージョンに存在する必要があります。キーの要件については、暗号化 AWS KMS keys に を使用するを参照してください。
-
CSE-Custom
クライアント側のカスタムルートキーを使用したクライアント側の暗号化 (CSE-Custom) を指定します。[S3 object] (S3 オブジェクト) で、カスタムキープロバイダー JAR ファイルの Amazon S3 の場所を入力するか、Amazon S3 ARN を入力します。次に、[Key provider class (キープロバイダークラス)] で、EncryptionMaterialsProvider インターフェイスを実装するアプリケーションで宣言するクラスの完全なクラス名を入力します。
-
-
[Local disk encryption (ローカルディスク暗号化)] で、[Key provider type (キープロバイダーのタイプ)] の値を選択します。
-
AWS KMS key
このオプションを選択して AWS KMS keyを指定します。[AWS KMS key] で、キーを選択します。キーは EMR クラスターと同じリージョンに存在する必要があります。キーの要件の詳細については、暗号化 AWS KMS keys に を使用するを参照してください。
EBS 暗号化
をキープロバイダー AWS KMS として指定すると、EBS 暗号化を有効にして EBS ルートデバイスとストレージボリュームを暗号化できます。このようなオプションを有効にするには、Amazon EMR サービスロール
EMR_DefaultRole
に、指定した AWS KMS key を使用するアクセス許可を付与する必要があります。キーの要件の詳細については、KMS キーに追加のアクセス許可を提供して EBS 暗号化を有効にするを参照してください。 -
カスタム
カスタムキープロバイダーを指定するには、このオプションを選択します。[S3 object] (S3 オブジェクト) で、カスタムキープロバイダー JAR ファイルの Amazon S3 の場所を入力するか、Amazon S3 ARN を入力します。[Key provider class (キープロバイダークラス)] で、EncryptionMaterialsProvider インターフェイスを実装するアプリケーションで宣言するクラスの完全なクラス名を入力します。ここで提供するクラス名は、CSE カスタムで提供したクラス名とは異なる必要があります。
-
-
転送時の暗号化でオープンソース TLS 暗号化機能を有効にするには、[In-transit encryption (転送時の暗号化)] を選択します。以下のガイドラインに従って [Certificate provider type (証明書プロバイダーのタイプ)] を選択します。
-
PEM
このオプションを選択すると、zip ファイル内で提供する PEM ファイルを使用できます。zip ファイル内では、privateKey.pem と certificateChain.pem の 2 つのアーティファクトが必要です。3 つ目の trustedCertificates.pem ファイルはオプションです。詳細については、「Amazon EMR 暗号化を使用して転送中のデータを暗号化するための証明書の提供」を参照してください。[S3 object] (S3 オブジェクト) で、zip ファイルフィールドの Amazon S3 の場所または Amazon S3 ARN を指定します。
-
カスタム
このオプションを選択してカスタム証明書プロバイダーを指定し、[S3 object] (S3 オブジェクト) で、カスタム証明書プロバイダー JAR ファイルの Amazon S3 の場所、または Amazon S3 ARN を指定します。[Key provider class (キープロバイダークラス)] で、TLSArtifactsProvider インターフェイスを実装するアプリケーションで宣言するクラスの完全なクラス名を入力します。
-
を使用した暗号化オプションの指定 AWS CLI
以下のセクションでは、サンプルシナリオを使用して、設定、キープロバイダー、JSON パラメータの参照、および適切な値ごとに正しい形式の --security-configuration 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" } } } }'
次の例は、以下のシナリオについて示しています。
-
伝送中のデータ暗号化が有効で、ARN を使用して Amazon S3 の PEM 証明書を含む zip ファイルを参照します。
-
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" } } } }'
次の例は、以下のシナリオについて示しています。
-
伝送中のデータ暗号化は、カスタムキープロバイダーで有効になります。
-
Amazon S3 データに CSE-Custom が使用されます。
-
ローカルディスク暗号化ではカスタムキープロバイダーが使用されます。
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 バケットごとに 1 つずつ、複数の 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" : 真 | false |
Specify true to enable in-transit encryption
and false to disable it. If omitted,
false is assumed, and in-transit encryption
is disabled. |
"EnableAtRestEncryption": true |
false |
Specify true to enable at-rest encryption
and false to disable it. If omitted,
false is assumed and at-rest encryption is
disabled. |
伝送中の暗号化パラメータ | |
"InTransitEncryptionConfiguration" : |
Specifies a collection of values used to configure
in-transit encryption when
EnableInTransitEncryption is
真 . |
"CertificateProviderType": "PEM" |
"Custom" |
Specifies whether to use PEM certificates
referenced with a zipped file, or a カスタム
certificate provider. If PEM is specified,
S3Object must be a reference to the
location in Amazon S3 of a zip file containing the certificates.
If Custom is specified, S3Object must be a
reference to the location in Amazon S3 of a JAR file, followed by
a CertificateProviderClass entry. |
"S3Object" : " |
" |
Provides the location in Amazon S3 to a zip file when
PEM is specified, or to a JAR file when
カスタム is specified. The format can be a
path (for example,
s3://MyConfig/artifacts/CertFiles.zip ) or
an ARN (for example,
arn:aws:s3:::Code/MyCertProvider.jar) . If a
zip file is specified, it must contain files named exactly
privateKey.pem and
certificateChain.pem . A file named
trustedCertificates.pem is
optional. |
"CertificateProviderClass" : " |
Required only if カスタム is specified for
CertificateProviderType .
specifies a full class name declared in the JAR file, which
implements the TLSArtifactsProvider interface. For example,
com.mycompany.MyCertProvider . |
保管時の暗号化パラメータ | |
"AtRestEncryptionConfiguration" : |
Specifies a collection of values for at-rest encryption
when EnableAtRestEncryption is
真 , including Amazon S3 encryption and local
disk encryption. |
Amazon S3 暗号化パラメータ | |
"S3EncryptionConfiguration" : |
Specifies a collection of values used for Amazon S3 encryption with the Amazon EMR File System (EMRFS). |
"EncryptionMode" : "SSE-S3" |
"SSE-KMS" | "CSE-KMS" |
"CSE-Custom" |
Specifies the type of Amazon S3 encryption to use. If
SSE-S3 is specified, no further Amazon S3
encryption values are required. If either
SSE-KMS or CSE-KMS is
specified, an AWS KMS key ARN must be specified as the
AwsKmsKey value. If CSE-Custom
is specified, S3Object and
EncryptionKeyProviderClass values must be
specified. |
"AwsKmsKey" : " |
Required only when either SSE-KMS or
CSE-KMS is specified for
EncryptionMode .
must be a fully specified ARN to a key (for example,
arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 ). |
"S3Object" : " |
Required only when CSE-Custom is specified
for CertificateProviderType .
provides the location in Amazon S3 to a JAR file. The format can
be a path (for example,
s3://MyConfig/artifacts/MyKeyProvider.jar )
or an ARN (for example,
arn:aws:s3:::Code/MyKeyProvider.jar) . |
"EncryptionKeyProviderClass" : " |
Required only when CSE-Custom is specified
for EncryptionMode .
specifies a full class name of a class declared in the
application that implements the EncryptionMaterialsProvider
interface; for example,
. |
ローカルディスクの暗号化パラメータ | |
"LocalDiskEncryptionConfiguration" |
Specifies the key provider and corresponding values to be used for local disk encryption. |
"EnableEbsEncryption": |
Specify 真 to enable EBS encryption. EBS
encryption encrypts the EBS root device volume and attached
storage volumes. To use EBS encryption, you must specify
AwsKms as your
EncryptionKeyProviderType . |
"EncryptionKeyProviderType": "AwsKms" |
"Custom" |
Specifies the key provider. If AwsKms is
specified, an KMS key ARN must be specified as the
AwsKmsKey value. If
カスタム is specified,
S3Object and
EncryptionKeyProviderClass values must be
specified. |
"AwsKmsKey : " |
Required only when AwsKms is specified for
タイプ .
must be a fully specified ARN to a key (for example,
arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123 ). |
"S3Object" : " |
Required only when CSE-Custom is specified
for CertificateProviderType .
provides the location in Amazon S3 to a JAR file. The format can
be a path (for example,
s3://MyConfig/artifacts/MyKeyProvider.jar )
or an ARN (for example,
arn:aws:s3:::Code/MyKeyProvider.jar) . |
|
Required only when カスタム is specified for
タイプ .
specifies a full class name of a class declared in the
application that implements the EncryptionMaterialsProvider
interface; for example,
. |
EMR WAL 暗号化パラメータ | |
"EMRWALEncryptionConfiguration" |
Specifies the value for EMR WAL encryption. |
"AwsKmsKey" |
Specifies the CMK Key Id Arn. |
Kerberos 認証の設定
Kerberos 設定を使用したセキュリティ設定は、Kerberos 属性を使用して作成されているクラスターでのみ使用できます。それ以外の場合はエラーが発生します。詳細については、「Amazon EMR での認証に Kerberos を使用する」を参照してください。Kerberos は Amazon EMR リリースバージョン 5.10.0 以降でのみ使用できます。
コンソールを使用して Kerberos 設定を指定する
次のガイドラインに従って、[Kerberos authentication (Kerberos 認証)] のオプションを選択します。
パラメータ | 説明 | ||
---|---|---|---|
Kerberos |
このセキュリティ設定を使用するクラスターで Kerberos を有効にすることを指定します。クラスターがこのセキュリティ設定を使用する場合、クラスターで Kerberos 設定も指定する必要があります。そうしないと、エラーが発生します。 |
||
プロバイダー |
クラスター専用 KDC |
Amazon EMR が、このセキュリティ設定を使用するクラスターのプライマリノードに KDC を作成することを指定します。領域名と KDC 管理者パスワードは、クラスターの作成時に指定します。 必要に応じて、この KDC を他のクラスターから参照できます。異なるセキュリティ設定を使用してこれらのクラスターを作成し、外部 KDC を指定し、クラスター専用 KDC に指定した領域名と KDC 管理者パスワードを使用します。 |
|
外部 KDC |
Amazon EMR 5.20.0 以降でのみ利用できます。このセキュリティ設定を使用するクラスターが、クラスター外の KDC サーバーを使用して Kerberos プリンシパルを認証するように指定します。KDC はクラスター上に作成されません。クラスターの作成時に、外部 KDC の領域名と KDC 管理者パスワードを指定します。 |
||
チケットのライフタイム |
オプション。このセキュリティ設定を使用するクラスターで KDC によって発行された Kerberos チケットが有効である期間を指定します。 チケットの有効期間は、セキュリティ上の理由により制限されます。クラスターアプリケーションとサービスでは、期限が切れるとチケットを自動更新します。Kerberos 認証情報を使用して SSH 経由でクラスターに接続する場合は、チケットの有効期限が切れたら、プライマリノードのコマンドラインから |
||
クロス領域信頼 |
このセキュリティ設定を使用するクラスター上のクラスター専用 KDC と、異なる Kerberos 領域内の KDC との間のクロス領域信頼を指定します。 別の領域のプリンシパル (通常はユーザー) は、この設定を使用するクラスターに対して認証されます。他の Kerberos 領域での追加設定が必要です。詳細については、「チュートリアル: Active Directory ドメインを使用したクロス領域信頼の設定」を参照してください。 |
||
クロス領域信頼プロパティ |
領域 |
信頼関係の他の領域の Kerberos 領域名を指定します。慣例により、Kerberos 領域名はドメイン名と同じにします。ただし、すべて大文字にします。 |
|
[ドメイン] |
信頼関係の他の領域のドメイン名を指定します。 |
||
[Admin server] (管理者サーバー) |
信頼関係の他の領域の管理サーバーの完全修飾ドメイン名 (FQDN) または IP アドレスを指定します。通常、管理サーバーと KDC サーバーは同じ FQDN を持つ同じマシン上で実行されますが、通信には別のポートを使用します。 ポートを指定しない場合、Kerberos のデフォルトであるポート 749 が使用されます。オプションで、ポート ( |
||
[KDC server] (KDC サーバー) |
信頼関係の他の領域の KDC サーバーの完全修飾ドメイン名 (FQDN) または IP アドレスを指定します。通常、KDC サーバーと管理サーバーは同じ FQDN を持つ同じマシン上で実行されますが、別のポートを使用します。 ポートを指定しない場合、Kerberos のデフォルトであるポート 88 が使用されます。オプションで、ポート ( |
||
外部 KDC |
クラスター外部 KDC がクラスターで使用されることを指定します。 |
||
外部 KDC プロパティ |
[Admin server] (管理者サーバー) |
外部管理サーバーの完全修飾ドメイン名 (FQDN) または IP アドレスを指定します。通常、管理サーバーと KDC サーバーは同じ FQDN を持つ同じマシン上で実行されますが、通信には別のポートを使用します。 ポートを指定しない場合、Kerberos のデフォルトであるポート 749 が使用されます。オプションで、ポート ( |
|
[KDC server] (KDC サーバー) |
外部 KDC サーバーの完全修飾ドメイン名 (FQDN) を指定します。通常、KDC サーバーと管理サーバーは同じ FQDN を持つ同じマシン上で実行されますが、別のポートを使用します。 ポートを指定しない場合、Kerberos のデフォルトであるポート 88 が使用されます。オプションで、ポート ( |
||
[Active Directory Integration] (Active Directory の統合) |
Kerberos プリンシパル認証が Microsoft Active Directory ドメインに統合されることを指定します。 |
||
Active Directory 統合プロパティ |
[Active Directory realm] (Active Directory 領域) |
Active Directory ドメインの Kerberos 領域名を指定します。慣例により、Kerberos 領域名は通常、ドメイン名と同じにします。ただし、すべて大文字にします。 |
|
[Active Directory domain] (Active Directory ドメイン) |
Active Directory ドメイン名を指定します。 |
||
[Active Directory server] (Active Directory サーバー) |
Microsoft Active Directory ドメインコントローラーの完全修飾ドメイン名 (FQDN) を指定します。 |
を使用した Kerberos 設定の指定 AWS CLI
次のリファレンス表では、セキュリティ設定における Kerberos 設定の JSON パラメータを示しています。設定例については、「設定例」を参照してください。
パラメータ | 説明 | |||||
---|---|---|---|---|---|---|
|
Kerberos の場合は必須です。認証設定がこのセキュリティ設定の一部であることを指定します。 |
|||||
|
|
Kerberos の場合は必須です。Kerberos 設定プロパティを指定します。 |
||||
|
|
|
||||
"ClusterDedicatedKdcConfiguration": { |
|
|||||
|
オプション。このセキュリティ設定を使用するクラスターで KDC によって発行された Kerberos チケットが有効である期間を指定します。 チケットの有効期間は、セキュリティ上の理由により制限されます。クラスターアプリケーションとサービスでは、期限が切れるとチケットを自動更新します。Kerberos 認証情報を使用して SSH 経由でクラスターに接続する場合は、チケットの有効期限が切れたら、プライマリノードのコマンドラインから |
|||||
|
このセキュリティ設定を使用するクラスター上のクラスター専用 KDC と、異なる Kerberos 領域内の KDC との間のクロス領域信頼を指定します。 別の領域のプリンシパル (通常はユーザー) は、この設定を使用するクラスターに対して認証されます。他の Kerberos 領域での追加設定が必要です。詳細については、「チュートリアル: Active Directory ドメインを使用したクロス領域信頼の設定」を参照してください。 |
|||||
|
信頼関係の他の領域の Kerberos 領域名を指定します。慣例により、Kerberos 領域名はドメイン名と同じにします。ただし、すべて大文字にします。 |
|||||
|
信頼関係の他の領域のドメイン名を指定します。 |
|||||
|
信頼関係の他の領域の管理サーバーの完全修飾ドメイン名 (FQDN) または IP アドレスを指定します。通常、管理サーバーと KDC サーバーは同じ FQDN を持つ同じマシン上で実行されますが、通信には別のポートを使用します。 ポートを指定しない場合、Kerberos のデフォルトであるポート 749 が使用されます。オプションで、ポート ( |
|||||
|
信頼関係の他の領域の KDC サーバーの完全修飾ドメイン名 (FQDN) または IP アドレスを指定します。通常、KDC サーバーと管理サーバーは同じ FQDN を持つ同じマシン上で実行されますが、別のポートを使用します。 ポートを指定しない場合、Kerberos のデフォルトであるポート 88 が使用されます。オプションで、ポート ( |
|||||
|
||||||
|
||||||
"ExternalKdcConfiguration": { |
|
|||||
|
オプション。このセキュリティ設定を使用するクラスターで KDC によって発行された Kerberos チケットが有効である期間を指定します。 チケットの有効期間は、セキュリティ上の理由により制限されます。クラスターアプリケーションとサービスでは、期限が切れるとチケットを自動更新します。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 ロールを設定する
EMRFS の IAM ロールを使用すると、Amazon S3 の EMRFS データに異なるアクセス権限を付与することができます。指定した ID がアクセスリクエストに含まれている場合は、アクセス権限で使用する IAM ロールを指定するロールマッピングを作成します。識別子は、Hadoop ユーザーかロール、または Amazon S3 プレフィックスです。
詳細については、「Amazon S3 への EMRFS リクエストの IAM ロールを設定する」を参照してください。
を使用した EMRFS の IAM ロールの指定 AWS CLI
以下は、セキュリティ設定内の EMRFS のカスタム IAM ロールを指定するための JSON スニペットの例です。3 つの異なる識別子タイプのロールマッピングと、パラメータリファレンスを示します。
{ "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
" ] }] } } }
パラメータ | 説明 |
---|---|
|
必須。 |
|
必須。ロールマッピングが含まれます。 |
|
必須。1 つ以上のロールマッピング定義が含まれます。ロールのマッピングは、表示順に上から下に評価されます。Amazon S3 のデータに対する EMRFS 呼び出しでロールマッピングが true と評価された場合、それ以上のロールマッピングは評価されず、EMRFS はリクエストに指定された IAM ロールを使用します。ロールマッピングは、以下の必須パラメータで構成されます。 |
|
IAM ロールの ARN 識別子を形式 |
|
次のいずれかを指定できます。
|
|
適切な識別子タイプの 1 つ以上の識別子を指定します。複数の識別子は、スペースを入れずにカンマで区切ります。 |
Amazon EC2 インスタンスへのメタデータサービスリクエストを設定する
インスタンスメタデータはインスタンスに関するデータで、実行中のインスタンスを設定または管理するために使用します。次のいずれかのメソッドを使って、実行中のインスタンスからインスタンスメタデータにアクセスできます。
-
インスタンスメタデータサービスバージョン 1 (IMDSv1) – リクエスト/レスポンスメソッド
-
インスタンスメタデータサービスバージョン 2 (IMDSv2) – セッション指向メソッド
Amazon EC2 は IMDSv1 と IMDSv2 の両方をサポートしていますが、Amazon EMR 5.23.1、5.27.1、5.32 以降、6.2 以降では IMDSv2 をサポートしています。これらのリリースでは、Amazon EMR コンポーネントはすべての IMDS 呼び出しに IMDSv2 を使用します。アプリケーションコードでの IMDS 呼び出しでは、IMDSv1 と IMDSv2 の両方を使用するか、または、セキュリティを強化するために IMDSv2 のみを使用するように IMDS を設定できます。IMDSv2を使用しなければならないように指定すると、IMDSv1はもう機能しなくなります。
詳細については、「Amazon EC2 ユーザーガイド」の「インスタンスメタデータサービスの設定」を参照してください。
注記
以前の Amazon EMR 5.x または 6.x リリースでは、IMDSv1 をオフにすると、Amazon EMR コンポーネントがすべての IMDS 呼び出しに IMDSv1 を使用するため、クラスターの起動に失敗します。IMDSv1 をオフにするときは、IMDSv1 を使用するカスタムソフトウェアが IMDSv2 に更新されていることを確認してください。
AWS CLIを使用してインスタンスメタデータサービス設定を指定する
以下は、セキュリティ設定内で Amazon EC2 インスタンスメタデータサービス (IMDS) を指定するための JSON スニペットの例です。カスタムセキュリティ設定の使用はオプションです。
{ "InstanceMetadataServiceConfiguration" : { "MinimumInstanceMetadataServiceVersion": integer, "HttpPutResponseHopLimit": integer } }
パラメータ | 説明 |
---|---|
|
セキュリティ設定内で IMDS を指定せず、IMDSv1 を必要とする Amazon EMR リリースを使用する場合、Amazon EMR はデフォルトで、IMDSv1 を最小インスタンスメタデータサービスバージョンとして使用します。独自の設定を使用する場合は、次のパラメータの両方が必要です。 |
|
必須。 |
|
必須。インスタンスメタデータリクエストで必要な HTTP PUT レスポンスのホップ制限。数値が大きいほど、インスタンスメタデータリクエストの転送距離を伸ばすことができます。デフォルト: |
コンソールを使用してインスタンスメタデータサービス設定を指定する
Amazon EMR コンソールから起動するときに、クラスターの IMDS の使用を設定できます。
コンソールを使用して IMDS の使用を設定するには
-
[Security configurations] (セキュリティ設定) ページで新しいセキュリティ設定を作成する場合、[EC2 Instance Metadata Service] (EC2 インスタンスメタデータサービス) 設定で [Configure EC2 Instance metadata service] (EC2 インスタンスメタデータサービスの設定) を選択します。この設定は、Amazon EMR 5.23.1、5.27.1、5.32 以降、および 6.2 以降でのみサポートされます。
-
[Minimum Instance Metadata Service Version] (インスタンスメタデータサービスの最小バージョン) オプションで、次のいずれかを選択します。
-
[Turn off IMDSv1 and only allow IMDSv2] (IMDSv1 をオフにして IMDSv2 のみを許可する)。これは、このクラスターで IMDSv2 のみを許可する場合に選択します。「Amazon EC2 ユーザーガイド」の「インスタンスメタデータサービスバージョン 2 の使用への移行」を参照してください。
-
[Allow both IMDSv1 and IMDSv2 on cluster] (クラスターで IMDSv1 と IMDSv2 の両方を許可する)。これは、このクラスターで IMDSv1 およびセッション指向の IMDSv2 を許可する場合に選択します。
-
-
IMDSv2 では、[HTTP put response hop limit] (HTTP PUT レスポンスのホップ制限) を
1
~64
の整数に設定して、メタデータトークンに許容されるネットワークホップ数を設定することもできます。
詳細については、「Amazon EC2 ユーザーガイド」の「インスタンスメタデータサービスの設定」を参照してください。
「Amazon EC2 ユーザーガイド」の「インスタンスの詳細の設定」および「インスタンスメタデータサービスの設定」を参照してください。