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

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

Amazon EMR 中的安全性

安全与合规是您共同承担的责任 Amazon。这种分担责任模式可以帮助您减轻运营负担,因为您可以 Amazon 操作、管理和控制从主机操作系统和虚拟化层到运行 EMR 集群的设施的物理安全的组件。您负责管理和更新 Amazon EMR 集群,以及配置应用程序软件和 Amazon 提供的安全控制。这种责任差异通常被称为云安全与云端安全。

  • 云安全 — Amazon 负责保护运行 Amazon Web Services 在云中的基础架构 Amazon。 Amazon 还为您提供可以安全使用的服务。作为 Amazon 合规性计划的一部分,第三方审核人员将定期测试和验证安全性的有效性。要了解适用于 Amazon EMR 的合规计划,请参阅按合规计划划分Amazon Web Services 的范围

  • 云端安全 — 您还负责执行所有必要的安全配置和管理任务,以保护 Amazon EMR 集群。部署 Amazon EMR 集群的客户负责管理安装在实例上的应用程序软件,并根据您的要求、适用的法律和法规配置所 Amazon提供的功能,例如安全组、加密和访问控制。

该文档帮助您了解如何在使用 Amazon EMR 时应用责任共担模式。本章中的主题向您展示如何配置 Amazon EMR 以及如何使用其他方法 Amazon Web Services 来实现您的安全和合规目标。

网络和基础设施安全

作为一项托管服务,Amazon EMR 受到《亚马逊网络服务:安全流程概述》白皮书中描述的 Amazon 全球网络安全程序的保护。 Amazon 网络和基础架构保护服务可在主机和网络级边界为您提供精细的保护。Amazon EMR 支持 Amazon Web Services 和应用程序功能可满足您的网络保护和合规要求。

  • Amazon EC2 安全组充当 Amazon EMR 集群实例的虚拟防火墙,限制入站和出站网络流量。有关更多信息,请参阅使用安全组控制网络流量

  • 如果集群的安全配置允许来自@@ 公有 IP 地址的入站流量通过某个端口,Amazon EMR 封锁公有访问 (BPA) 会阻止您在公有子网中启动集群。有关更多信息,请参阅使用 Amazon EMR 阻止公共访问

  • S@@ ecure Shell (SSH) 有助于为用户提供一种在集群实例上连接到命令行的安全方式。您还可以使用 SSH 查看应用程序在群集主节点上托管的 Web 界面。有关更多信息,请参阅使用 EC2 密钥对获取 SSH 凭证连接到集群

更新适用于 Amazon EMR 的默认 Amazon Linux AMI

重要

运行 Amazon Linux 或 Amazon Linux 2 亚马逊机器映像(AMI)的 EMR 集群使用默认的 Amazon Linux 行为,且不会自动下载和安装需要重新启动的重要关键内核更新。这与运行默认 Amazon Linux AMI 的其它 Amazon EC2 实例的行为相同。如果需要重新启动的新 Amazon Linux 软件更新(例如内核、NVIDIA 和 CUDA 更新)在 Amazon EMR 版本发布后可用,则运行默认 AMI 的 EMR 集群实例不会自动下载和安装这些更新。要获取内核更新,您可以自定义 Amazon EMR AMI,以使用最新的 Amazon Linux AMI

根据您的应用程序的安全状况和集群运行的时长,您可选择定期重启集群以应用安全更新,或创建引导操作以自定义软件包安装和更新。也可以选择在正在运行的集群实例上测试然后安装所选安全更新。有关更多信息,请参阅在 Amazon EMR 使用默认的 Amazon Linux AMI。请注意,您的联网配置必须允许 HTTP 和 HTTPS 导出到 Amazon S3 中的 Linux 存储库,否则安全更新将无法成功。

Amazon Identity and Access Management 使用亚马逊 EMR

Amazon Identity and Access Management (IAM) 是一项 Amazon 服务,可帮助管理员安全地控制对 Amazon 资源的访问。IAM 管理员控制谁可以通过身份验证(登录)和授权(具有权限)使用 Amazon EMR 资源。IAM 身份包括用户、组和角色。IAM 角色与 IAM 用户类似,但与特定人员无关,任何需要权限的用户均可担任。有关更多信息,Amazon Identity and Access Management 请参阅 Amazon EMR。Amazon EMR 使用多个 IAM 角色来帮助您实施对亚马逊 EMR 集群的访问控制。IAM 是一项无需额外付费即可使用的 Amazon 服务。

  • 亚马逊 EMR 的 IAM 角色(EMR 角色)— 控制亚马逊 EMR 服务如何代表您访问其他人,例如 Amazon Web Services 在亚马逊 EMR 集群启动时预配置 Amazon EC2 实例。有关更多信息,请参阅配置 IAM 服务角色以获得 Amazon EMR 访问 Amazon Web Services 和资源的权限

  • 集群 EC2 实例的 IAM 角色(EC2 实例配置文件)— 该角色在实例启动时分配给 Amazon EMR 集群中的每个 EC2 实例。在集群上运行的应用程序进程使用此角色与其他 Amazon Web Services进程(例如 Amazon S3)进行交互。有关更多信息,请参阅集群 EC2 实例的 IAM 角色

  • 应用程序的 IAM 角色(运行时角色)— 您可以在向 Amazon EMR 集群提交任务或查询时指定的 IAM 角色。您提交到 Amazon EMR 集群的任务或查询使用运行时角色访问 Amazon 资源,例如 Amazon S3 中的对象。您可以使用 Amazon EMR 为 Spark 和 Hive 作业指定运行时角色。通过使用运行时角色,您可以使用不同的 IAM 角色隔离在同一集群上运行的作业。有关更多信息,请参阅在 A mazon EMR 中使用 IAM 角色作为运行时角色

