

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Amazon EMR 控制台或使用 AWS CLI
<a name="emr-create-security-configuration"></a>

本主题介绍使用 Amazon EMR 控制台和创建安全配置的一般过程 AWS CLI，然后是构成 EMRFS 加密、身份验证和 IAM 角色的参数的参考。有关这些功能的更多信息，请参阅以下主题：
+ [使用 Amazon EMR 加密静态数据和传输中数据](emr-data-encryption.md)
+ [使用 Kerberos 通过 Amazon EMR 进行身份验证](emr-kerberos.md)
+ [为处理 EMRFS 对 Amazon S3 的请求配置 IAM 角色](emr-emrfs-iam-roles.md)

**使用控制台创建安全配置**

1. 打开 Amazon EMR 控制台（[https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr/)）。

1. 在导航窗格中，选择 **Security Configurations (安全配置)**、**Create security configuration (创建安全配置)**。

1. 键入安全配置的 **Name (名称)**。

1. 按照以下部分中所述选择 **Encryption (加密)**、**Authentication (身份认证)** 选项，然后选择 **Create (创建)**。

**要使用创建安全配置 AWS CLI**
+ 使用以下示例中所示的 `create-security-configuration` 命令。
  + 对于{{SecConfigName}}，请指定安全配置的名称。这是您在创建使用此安全配置的集群时指定的名称。
  + 对于 `{{SecConfigDef}}`，指定内联 JSON 结构或本地 JSON 文件的路径，例如 `{{file://MySecConfig.json}}`。JSON 参数定义 **Encryption (加密)**、**IAM Roles for EMRFS access to Amazon S3 (用于处理 EMRFS 对 Amazon S3 的访问的 IAM 角色)** 和 **Authentication (身份验证)** 的选项，如下面部分所述。

  ```
  aws emr create-security-configuration --name "{{SecConfigName}}" --security-configuration {{SecConfigDef}}
  ```

## 配置数据加密
<a name="emr-security-configuration-encryption"></a>

