Amazon EMR
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon EMR 组件

Amazon EMR 使用 Lake Formation,通过以下组件实现了精细的访问控制:

  • 代理程序 – 代理程序基于 Apache Knox。它从用户接收经过 SAML 身份验证的请求,并将 SAML 声明转换为临时凭证。它还在密钥代理中存储临时凭证。代理程序在主节点上作为 knox 系统用户运行,并将日志写入 /var/log/knox 目录。

  • 密钥代理 – 私有代理安全存储密钥并将密钥分发到其他 EMR 组件或应用程序。密钥可以包括临时用户凭证、加密密钥或 Kerberos 票证。密钥代理在集群中的每个节点上运行,使用 Lake Formation 和 AWS Glue API 来检索临时凭证以及 AWS Glue Data Catalog 元数据。密钥代理以 emrsecretagent 用户身份运行,将日志写入 /emr/secretagent/log 目录。该过程依赖于一组特定 iptables 规则来发挥作用。如果您自定义 iptables 配置,请务必确保未禁用 iptablesnat 表规则必须保留并且保持不变。

  • 记录服务器 – 记录服务器接收访问数据的请求。然后,它会根据密钥代理分发的临时凭证和表访问控制策略,对请求授权。记录服务器从 Amazon S3 读取数据,并返回已授权用户访问的列级别数据。记录服务器以 emr_record_server 用户的身份在集群中的每个节点上运行,并将日志写入 /var/log/emr-record-server 目录。

注意

Spark SQL 已经与各个这些组件集成,允许 Spark SQL 作业读取和处理受 Lake Formation 策略保护的数据。