Managed Service for Apache Spark 安全最佳实践

确保 Managed Service for Apache Spark 环境的安全对于保护敏感数据和防止未经授权的访问至关重要。 本文档概述了增强 Managed Service for Apache Spark 安全性的重要最佳实践,包括网络安全、Identity and Access Management、加密和安全集群配置的建议。

网络安全

  • 在专用 VPC 中部署 Managed Service for Apache Spark 。为您的 Managed Service for Apache Spark 集群创建专用的 虚拟私有云, 将其与其他网络和公共互联网隔离开来。

  • 使用专用 IP 。为了保护您的 Managed Service for Apache Spark 集群不暴露于公共互联网,请使用专用 IP 地址来增强安全性和隔离性。

  • 配置防火墙规则 。实施严格的 防火墙规则,以控制进出您的 Managed Service for Apache Spark 集群的流量。仅允许使用必要的端口和协议。

  • 使用网络对等互连 。如需增强隔离性,请在您的 Managed Service for Apache Spark VPC与其他敏感 VPC 之间建立 VPC 网络对等互连,以便进行受控 通信。

  • 启用组件网关 。创建集群时,启用 Managed Service for Apache Spark 组件网关以安全地访问 Hadoop 生态系统界面(例如 YARN、 HDFS 或 Spark 服务器界面),而不是打开防火墙端口。

Identity and Access Management

  • 隔离权限。为不同的集群使用不同的数据平面服务账号。仅向服务账号分配集群运行其工作负载所需的权限。

  • 避免依赖 Google Compute Engine (GCE) 默认服务账号。请勿为集群使用默认服务账号

  • 遵循最小权限原则 。仅向 Managed Service for Apache Spark 服务账号和用户授予最低限度的必要权限

  • 强制执行基于角色的访问权限控制 (RBAC) 。考虑为每个集群设置 IAM 权限

  • 使用自定义角色 。创建针对 Managed Service for Apache Spark 环境中的 特定作业功能量身定制的自定义 IAM 角色

  • 定期查看 。定期审核 IAM 权限和角色,以识别并移除任何过多或未使用的特权。

加密

  • 对静态数据进行加密。 对于静态数据加密,请使用 Cloud Key Management Service (KMS) 或客户管理的加密密钥 (CMEK)。此外,您还可以使用组织政策强制执行集群创建时的静态数据加密。

  • 对传输中的数据进行加密 。启用 SSL/TLS,以便在 Managed Service for Apache Spark 组件(通过启用 Hadoop 安全模式)和外部服务之间进行通信。 这有助于保护传输中数据的安全。

  • 注意敏感数据。在存储和传递个人身份信息或密码等敏感数据时,请务必小心。如有必要,请使用加密和密文管理解决方案。

安全集群配置

  • 使用 Kerberos 进行身份验证。如需防止未经授权访问集群资源,请使用 Kerberos 身份验证实现 Hadoop 安全模式。如需了解详情,请参阅通过 Kerberos 实现安全的多租户

  • 使用安全系数高的 root 主账号密码和安全的基于 KMS 的存储空间 。对于使用 Kerberos 的集群,Managed Service for Apache Spark 会自动为在集群中运行的所有开源组件配置安全加固功能。

  • 启用 OS Login 。启用 OS Login,以便在使用 SSH 管理集群节点时增强安全性。

  • 在 Google Cloud Storage (GCS) 中隔离存放暂存存储分区和临时存储分区 。为 确保权限隔离,请为每个 Managed Service for Apache Spark 集群分开临时存储分区和临时存储分区

  • 使用 Secret Manager 存储凭证Secret Manager 可以保护您的敏感数据,例如 API 密钥、密码和证书。您可以使用它来管理、访问和审核各个 Google Cloud的 Secret。

  • 使用自定义组织约束条件 。您可以使用自定义组织 政策 来允许或拒绝对 Managed Service for Apache Spark 集群执行特定操作。 例如,如果创建或更新集群的请求未能满足组织政策设置的自定义约束条件验证,则请求会失败,并且会向调用方返回错误。

后续步骤

详细了解 Managed Service for Apache Spark 的其他安全功能: