确保 Dataproc 环境的安全对于保护敏感数据和防止未经授权的访问至关重要。本文档概述了增强 Dataproc 安全状况的关键最佳实践,包括有关网络安全、Identity and Access Management、加密和安全集群配置的建议。
网络安全
在专用 VPC 中部署 Dataproc。为 Dataproc 集群创建专用虚拟私有云,将其与其他网络和公共互联网隔离。
使用专用 IP。为防止 Dataproc 集群公开暴露,请使用专用 IP 地址以增强安全性和隔离性。
配置防火墙规则。实现严格的防火墙规则,以控制进出 Dataproc 集群的流量。仅允许必要的端口和协议。
使用网络对等互连。如需增强隔离性,请在 Dataproc VPC 与其他敏感 VPC 之间建立 VPC 网络对等互连,以实现受控通信。
启用组件网关。创建集群时,请启用 Dataproc 组件网关,以安全地访问 Hadoop 生态系统界面(例如 YARN、HDFS 或 Spark 服务器界面),而不是打开防火墙端口。
Identity and Access Management
隔离权限。为不同的集群使用不同的数据平面服务账号。仅向服务账号分配集群运行其工作负载所需的权限。
避免依赖 Google Compute Engine (GCE) 默认服务账号。请勿为集群使用默认服务账号。
遵循最小权限原则。仅向 Dataproc 服务账号和用户授予所需的最低权限。
强制执行基于角色的访问权限控制 (RBAC)。考虑为每个集群设置 IAM 权限。
使用自定义角色。创建精细的自定义 IAM 角色,以适应 Dataproc 环境中的特定作业功能。
定期查看。定期审核 IAM 权限和角色,以识别和移除任何多余或未使用的特权。
加密
加密静态数据。对于静态数据加密,请使用 Cloud Key Management Service (KMS) 或客户管理的加密密钥 (CMEK)。此外,您还可以使用组织政策来强制执行集群创建时的静态数据加密。
对传输中的数据进行加密。为 Dataproc 组件(通过启用 Hadoop 安全模式)与外部服务之间的通信启用 SSL/TLS。这有助于保护传输中的数据。
注意敏感数据。在存储和传递个人身份信息或密码等敏感数据时,请务必保持谨慎。在必要时,使用加密和密钥管理解决方案。
安全的集群配置
使用 Kerberos 进行身份验证。为防止对集群资源进行未经授权的访问,请使用 Kerberos 身份验证实现 Hadoop 安全模式。如需了解详情,请参阅通过 Kerberos 实现安全多租户。
使用安全系数高的 root 主账号密码和安全的基于 KMS 的存储空间。对于使用 Kerberos 的集群,Dataproc 会自动为集群中运行的所有开源组件配置安全增强功能。
启用 OS Login。启用 OS Login,以便在使用 SSH 管理集群节点时增强安全性。
在 Google Cloud Storage (GCS) 上将暂存区和临时存储分区分隔开来。为确保权限隔离,请为每个 Dataproc 集群分隔暂存区和临时存储分区。
使用 Secret Manager 存储凭据。Secret Manager 可保护您的敏感数据,例如 API 密钥、密码和证书。您可以使用它在 Google Cloud 中管理、访问和审核 Secret。
使用自定义组织限制条件。您可以使用自定义组织政策来允许或禁止对 Dataproc 集群执行特定操作。例如,如果创建或更新集群的请求未能满足贵组织政策中设置的自定义约束条件验证,该请求将失败,并向调用方返回错误。
后续步骤
详细了解 Dataproc 的其他安全功能: