创建EMR安全配置 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建EMR安全配置

为 Apache Ranger 创建亚马逊EMR安全配置

在启动与 Apache Ranger EMR 集成的亚马逊集群之前,请创建安全配置。

Console
创建一个安全配置来指定 Amazon Ranger 集成选项
  1. 在 Amazon EMR 控制台中,选择安全配置,然后选择创建

  2. 键入安全配置的 Name (名称)。在创建集群时,使用此名称来指定安全配置。

  3. Amazon Ranger Integration (Ranger 集成) 下,选择 Enable fine-grained access control managed by Apache Ranger (启用由 Apache Ranger 管理的细粒度访问控制)

  4. 选择你要应用的 Apache Ranger IAM 角色。有关更多信息,请参阅 IAM用于与 Apache Ranger 进行原生集成的角色

  5. 选择您的IAM角色以供其他 Amazon 服务申请。

  6. 输入管理服务器的 Secrets Manager 和地址,将插件配置ARN为连接到 Ranger 管理服务器。

  7. 选择应用程序以配置 Ranger 插件。输入包含插件私有TLS证书ARN的 Secrets Manager。

    如果您未配置 Apache Spark 或 Apache Hive,并将它们选为集群的应用程序,则请求将失败。

  8. 根据需要设置其它安全配置选项,然后选择 Create (创建)。必须使用集群专用或外部集群启用 Kerberos 身份验证。KDC

注意

您当前无法使用控制台创建在中指定 Amazon Ranger 集成选项的安全配置。 Amazon GovCloud (US) Region可以使用来完成安全配置CLI。

CLI
要为 Apache Ranger 集成创建安全配置
  1. <ACCOUNT ID>替换为您的 Amazon 账户 ID。

  2. <REGION> 替换为资源所在的区域。

  3. 为指定一个值TicketLifetimeInHours以确定由签发的 Kerberos 票证的KDC有效期限。

  4. 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安全功能:

有关更多信息,请参阅 亚马逊的安全 EMR