在配置安全配置中的加密之前，创建用于加密的密钥和凭证。有关更多信息，请参阅[提供加密静态数据的密钥](emr-encryption-enable.md#emr-encryption-create-keys)和[为通过 Amazon EMR 加密来加密传输中的数据提供凭证](emr-encryption-enable.md#emr-encryption-certificates)。

在创建安全配置时，需要指定两组加密选项：静态数据加密和传输中数据加密。静态数据加密选项包括带有 EMRFS 的 Amazon S3 和本地磁盘加密。 In-transit加密选项为某些支持传输层安全 (TLS) 的应用程序启用开源加密功能。 At-rest 选项和在途选项可以同时启用，也可以单独启用。有关更多信息，请参阅 [使用 Amazon EMR 加密静态数据和传输中数据](emr-data-encryption.md)。

**注意**  
使用时 AWS KMS，会收取加密密钥的存储和使用费用。有关更多信息，请参阅[AWS KMS 定价](https://aws.amazon.com/kms/pricing/)。

### 使用控制台指定加密选项
<a name="emr-security-configuration-encryption-console"></a>

根据以下准则选择 **Encryption (加密)** 下的选项。
+ 选择**静态加密**下的选项以加密存储在文件系统中的数据。

  您可以选择加密 Amazon S3 和/或本地磁盘中的数据。
+ 在 **S3 data encryption (S3 数据加密)** 下，对于 **Encryption mode (加密模式)**，选择一个值以确定 Amazon EMR 如何使用 EMRFS 加密 Amazon S3 数据。

  下一步取决于所选的加密模式：
  + **SSE-S3**

    指定[Server-side使用 Amazon S3-managed 加密密钥进行加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)。您无需执行任何其它操作，因为 Amazon S3 将为您处理密钥。
  + **SSE-KMS** 或 **CSE-KMS**

    [使用托管密钥 () 指定服务器端加密，或使用 AWS KMS托管密钥 (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) 指定[客户端 AWS KMS加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html)。CSE-KMS对于 **AWS KMS key**，选择一个键。该密钥必须与您的 EMR 集群同在一个区域中。有关密钥要求，请参阅[AWS KMS keys 用于加密](emr-encryption-enable.md#emr-awskms-keys)。
  + **CSE-Custom**

    [使用自定义客户端根密钥 () CSE-custom 指定客户端加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html#client-side-encryption-client-side-master-key-intro)。对于 **S3 object (S3 对象)**，输入您的自定义密钥提供程序 JAR 文件在 Amazon S3 中或 Amazon S3 ARN 的位置。然后，在**密钥提供程序类**中，输入在实现该EncryptionMaterialsProvider 接口的应用程序中声明的类的完整类名。
+ 在 **Local disk encryption (本地磁盘加密)** 下，为 **Key provider type (密钥提供程序类型)** 选择一个值。
  + **AWS KMS key**

    选择此选项以指定一个 AWS KMS key。对于 **AWS KMS key**，选择一个键。该密钥必须与您的 EMR 集群同在一个区域中。有关密钥要求的更多信息，请参阅[AWS KMS keys 用于加密](emr-encryption-enable.md#emr-awskms-keys)。

    **EBS 加密**

    当您指定 AWS KMS 为密钥提供程序时，可以启用 EBS 加密来加密 EBS 根设备和存储卷。要启用此选项，您必须向 Amazon EMR 服务角色 `EMR_DefaultRole` 使用您指定的 AWS KMS key 的权限。有关密钥要求的更多信息，请参阅[通过为 KMS 密钥提供额外的权限来启用 EBS 加密](emr-encryption-enable.md#emr-awskms-ebs-encryption)。
  + **自定义**

    选择此选项可指定自定义密钥提供程序。对于 **S3 object (S3 对象)**，输入您的自定义密钥提供程序 JAR 文件在 Amazon S3 中或 Amazon S3 ARN 的位置。在**密钥提供程序类**中，输入在实现 EncryptionMaterialsProvider 接口的应用程序中声明的类的完整类名。您在此处提供的类名必须与提供的类名不同 CSE-Custom。
+ 选择**In-transit 加密**，为传输中的数据启用开源 TLS 加密功能。根据以下指南选择 **Certificate provider type (凭证提供程序类型)**：
  + **EMR-managed**

    选择此选项可让 Amazon EMR 为您创建和存储私有证书。选择此选项时，Amazon EMR 会将创建的 PEM-encoded 证书机构的证书上传到 AWS Secrets Manager 您的账户，供您在信任商店中使用。您可以选择配置用于此密钥的 KMS 密钥和标签。除了默认的私有 DNS 通配符（us-east-1 中的\*.ec2.internal 和 \*）之外，您还可以选择为已创建的证书指定自定义有效期和证书 SAN 的自定义通配符后缀。 {{region}}所有其他区域均为.compute.internal）。
  + **PEM**

    选择此选项将使用您在 zip 文件中提供的 PEM 文件。zip 文件中需要两个工件：私有Key.pem 和证书Chain.pem。第三个文件是可信的Certificates.pem，是可选的。有关详细信息，请参阅 [为通过 Amazon EMR 加密来加密传输中的数据提供凭证](emr-encryption-enable.md#emr-encryption-certificates)。对于 **S3 object (S3 对象)**，指定 zip 文件字段在 Amazon S3 中的位置或 Amazon S3 ARN。
  + **自定义**

    选择此选项可指定一个自定义凭证提供程序，然后在 **S3 object (S3 对象)** 中输入您的自定义凭证提供程序 JAR 文件在 Amazon S3 中的位置或 Amazon S3 ARN。在**密钥提供程序类**中，输入在实现 TLSArtifactsProvider 接口的应用程序中声明的类的完整类名。

### 使用指定加密选项 AWS CLI
<a name="emr-security-configuration-encryption-cli"></a>

下面部分使用示例方案，说明对不同配置和密钥提供程序的正确 **--security-configuration** JSON 格式，再提供 JSON 参数和相应值的参考信息。

#### 传输中数据加密选项示例
<a name="emr-encryption-intransit-cli"></a>

下面的示例将说明以下情景：
+ In-transit 数据加密已启用，静态数据加密已禁用。
+ Amazon EMR 将为您创建和管理私有证书，并使用通配符信任该地区的 EC2 私有 DNS 后缀。创建的密钥的 ARN 将添加到描述安全配置 API 响应中可见的 CACertificateSecretARN 字段中。

```
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{
    "EncryptionConfiguration": {
        "EnableInTransitEncryption": true,
        "EnableAtRestEncryption": false,
        "InTransitEncryptionConfiguration": {
            "TLSCertificateConfiguration": {
                "CertificateProviderType": "EMR"
            }
        }
    }
}'
```

下面的示例将说明以下情景：
+ In-transit 使用 Amazon EMR-managed 证书启用数据加密，指定用于创建密钥的客户 KMS 密钥和标签，并将该区域的 EC2 公有 DNS 后缀添加到已创建证书的 SAN 列表中。生成的 CA 证书将在 30 天后过期，届时需要删除并重新创建安全配置才能继续使用。

```
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{
    "EncryptionConfiguration": {
        "EnableInTransitEncryption": true,
        "EnableAtRestEncryption": false,
        "InTransitEncryptionConfiguration": {
            "TLSCertificateConfiguration": {
                "CertificateProviderType": "EMR",
                "AwsKmsKey": "arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012",
                "SecretTags": [{"Key": "cluster-type", "Value": "test"}],
                "WildcardDnsSuffix": "us-east-2.compute.amazonaws.com",
                "ValidityInDays": 30
            }
        }
    }
}'
```

下面的示例将说明以下情景：
+ In-transit 数据加密已启用，静态数据加密已禁用。
+ Amazon S3 中一个包含凭证的 zip 文件用作密钥提供程序（请参阅[为通过 Amazon EMR 加密来加密传输中的数据提供凭证](emr-encryption-enable.md#emr-encryption-certificates)了解凭证要求）。

```
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{
	"EncryptionConfiguration": {
		"EnableInTransitEncryption": true,
		"EnableAtRestEncryption": false,
		"InTransitEncryptionConfiguration": {
			"TLSCertificateConfiguration": {
				"CertificateProviderType": "PEM",
				"S3Object": "s3://MyConfigStore/artifacts/MyCerts.zip"
			}
		}
	}
}'
```

下面的示例将说明以下情景：
+ In-transit 数据加密已启用，静态数据加密已禁用。
+ 使用了自定义密钥提供程序 (请参阅[为通过 Amazon EMR 加密来加密传输中的数据提供凭证](emr-encryption-enable.md#emr-encryption-certificates)了解凭证要求)。

```
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"
			}
		}
 	}
}'
```

#### 静态数据加密选项示例
<a name="emr-encryption-atrest-cli"></a>

下面的示例将说明以下情景：
+ In-transit 数据加密已禁用，静态数据加密已启用。
+ SSE-S3 用于亚马逊 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"
			}
		}
 	}
}'
```

下面的示例将说明以下情景：
+ In-transit 数据加密已启用，并使用 ARN 在 Amazon S3 中引用带有 PEM 证书的 zip 文件。
+ SSE-KMS 用于亚马逊 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"
			}
		}
	}
}'
```

下面的示例将说明以下情景：
+ In-transit 使用 Amazon EMR-managed 证书启用数据加密，指定用于创建密钥的客户 KMS 密钥和标签，并`*.mydomain.com`添加到已创建证书的 SAN 列表中。
+ CSE-KMS 用于亚马逊 S3 加密。
+ 本地磁盘加密使用了通过其 ARN 引用的自定义密钥提供程序。

```
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{
	"EncryptionConfiguration": {
		"EnableInTransitEncryption": true,
		"EnableAtRestEncryption": true,
		"InTransitEncryptionConfiguration": {
			"TLSCertificateConfiguration": {
				"CertificateProviderType": "EMR",
				"AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012",
				"SecretTags": [{"Key": "cluster-type", "Value": "test"}],
				"WildcardDnsSuffix": "mydomain.com"
			}
		},
		"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"
			}
		}
	}
}'
```

下面的示例将说明以下情景：
+ In-transit 使用自定义密钥提供程序启用数据加密。
+ CSE-Custom 用于存储 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"
			}
		}
	}
}'
```

下面的示例将说明以下情景：
+ In-transit 数据加密已禁用，静态数据加密已启用。
+ 使用启用了 Amazon S3 加密 SSE-KMS。
+ 使用多个 AWS KMS 密钥，每个 S3 存储桶一个，加密例外适用于这些单独的 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
  }
}'
```

下面的示例将说明以下情景：
+ In-transit 数据加密已禁用，静态数据加密已启用。
+ 启用了 Amazon S3 加密 SSE-S3 ，本地磁盘加密已禁用。

```
aws emr create-security-configuration --name "MyS3EncryptionConfig" --security-configuration '{
    "EncryptionConfiguration": {
        "EnableInTransitEncryption": false,
        "EnableAtRestEncryption": true,
        "AtRestEncryptionConfiguration": {
            "S3EncryptionConfiguration": {
                "EncryptionMode": "SSE-S3"
            }
        }
     }
}'
```

下面的示例将说明以下情景：
+ In-transit 数据加密已禁用，静态数据加密已启用。
+ 使用 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"
            }
        }
     }
}'
```

下面的示例将说明以下情景：
+ In-transit 数据加密已禁用，静态数据加密已启用。
+ 使用 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 引用
<a name="emr-encryption-cli-parameters"></a>

下表列出了用于加密设置的 JSON 参数并提供了每个参数的可接受值描述。


| 参数 | 说明 | 
| --- |--- |
| "EnableInTransitEncryption" : true \| false | 指定 true 可启用传输中加密，指定 false 则禁用。如果省略，则假定是 false，传输中加密禁用。 | 
| "EnableAtRestEncryption": true \| false | 指定 true 可启用静态加密，指定 false 则禁用。如果省略，则假定是 false，静态加密禁用。 | 
| **In-transit 加密参数** | 
| --- |
| "InTransitEncryptionConfiguration" : | 指定当 EnableInTransitEncryption 为 true 时用于配置传输中加密的值的集合。 | 
|  "CertificateProviderType": "EMR" \| "PEM" \| "Custom" | 指定是使用EMR创建的和托管的PEM证书、用压缩文件引用的证书还是Custom证书提供商。如果PEM已指定，则S3Object必须引用包含证书的 zip 文件在 Amazon S3 中的位置。如果指定，则S3Object必须Custom是对 JAR 文件在 Amazon S3 中的位置的引用，后面是CertificateProviderClass条目。 | 
|  "S3Object" : "{{ZipLocation}}" \| "{{JarLocation}}" | 如果已指定，则在 Amazon S3 中PEM为 zip 文件提供位置，如果指定，则Custom为 JAR 文件提供位置。格式可以是路径 (例如，s3://MyConfig/artifacts/CertFiles.zip) 或 ARN (例如，arn:aws:s3:::Code/MyCertProvider.jar)。如果指定 zip 文件，则其中必须包含名为 privateKey.pem 和 certificateChain.pem 的文件。名为 trustedCertificates.pem 的文件是可选的。 | 
|  "CertificateProviderClass" : "{{MyClassID}}" | 仅当Custom为指定时才需要CertificateProviderType。 {{MyClassID}}指定在实现 TLSArtifactsProvider 接口的 JAR 文件中声明的完整类名。例如 com.mycompany.MyCertProvider。 | 
|  "AwsKmsKey" : "{{MyKeyARN}}" | 可选，仅当EMR为指定时CertificateProviderType。客户管理的密钥，用于将创建的 CA 证书上传到。 AWS Secrets Manager{{MyKeyARN}}必须是密钥的完全指定的 ARN（例如）。arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123 | 
|  "SecretTags" : [{"Key":"mykey","Value":"myvalue"}] | 可选，仅当EMR为指定时CertificateProviderType。要添加到中创建的 CA 证书的标签 AWS Secrets Manager。要包含此字段，来电者必须拥有secretsmanager:TagResource权限。 | 
|  "ValidityInDays" : {{number}} | 可选，仅当EMR为指定时CertificateProviderType。自安全配置创建之日起，创建的证书的有效期为多少天。如果未指定，则默认为 20 年。 | 
|  "WildcardDnsSuffix" : "mydomain.com" | 可选，仅当EMR为指定时CertificateProviderType。要将带有通配符前缀的域添加到已创建证书的 SAN 列表中。无论是否指定，证书都将始终包含\*.ec2.internal在 us-east-\*.{{region}}.compute.internal 1 和所有其他区域中。 | 
| **At-rest 加密参数** | 
| --- |
| "AtRestEncryptionConfiguration" :  | 指定静态加密值的集合true，包括 Amazon S3 加密和本地磁盘加密。EnableAtRestEncryption | 
| 亚马逊 S3 加密参数 | 
| "S3EncryptionConfiguration" : | 指定用于使用亚马逊 EMR 文件系统 (EMRFS) 进行亚马逊 S3 加密的值集合。 | 
| "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" : "{{MyKeyARN}}" | 仅当为 EncryptionMode 指定 SSE-KMS 或 CSE-KMS 时才是必需的。{{MyKeyARN}} 必须是密钥的完全指定 ARN（例如，arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012）。 | 
|  "S3Object" : "{{JarLocation}}" | 仅在CSE-Custom为指定时才需要CertificateProviderType。 {{JarLocation}}提供了 JAR 文件在 Amazon S3 中的位置。格式可以是路径 (例如，s3://MyConfig/artifacts/MyKeyProvider.jar) 或 ARN (例如，arn:aws:s3:::Code/MyKeyProvider.jar)。 | 
| "EncryptionKeyProviderClass" : "{{MyS3KeyClassID}}" | 仅在CSE-Custom为指定时才需要EncryptionMode。 {{MyS3KeyClassID}}指定在实现 EncryptionMaterialsProvider接口的应用程序中声明的类的完整类名；例如，{{com.mycompany.MyS3KeyProvider}}。 | 
| 本地磁盘加密参数 | 
| "LocalDiskEncryptionConfiguration" | 指定要用于本地磁盘加密的密钥提供程序和相应的值。 | 
| "EnableEbsEncryption": true \| false | 指定启true用 EBS 加密。EBS 加密对 EBS 根设备卷和连接的存储卷进行加密。要使用 EBS 加密，必须指定AwsKms为。EncryptionKeyProviderType | 
| "EncryptionKeyProviderType": "AwsKms" \| "Custom" | 指定密钥提供程序。如果AwsKms已指定，则必须将 KMS 密钥 ARN 指定为AwsKmsKey值。如果指定 Custom，则必需指定 S3Object 和 EncryptionKeyProviderClass 值。 | 
| "AwsKmsKey : "{{MyKeyARN}}" | 仅在AwsKms为指定时才需要Type。 {{MyKeyARN}}必须是密钥的完全指定的 ARN（例如）。arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123 | 
| "S3Object" : "{{JarLocation}}" | 仅在CSE-Custom为指定时才需要CertificateProviderType。 {{JarLocation}}提供了 JAR 文件在 Amazon S3 中的位置。格式可以是路径 (例如，s3://MyConfig/artifacts/MyKeyProvider.jar) 或 ARN (例如，arn:aws:s3:::Code/MyKeyProvider.jar)。 | 
| `"EncryptionKeyProviderClass" : "{{MyLocalDiskKeyClassID}}"` | 仅在Custom为指定时才需要Type。 {{MyLocalDiskKeyClassID}}指定在实现 EncryptionMaterialsProvider接口的应用程序中声明的类的完整类名；例如，{{com.mycompany.MyLocalDiskKeyProvider}}。 | 
| **EMR WAL 加密参数** | 
| --- |
| "EMRWALEncryptionConfiguration"  | 指定 EMR WAL 加密的值。 | 
| "AwsKmsKey"  | 指定 CMK 密钥 ID Arn。 | 

## 配置 Kerberos 身份验证
<a name="emr-security-configuration-kerberos"></a>

包含 Kerberos 设置的安全配置只能由使用 Kerberos 属性创建的集群使用，否则会发生错误。有关更多信息，请参阅[使用 Kerberos 通过 Amazon EMR 进行身份验证](emr-kerberos.md)。仅在 Amazon EMR 发行版 5.10.0 及更高版本中提供了 Kerberos。

### 使用控制台指定 Kerberos 设置
<a name="emr-security-configuration-console-kerberos"></a>

根据以下准则选择 **Kerberos authentication (Kerberos 身份验证)** 下的选项。


<table>
<thead>
  <tr><th colspan="3">参数</th><th>说明</th></tr>
</thead>
<tbody>
  <tr><td colspan="3">**Kerberos**</td><td>指定为使用此安全配置的集群启用 Kerberos。如果集群使用此安全配置，则集群还必须指定 Kerberos 设置，否则会发生错误。</td></tr>
  <tr><td rowspan="2">**Provider**</td><td colspan="2">**Cluster-dedicated KDC**</td><td>指定 Amazon EMR 在使用此安全配置的任何集群的主节点上创建 KDC。您可以在创建集群时指定领域名称和 KDC 管理员密码。<br />如果需要，您可以从其它集群引用此 KDC。使用不同的安全配置创建这些集群，指定外部 KDC，并使用您为集群专用 KDC 指定的领域名称和 KDC 管理员密码。</td></tr>
  <tr><td colspan="2">**外部 KDC**</td><td>仅在 Amazon EMR 5.20.0 版及更高版本中可用。指定使用此安全配置的集群使用集群外部的 KDC 服务器对 Kerberos 主体进行身份验证。未在集群上创建 KDC。创建集群时，您需要为外部 KDC 指定领域名称和 KDC 管理员密码。</td></tr>
  <tr><td colspan="3"> **票证生命周期**</td><td>可选。指定 KDC 颁发的 Kerberos 票证在使用此安全配置的集群上有效的期间。<br />出于安全考虑，限制票证生命周期。集群应用程序和服务在过期后自动续订票证。使用 Kerberos 凭证通过 SSH 连接到集群的用户在票证过期后需要通过主节点命令行运行 `kinit` 来续订。</td></tr>
  <tr><td colspan="3">**Cross-realm 信任**</td><td>指定使用此安全配置的集群上的集群专用 KDC 与不同 Kerberos 领域中的 KDC 之间的跨领域信任。<br />来自另一个领域的委托人（通常是用户）将通过使用此配置的集群进行身份验证。需要在其它 Kerberos 领域中进行其它配置。有关更多信息，请参阅 [教程：配置与 Active Directory 域的跨领域信任](emr-kerberos-cross-realm.md)。</td></tr>
  <tr><td rowspan="4">Cross-realm 信任属性</td><td colspan="2"> **领域**</td><td>指定信任关系中其它领域的 Kerberos 领域名称。按照惯例，Kerberos 领域名称与域名相同，但全部使用大写字母。</td></tr>
  <tr><td colspan="2"> **域**：</td><td>指定信任关系中其它领域的域名。</td></tr>
  <tr><td colspan="2"> **管理服务器**</td><td>指定信任关系的其它领域中的管理服务器的完全限定域名（FQDN）或 IP 地址。管理服务器和 KDC 服务器通常运行在具有相同 FQDN 的同一台计算机上，但通过不同的端口进行通信。<br />如果未指定端口，则使用端口 749，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:749}}`)。</td></tr>
  <tr><td colspan="2"> **KDC 服务器**</td><td>指定信任关系的其它领域中 KDC 服务器的完全限定域名（FQDN）或 IP 地址。KDC 服务器和管理服务器通常运行在具有相同 FQDN 的同一台计算机上，但是使用不同的端口。<br />如果未指定端口，则使用端口 88，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:88}}`)。</td></tr>
  <tr><td colspan="3">**外部 KDC**</td><td>指定集群使用集群外部 KDC。</td></tr>
  <tr><td rowspan="6">外部 KDC 属性</td><td colspan="2">**管理服务器**</td><td>指定外部管理服务器的完全限定域名（FQDN）或 IP 地址。管理服务器和 KDC 服务器通常运行在具有相同 FQDN 的同一台计算机上，但通过不同的端口进行通信。<br />如果未指定端口，则使用端口 749，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:749}}`)。</td></tr>
  <tr><td colspan="2">**KDC 服务器**</td><td>指定外部 KDC 服务器的完全限定域名（FQDN）。KDC 服务器和管理服务器通常运行在具有相同 FQDN 的同一台计算机上，但是使用不同的端口。<br />如果未指定端口，则使用端口 88，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:88}}`)。</td></tr>
  <tr><td colspan="2">**Active Directory 集成**</td><td>指定 Kerberos 委托人身份验证与 Microsoft Active Directory 域集成。</td></tr>
  <tr><td rowspan="3">Active Directory 集成属性</td><td>**Active Directory 领域**</td><td>指定 Active Directory 域的 Kerberos 领域名称。按照惯例，Kerberos 领域名称通常与域名相同，但全部使用大写字母。</td></tr>
  <tr><td>**Active Directory 域**</td><td>指定 Active Directory 域名。</td></tr>
  <tr><td>**Active Directory 服务器**</td><td>指定 Microsoft Active Directory 域控制器的完全限定域名（FQDN）。</td></tr>
</tbody>
</table>


### 使用指定 Kerberos 设置 AWS CLI
<a name="emr-kerberos-cli-parameters"></a>

以下参考表显示了安全配置中 Kerberos 设置的 JSON 参数。有关示例配置，请参阅[配置示例](emr-kerberos-config-examples.md)。


<table>
<thead>
  <tr><th colspan="6">参数</th><th>说明</th></tr>
</thead>
<tbody>
  <tr><td colspan="6">`"AuthenticationConfiguration": {`</td><td>对于 Kerberos 是必需的。指定身份验证配置是此安全配置的一部分。</td></tr>
  <tr><td rowspan="22"> </td><td colspan="5">```"KerberosConfiguration": {`</td><td>对于 Kerberos 是必需的。指定 Kerberos 配置属性。</td></tr>
  <tr><td rowspan="20"> </td><td colspan="4">```"Provider": {{"ClusterDedicatedKdc",}}`<br />``—*或者*—<br />```"Provider: {{"ExternalKdc",}}`</td><td>`{{ClusterDedicatedKdc}}` 指定 Amazon EMR 在使用此安全配置的任何集群的主节点上创建 KDC。您可以在创建集群时指定领域名称和 KDC 管理员密码。如果需要，您可以从其它集群引用此 KDC。使用不同的安全配置创建这些集群，指定外部 KDC，并使用您在使用集群专用 KDC 创建集群时指定的领域名称和 KDC 管理员密码。<br />`{{ExternalKdc}}` 指定集群使用外部 KDC。Amazon EMR 未在主节点上创建 KDC。使用此安全配置的集群必须指定外部 KDC 的领域名称和 KDC 管理员密码。</td></tr>
  <tr><td colspan="4">"ClusterDedicatedKdcConfiguration": {</td><td>在指定 `{{ClusterDedicatedKdc}}` 时是必需的。</td></tr>
  <tr><td rowspan="7"></td><td colspan="3">`"TicketLifetimeInHours": {{24}},`</td><td>可选。指定 KDC 颁发的 Kerberos 票证在使用此安全配置的集群上有效的期间。<br />出于安全考虑，限制票证生命周期。集群应用程序和服务在过期后自动续订票证。使用 Kerberos 凭证通过 SSH 连接到集群的用户在票证过期后需要通过主节点命令行运行 `kinit` 来续订。</td></tr>
  <tr><td colspan="3">`"CrossRealmTrustConfiguration": {`</td><td>指定使用此安全配置的集群上的集群专用 KDC 与不同 Kerberos 领域中的 KDC 之间的跨领域信任。<br />来自另一个领域的委托人（通常是用户）将通过使用此配置的集群进行身份验证。需要在其它 Kerberos 领域中进行其它配置。有关更多信息，请参阅[教程：配置与 Active Directory 域的跨领域信任](emr-kerberos-cross-realm.md)。</td></tr>
  <tr><td rowspan="4"></td><td colspan="2">`"Realm": "{{KDC2.COM}}",`</td><td>指定信任关系中其它领域的 Kerberos 领域名称。按照惯例，Kerberos 领域名称与域名相同，但全部使用大写字母。</td></tr>
  <tr><td colspan="2">`"Domain": "{{kdc2.com}}",`</td><td>指定信任关系中其它领域的域名。</td></tr>
  <tr><td colspan="2">`"AdminServer": "{{kdc.com:749}}",`</td><td>指定信任关系的其它领域中的管理服务器的完全限定域名（FQDN）或 IP 地址。管理服务器和 KDC 服务器通常运行在具有相同 FQDN 的同一台计算机上，但通过不同的端口进行通信。<br />如果未指定端口，则使用端口 749，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:749}}`)。</td></tr>
  <tr><td colspan="2">`"KdcServer": "{{kdc.com:88}}"`</td><td>指定信任关系的其它领域中 KDC 服务器的完全限定域名（FQDN）或 IP 地址。KDC 服务器和管理服务器通常运行在具有相同 FQDN 的同一台计算机上，但是使用不同的端口。<br />如果未指定端口，则使用端口 88，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:88}}`)。</td></tr>
  <tr><td colspan="4">`}`</td></tr>
  <tr><td colspan="5">`}`</td></tr>
  <tr><td colspan="4">"ExternalKdcConfiguration": {</td><td>在指定 `{{ExternalKdc}}` 时是必需的。</td></tr>
  <tr><td rowspan="8"></td><td colspan="3">`"TicketLifetimeInHours": {{24}},`</td><td>可选。指定 KDC 颁发的 Kerberos 票证在使用此安全配置的集群上有效的期间。<br />出于安全考虑，限制票证生命周期。集群应用程序和服务在过期后自动续订票证。使用 Kerberos 凭证通过 SSH 连接到集群的用户在票证过期后需要通过主节点命令行运行 `kinit` 来续订。</td></tr>
  <tr><td colspan="3">`"KdcServerType": "Single",`</td><td>指定引用单个 KDC 服务器。`Single` 是目前唯一支持的值。</td></tr>
  <tr><td colspan="3">"AdminServer": "{{kdc.com:749}}",</td><td>指定外部管理服务器的完全限定域名（FQDN）或 IP 地址。管理服务器和 KDC 服务器通常运行在具有相同 FQDN 的同一台计算机上，但通过不同的端口进行通信。<br />如果未指定端口，则使用端口 749，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:749}}`)。</td></tr>
  <tr><td colspan="3">"KdcServer": "{{kdc.com:88}}",</td><td>指定外部 KDC 服务器的完全限定域名（FQDN）。KDC 服务器和管理服务器通常运行在具有相同 FQDN 的同一台计算机上，但是使用不同的端口。<br />如果未指定端口，则使用端口 88，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:88}}`)。</td></tr>
  <tr><td colspan="3">`"AdIntegrationConfiguration": {`</td><td>指定 Kerberos 委托人身份验证与 Microsoft Active Directory 域集成。</td></tr>
  <tr><td rowspan="3"> </td><td colspan="2">`"AdRealm": "{{AD.DOMAIN.COM}}",`</td><td>指定 Active Directory 域的 Kerberos 领域名称。按照惯例，Kerberos 领域名称通常与域名相同，但全部使用大写字母。</td></tr>
  <tr><td colspan="2">`"AdDomain": "{{ad.domain.com}}"`</td><td>指定 Active Directory 域名。</td></tr>
  <tr><td colspan="2">`"AdServer": "{{ad.domain.com}}"`</td><td>指定 Microsoft Active Directory 域控制器的完全限定域名（FQDN）。</td></tr>
  <tr><td colspan="4">`}`</td><td></td></tr>
  <tr><td colspan="5">`}`</td><td></td></tr>
  <tr><td colspan="6">`}`</td><td></td></tr>
  <tr><td colspan="7">`}`</td></tr>