员工身份是指在中构建或操作工作负载的用户 Amazon。Amazon EMR 通过以下方式为员工身份提供支持:

  • Amazon 建议@@ 使用 IAM 身份中心 (Idc) 来管理用户 Amazon Web Service 对 Amazon 资源的访问权限。在这里,您可以分配员工身份,一致地访问多个 Amazon 账户和应用程序。Amazon EMR 通过可信身份传播支持员工身份。借助可信身份传播功能,用户可以登录应用程序,并且该应用程序可以将用户的身份传递给其他人, Amazon Web Services 以授权访问数据或资源。有关更多信息,请参阅使用 A mazon EMR 启用Amazon 对 IAM 身份中心的支持。

    轻型目录访问协议 (LDAP) 是一种开放、供应商中立的行业标准应用程序协议,用于通过网络访问和维护有关用户、系统、服务和应用程序的信息。LDAP 通常用于针对企业身份服务器(例如 Active Directory (AD) 和 OpenLDAP)进行用户身份验证。通过在 EMR 集群中启用 LDAP,您可以允许您的用户使用其现有凭据对集群进行身份验证和访问。有关更多信息,请参阅使用 A mazon EMR 启用对 LDAP 的支持

    Kerberos 是一种网络身份验证协议,旨在通过使用密钥加密技术为客户端/服务器应用程序提供强大的身份验证。当您使用 Kerberos 时,Amazon EMR 会为其安装在集群上的应用程序、组件和子系统配置 Kerberos,以便它们相互进行身份验证。要访问配置了 Kerberos 的集群,Kerberos 域控制器 (KDC) 中必须有 kerberos 主体。有关更多信息,请参阅通过 Amazon EMR 启用对 Kerberos 的支持

单租户和多租户集群

默认情况下,集群配置为单个租户,将 EC2 实例配置文件作为 IAM 身份。在单租户集群中,每个任务都具有对集群的完全和完全访问权限,并且对所有 Amazon Web Services 和资源的访问权限是基于 EC2 实例配置文件完成的。在多租户集群中,租户彼此隔离,租户无法完全访问集群和集群的 EC2 实例。多租户集群上的身份要么是运行时角色,要么是员工标识。在多租户集群中,您还可以通过或 Apache Ranger 启用对精细访问控制 (FGAC) 的支持。 Amazon Lake Formation 对于启用了运行时角色或 FGAC 的集群,也可以通过 iptables 禁用对 EC2 实例配置文件的访问权限。

重要

任何有权访问单租户集群的用户都可以在 Linux 操作系统 (OS) 上安装任何软件,更改或删除 Amazon EMR 安装的软件组件,并影响集群中的 EC2 实例。如果您想确保用户无法安装或更改 Amazon EMR 集群的配置,我们建议您为该集群启用多租户。您可以通过启用对运行时角色、 Amazon IAM 身份中心、Kerberos 或 LDAP 的支持,在集群上启用多租户。

数据保护

使用 Amazon,您可以使用 Amazon Web Services 和工具来控制数据,以确定如何保护数据以及谁有权访问数据。诸如 Amazon Identity and Access Management (IAM) 之类的服务可让您安全地管理对 Amazon Web Services 资源的访问权限。 Amazon CloudTrail 启用检测和审计。借助 Amazon EMR,您可以使用由您管理 Amazon 或完全由您管理的密钥轻松加密 Amazon S3 中的静态数据。Amazon EMR 还支持对传输中的数据启用加密。有关更多信息,请参阅加密静态和传输中的数据

数据访问控制

通过数据访问控制,您可以控制 IAM 身份或员工身份可以访问哪些数据。Amazon EMR 支持以下访问控制:

  • 基于 IAM 身份的策略 — 管理您在 Amazon EMR 中使用的 IAM 角色的权限。IAM 策略可以与标记相结合,以 cluster-by-cluster 逐一控制访问权限。有关更多信息,Amazon Identity and Access Management 请参阅 Amazon EMR

  • Amazon Lake Formation集中管理您的数据,使其更易于在组织内部和外部共享。您可以使用 Lake Formation 对 Gl Amazon ue 数据目录中的数据库和表进行精细的列级访问。有关更多信息,请参阅Amazon Lake Formation 与 Amazon EMR 搭配使用

  • Amazon S3 访问权限授予映射身份将活动目录或 Amazon Identity and Access Management (IAM) 委托人等目录中的身份映射到 S3 中的数据集。此外,S3 访问权限还会授予日志终端用户身份以及用于访问 S3 数据的应用程序 Amazon CloudTrail。有关更多信息,请参阅在 Amazon EMR 中使用 Amazon S3 访问授权

  • Apache Ranger 是一个框架,用于在整个 Hadoop 平台上启用、监控和管理全面的数据安全。亚马逊 EMR 支持基于 Apache Ranger 的 Apache Hive Metastore 和 Amazon S3 的精细访问控制。有关更多信息,请参阅将 Apache Ranger 与亚马逊 EMR 集成