保护 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 权限。
使用自定义角色。在您的 Dataproc 环境中创建针对特定工作职能定制的精细自定义 IAM 角色。
定期查看。定期审核 IAM 权限和角色,以识别和移除任何过多或未使用的权限。
加密
加密静态数据。对于静态数据加密,请使用 Cloud Key Management Service (KMS) 或客户管理的加密密钥 (CMEK)。此外,您还可以使用组织政策在创建集群时强制执行静态数据加密。
对传输中的数据进行加密。为 Dataproc 组件(通过启用 Hadoop 安全模式)与外部服务之间的通信启用 SSL/TLS。这样可以保护动态数据。
注意敏感数据。在存储和传递个人身份信息或密码等敏感数据时要小心谨慎。必要时,使用加密和密文管理解决方案。
安全集群配置
使用 Kerberos 进行身份验证。为防止未经授权访问集群资源,请使用 Kerberos 身份验证实施 Hadoop 安全模式。如需了解详情,请参阅通过 Kerberos 保护多租户。
使用安全系数高的 root 主账号密码和基于 KMS 的安全存储空间。对于使用 Kerberos 的集群,Dataproc 会自动为集群中运行的所有开源组件配置安全强化功能。
启用 OS Login。使用 SSH 管理集群节点时,请启用 OS Login 以提高安全性。
在 Google Cloud Storage (GCS) 上隔离暂存存储分区和临时存储分区。为确保权限隔离,请为每个 Dataproc 集群隔离暂存存储分区和临时存储分区。
使用 Secret Manager 存储凭据。Secret Manager 可以保护您的敏感数据,例如 API 密钥、密码和证书。使用它来管理、访问和审核您在 Google Cloud 中的 Secret。
使用自定义组织限制条件。您可以使用自定义组织政策来允许或拒绝对 Dataproc 集群执行的特定操作。例如,如果创建或更新集群的请求未能满足组织政策设置的自定义限制条件验证,请求将失败并向调用方返回错误。
后续步骤
详细了解其他 Dataproc 安全功能: