本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon EMR 屏蔽公共访问
如果集群的安全配置允许来自公有 IP 地址的入站流量通过端口,Amazon EMR block public access (BPA) 会阻止您启动公有子网中的集群。
重要
默认情况下,阻止公有访问处于启用状态。为了增强账户保护,我们建议您将其保持启用状态。
了解阻止公有访问
您可以使用禁止公有访问账户级别的配置来集中管理对 Ama EMR zon 集群的公用网络访问。
当您的用户 Amazon Web Services 账户 启动集群时,Amazon EMR 会检查该集群的安全组中的端口规则,并将其与您的入站流量规则进行比较。如果安全组有向公有 IP 地址 IPv4 0.0.0.0/0 或IPv6:: /0 开放端口的入站规则,并且这些端口未被指定为账户的例外情况,则 Amazon EMR 不允许用户创建集群。
如果用户修改了公有子网中正在运行的集群的安全组规则,使其具有违反您账户BPA配置的公有访问规则,Amazon 将EMR撤销新规则(前提是它有权这样做)。如果 Amazon EMR 无权撤销该规则,它会在 Amazon Health 控制面板中创建一个描述违规行为的事件。要向 Amazon 授予撤销规则权限EMR,请参阅将 Amazon 配置EMR为撤销安全组规则。
默认情况下,您的每个 Amazon Web Services 区域 集群中的所有集群都启用了阻止公共访问权限 Amazon Web Services 账户。 BPA适用于集群的整个生命周期,但不适用于您在私有子网中创建的集群。您可以配置BPA规则的例外;默认情况下,端口 22 是例外。有关设置例外的更多信息,请参阅 配置阻止公有访问。
配置阻止公有访问
您可以随时更新账户中的安全组和阻止公有访问配置。
您可以使用 Amazon Web Services Management Console、(BPA) 和 Amazon 开启和关闭封锁公共访问 Amazon Command Line Interface (Amazon CLI) 设置EMRAPI。设置会Region-by-Region 根据具体情况应用于您的账户。为了维护集群安全,我们建议您使用BPA。
将 Amazon 配置EMR为撤销安全组规则
Amazon EMR 需要获得撤销安全组规则并遵守您的屏蔽公开访问配置的许可。您可以使用以下方法之一向 Amazon 授EMR予其所需的权限:
-
(建议)将
AmazonEMRServicePolicy_v2
托管的策略附加到服务角色。有关更多信息,请参阅 Amazon 的服务角色EMR(EMR角色)。 -
创建允许对安全组执行
ec2:RevokeSecurityGroupIngress
操作的新内联策略。有关如何修改角色权限策略的更多信息,请参阅《IAM用户指南》Amazon CLI中的 “使用IAM控制台修改角色权限策略” 和。Amazon API
解决阻止公有访问违规问题
如果发生阻止公有访问违规,则可以通过以下操作之一来缓解违规:
-
如果要访问集群上的 Web 界面,请使用中查看 Amazon EMR 集群上托管的网页界面描述的选项之一通过SSH(端口 22)访问该接口。
-
要允许来自特定 IP 地址而不是公有 IP 地址的流量进入集群,请添加安全组规则。有关更多信息,请参阅《Amazon EC2 入门指南》中的向安全组添加规则。
-
(不推荐)您可以将 Amazon EMR BPA 例外配置为包括所需的端口或端口范围。指定BPA例外时,未受保护的端口会带来风险。如果您计划指定例外,则应在不再需要该例外时立即将其删除。有关更多信息,请参阅 配置阻止公有访问。
识别与安全组规则关联的集群
您可能需要识别与给定安全组规则关联的所有集群,或者找到给定集群的安全组规则。
-
如果您知道安全组,则可以在找到安全组的网络接口时识别其关联的集群。有关更多信息,请参阅如何找到与 Amazon EC2 安全组关联的资源?
上 Amazon Web Services re:Post。连接到这些网络接口的 Amazon EC2 实例将使用其所属集群的 ID 进行标记。 -
如果要查找已知集群的安全组,请按照 查看 Amazon EMR 集群状态和详细信息 中的步骤操作。您可以在控制台的网络和安全面板中找到集群的安全组,也可以从 Amazon CLI的
Ec2InstanceAttributes
字段中找到集群的安全组。