配置 EMR 安全性
为 Lake Formation 创建 Amazon EMR 安全配置
在启动与 AWS Lake Formation 集成的 Amazon EMR 集群之前,您需要使用在配置 IdP 和 Lake Formation 之间的信任关系中创建的 IAM 角色和身份提供商(IdP)元数据 XML 文件创建安全配置。创建集群时,您将指定此安全配置。
- Console
-
要创建一个指定 AWS Lake Formation integration( 集成)选项的安全配置:
-
在 Amazon EMR 控制台中,依次选择 Security configurations (安全配置) 和 Create (创建)。
-
键入安全配置的 Name (名称)。在创建集群时,使用此名称来指定安全配置。
-
在 AWS Lake Formation集成中,选择启用由 AWS Lake Formation管理的精细访问控制)。
-
选择要应用的 IAM role for AWS Lake Formation (Amazon Lake Formation 的 IAM 角色)。
-
选择要应用的 IAM role for otherr AWS services (其它亚马逊云科技服务的 IAM 角色)。
-
通过指定元数据所在的 S3 路径,上载身份提供程序 (IdP) 元数据。
-
根据需要设置其它安全配置选项,然后选择 Create (创建)。您必须启用使用集群专用 KDC 的 Kerberos 身份验证。有关更多信息,请参阅配置 EMR 安全性。
- CLI
-
要为 AWS Lake Formation 集成创建安全配置:
-
请指定在 S3 中上载的 IdP 元数据文件的完整路径。
-
将 account-id
替换为您的AWS账户 ID。
-
为 TicketLifetimeInHours
指定一个值,用于确定 KDC 发放的 Kerberos 票证的有效期间。
{
"LakeFormationConfiguration": {
"IdpMetadataS3Path": "s3://mybucket/myfolder/idpmetadata.xml
",
"EmrRoleForUsersARN": "arn:aws:iam::account-id
:role/IAM_Role_For_AWS_Services
",
"LakeFormationRoleForSAMLPrincipalARN": "arn:aws:iam::account-id
:role/IAM_Role_For_Lake_Formation
"
},
"AuthenticationConfiguration": {
"KerberosConfiguration": {
"Provider": "ClusterDedicatedKdc",
"ClusterDedicatedKdcConfiguration": {
"TicketLifetimeInHours": 24
}
}
}
}
-
使用以下命令创建 Amazon EMR 安全配置。用您选择的名称替换 security-configuration
。创建集群时,您将按名称选择此配置。
aws emr create-security-configuration \
--security-configuration file://./security-configuration.json \
--name security-configuration
配置其它安全功能
为将 Amazon EMR 与 AWS Lake Formation 安全集成,您还应该配置以下 EMR 安全功能:
-
启用使用集群专用 KDC 的 Kerberos 身份验证。有关说明,请参阅使用 Kerberos 身份验证。
-
配置您的 Amazon EC2 安全组或 Amazon VPC 网络访问控制列表(ACL),以允许从用户的桌面访问代理程序(端口 8442)。有关更多信息,请参阅使用安全组控制网络流量。
-
(可选)启用传输中或静态加密。有关更多信息,请参阅《Amazon EMR 管理指南》中的加密选项。
-
(可选)为代理程序创建自定义传输层安全性 (TLS) 密钥对。有关更多信息,请参阅自定义代理程序凭证。
有关更多信息,请参阅 Amazon EMR 中的安全性。