本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建EMR安全配置
为 Apache Ranger 创建亚马逊EMR安全配置
在启动与 Apache Ranger EMR 集成的亚马逊集群之前,请创建安全配置。
- Console
-
创建一个安全配置来指定 Amazon Ranger 集成选项
-
在 Amazon EMR 控制台中,选择安全配置,然后选择创建。
-
键入安全配置的 Name (名称)。在创建集群时,使用此名称来指定安全配置。
-
在 Amazon Ranger Integration (Ranger 集成) 下,选择 Enable fine-grained access control managed by Apache Ranger (启用由 Apache Ranger 管理的细粒度访问控制)。
-
选择你要应用的 Apache Ranger IAM 角色。有关更多信息,请参阅 IAM用于与 Apache Ranger 进行原生集成的角色。
-
选择您的IAM角色以供其他 Amazon 服务申请。
-
输入管理服务器的 Secrets Manager 和地址,将插件配置ARN为连接到 Ranger 管理服务器。
-
选择应用程序以配置 Ranger 插件。输入包含插件私有TLS证书ARN的 Secrets Manager。
如果您未配置 Apache Spark 或 Apache Hive,并将它们选为集群的应用程序,则请求将失败。
-
根据需要设置其它安全配置选项,然后选择 Create (创建)。必须使用集群专用或外部集群启用 Kerberos 身份验证。KDC
注意
您当前无法使用控制台创建在中指定 Amazon Ranger 集成选项的安全配置。 Amazon GovCloud (US) Region可以使用来完成安全配置CLI。
-
- CLI
-
要为 Apache Ranger 集成创建安全配置
-
替换为您的 Amazon 账户 ID。<ACCOUNT ID>
-
将
替换为资源所在的区域。<REGION>
-
为指定一个值
TicketLifetimeInHours
以确定由签发的 Kerberos 票证的KDC有效期限。 -
为
AdminServerURL
指定 Ranger Admin 服务器的地址。
{ "AuthenticationConfiguration": { "KerberosConfiguration": { "Provider": "ClusterDedicatedKdc", "ClusterDedicatedKdcConfiguration": { "TicketLifetimeInHours": 24 } } }, "AuthorizationConfiguration":{ "RangerConfiguration":{ "AdminServerURL":"https://_
<RANGER ADMIN SERVER IP>
_:6182", "RoleForRangerPluginsARN":"arn:aws:iam::_<ACCOUNT ID>
_:role/_<RANGER PLUGIN DATA ACCESS ROLE NAME>
_", "RoleForOtherAWSServicesARN":"arn:aws:iam::_<ACCOUNT ID>
_:role/_<USER ACCESS ROLE NAME>
_", "AdminServerSecretARN":"arn:aws:secretsmanager:_<REGION>
_:_<ACCOUNT ID>
_:secret:_<SECRET NAME THAT PROVIDES ADMIN SERVERS PUBLIC TLS CERTIFICATE WITHOUT VERSION>
_", "RangerPluginConfigurations":[ { "App":"Spark", "ClientSecretARN":"arn:aws:secretsmanager:_<REGION>
_:_<ACCOUNT ID>
_:secret:_<SECRET NAME THAT PROVIDES SPARK PLUGIN PRIVATE TLS CERTIFICATE WITHOUT VERSION>
_", "PolicyRepositoryName":"<SPARK SERVICE NAME eg. amazon-emr-spark>
" }, { "App":"Hive", "ClientSecretARN":"arn:aws:secretsmanager:_<REGION>
_:_<ACCOUNT ID>
_:secret:_<SECRET NAME THAT PROVIDES Hive PLUGIN PRIVATE TLS CERTIFICATE WITHOUT VERSION>
_", "PolicyRepositoryName":"<HIVE SERVICE NAME eg. Hivedev>
" }, { "App":"EMRFS-S3", "ClientSecretARN":"arn:aws:secretsmanager:_<REGION>
_:_<ACCOUNT ID>
_:secret:_<SECRET NAME THAT PROVIDES EMRFS S3 PLUGIN PRIVATE TLS CERTIFICATE WITHOUT VERSION>
_", "PolicyRepositoryName":"<EMRFS S3 SERVICE NAME eg amazon-emr-emrfs>
" }, { "App":"Trino", "ClientSecretARN":"arn:aws:secretsmanager:_<REGION>
_:_<ACCOUNT ID>
_:secret:_<SECRET NAME THAT PROVIDES TRINO PLUGIN PRIVATE TLS CERTIFICATE WITHOUT VERSION>
_", "PolicyRepositoryName":"<TRINO SERVICE NAME eg amazon-emr-trino>
" } ], "AuditConfiguration":{ "Destinations":{ "AmazonCloudWatchLogs":{ "CloudWatchLogGroup":"arn:aws:logs:<REGION>
:_<ACCOUNT ID>
_:log-group:_<LOG GROUP NAME FOR AUDIT EVENTS>
_" } } } } } }PolicyRespositoryNames 这些是在 Apache Ranger 管理员中指定的服务名称。
使用以下命令创建 Amazon EMR 安全配置。用您选择的名称替换 security-configuration。创建集群时,按名称选择此配置。
aws emr create-security-configuration \ --security-configuration file://./security-configuration.json \ --name security-configuration
-
配置其它安全功能
要安全地将亚马逊EMR与 Apache Ranger 集成,请配置以下EMR安全功能:
-
使用集群专用或外部集群启用 Kerberos 身份验证。KDC有关说明,请参阅 使用 Kerberos 通过亚马逊进行身份验证 EMR。
-
(可选)启用传输中或静态加密。有关更多信息,请参阅Amazon 的加密选项 EMR。
有关更多信息,请参阅 亚马逊的安全 EMR。