</tbody>
</table>


## 为处理 EMRFS 对 Amazon S3 的请求配置 IAM 角色
<a name="emr-security-configuration-emrfs"></a>

EMRFS 的 IAM 角色让您能够为 Amazon S3 中的 EMRFS 数据提供不同权限。您可以创建角色映射，来指定在访问请求包含您指定的标识符时用来获得权限的 IAM 角色。标识符可以是 Hadoop 用户或角色，或 Amazon S3 前缀。

有关更多信息，请参阅 [为处理 EMRFS 对 Amazon S3 的请求配置 IAM 角色](emr-emrfs-iam-roles.md)。

### 使用 EMRFS 指定 IAM 角色 AWS CLI
<a name="w2aac30c17b9c15b7"></a>

以下是一个示例 JSON 代码段，用于在安全配置中为 EMRFS 指定自定义 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}}" ]
      }]
    }
  }
}
```


| 参数 | 说明 | 
| --- | --- | 
| `"AuthorizationConfiguration":` | 必需。 | 
|  `"EmrFsConfiguration":` | 必需。包含角色映射。 | 
|   `"RoleMappings":` | 必需。包含一个或多个角色映射定义。按照角色映射的先后顺序对角色映射进行评估。对于 Amazon S3 中的 EMRFS 数据调用，如果角色映射评估为 true，则不会评估其它角色映射，并且 EMRFS 将使用指定的 IAM 角色进行请求。角色映射由以下必需参数组成： | 
|    `"Role":` | 以 `arn:aws:iam::{{account-id}}:role/{{role-name}}` 格式指定 IAM 角色的 ARN 标识符。如果 EMRFS 对 Amazon S3 的请求与指定的任何 `Identifiers` 匹配，则这是 Amazon EMR 承担的 IAM 角色。 | 
|    `"IdentifierType":` | 可以是以下值之一：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/emr/latest/ManagementGuide/emr-create-security-configuration.html) | 
|    `"Identifiers":` | 指定一个或多个相应标识符类型的标识符。用逗号分隔多个标识符，不含空格。 | 

## 配置到 Amazon EC2 实例的元数据服务请求
<a name="emr-security-configuration-imdsv2"></a>

实例元数据 是有关您的实例的数据，可以用来配置或管理正在运行的实例。您可以使用以下其中一种方法，从正在运行的实例中访问实例元数据：
+ 实例元数据服务版本 1 (imdsv1)-一种方法 request/response
+ 实例元数据服务版本 2（IMDSv2）：一种面向会话的方法

虽然 Amazon EC2 同时支持 IMDSv1 和 IMDSv2，但 Amazon EMR 在 Amazon EMR 5.23.1、5.27.1、5.32 或更高版本以及 6.2 或更高版本中支持 IMDSv2。在这些版本中，Amazon EMR 组件对所有 IMDS 调用都使用 IMDSv2。对于应用程序代码中的 IMDS 调用，您可以同时使用 IMDSv1 和 IMDSv2，或者将 IMDS 配置为仅使用 IMDSv2，以提高安全性。在指定必须使用 IMDSv2 时，IMDSv1 不再起作用。

有关更多信息，请参阅《Amazon EC2 用户指南》**中的[配置实例元数据服务](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)。

**注意**  
在早期的 Amazon EMR 5.x 或 6.x 版本中，关闭 IMDSv1 会导致集群启动失败，因为 Amazon EMR 组件对所有 IMDS 调用都使用 IMDSv1。关闭 IMDSv1 时，请确保任何使用 IMDSv1 的自定义软件都已更新为 IMDSv2。

### 使用指定实例元数据服务配置 AWS CLI
<a name="w2aac30c17b9c17c13"></a>

以下是一个示例 JSON 代码段，用于在安全配置中指定 Amazon EC2 实例元数据服务（IMDS）。使用自定义安全配置是可选的。

```
{
  "InstanceMetadataServiceConfiguration" : {
      "MinimumInstanceMetadataServiceVersion": integer,
      "HttpPutResponseHopLimit": integer
   }
}
```


| 参数 | 说明 | 
| --- | --- | 
| `"InstanceMetadataServiceConfiguration":` | 如果您未在安全配置中指定 IMDS 并使用需要 IMDSv1 的 Amazon EMR 版本，则 Amazon EMR 默认使用 IMDSv1 作为最低实例元数据服务版本。如果要使用自己的配置，则需要以下两个参数。 | 
|  `"MinimumInstanceMetadataServiceVersion":` | 必需。指定 `1` 或 `2`。`1` 的一个值允许 IMDSv1 和 IMDSv2。`2` 的一个值仅允许 IMDSv2。 | 
|  `"HttpPutResponseHopLimit":` | 必需。实例元数据请求的所需 HTTP PUT 响应跃点限制。该数字越大，实例元数据请求传播得越远。默认值：`1`。您可以指定 `1` 到 `64` 之间的整数。 | 

### 使用控制台指定实例元数据服务配置
<a name="emr-security-configuration-imdsv2-console"></a>

当您从 Amazon EMR 控制台启动集群时，您可以为集群配置 IMDS 的使用。

**要使用控制台配置 IMDS 的使用，请执行以下操作：**

1. 在创建新的安全配置时，**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 或更高版本中受支持。

1. 对于 **Minimum Instance Metadata Service Version (最低实例元数据服务版本)** 选项，请选择以下任一项：
   + **Turn off IMDSv1 and only allow IMDSv2 (关闭 IMDSv1 并且仅允许使用 IMDSv2)**（如果您只想在此集群上允许 IMDSv2）。请参阅《Amazon EC2 用户指南》**中的[过渡到使用实例元数据服务版本 2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html#instance-metadata-transition-to-version-2)。
   + 如果您希望在此集群上允许 IMDSv1 和面向会话的 IMDSv2，则**允许集群上同时使用 IMDSv1 和 IMDSv2**。

1. 对于 IMDSv2，您还可以通过将 **HTTP put response hop limit (HTTP PUT 响应跃点限制)** 设置为 `1` 和 `64` 之间的整数来为元数据令牌设置允许的网络跃点数。

有关更多信息，请参阅《Amazon EC2 用户指南》**中的[配置实例元数据服务](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)。

请参阅《Amazon EC2 用户指南》**中的[配置实例详细信息](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-instance.html#configure_instance_details_step)和[配置实例元数据服务](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)。