如需管理 Lakehouse for Apache Iceberg 的访问权限控制,您需要将 用户添加到 Google Cloud 项目并分配适当的角色。 默认情况下,项目仅向原始创建者授予访问权限。其他用户在被添加为项目成员或绑定到特定资源之后,才能访问相关资源。
什么是 IAM?
Google Cloud 提供 Identity and Access Management (IAM),可让您授予对特定 Google Cloud 资源的更精细访问权限,并防止对其他资源进行不必要的访问。IAM 允许您采用 最小权限原则安全原则,因此您 只需授予对 *Lakehouse* 中资源的必要访问权限即可。
IAM 还允许您通过设置 IAM 政策来控制谁(身份)对哪些资源具有何种权限(角色)。
IAM 政策可为项目成员授予特定角色,进而授予相应身份特定权限。例如,您可以为 Google 账号分配给定资源(如项目)的 roles/biglake.admin 角色,此后该账号便可控制项目中的 Lakehouse 资源,但无法管理其他资源。您还可以使用 IAM 来管理向项目团队成员授予的基本角色。
针对用户的访问权限控制选项
如需让用户能够创建和管理您的 Lakehouse 资源,您可以将他们作为 成员 添加到项目或特定资源,然后使用 IAM 角色 向这些用户授予权限。
团队成员可以是具有有效 Google 账号的个人用户、Google 群组、服务帐号或 Google Workspace 网域。当您将团队成员添加到项目或资源中时,请指定要向其授予的角色。IAM 提供三种类型的角色:预定义 角色、基本角色和 自定义角色。
如需查看每个 Lakehouse 角色的功能列表以及获授某个特定角色权限后可使用的 API 方法列表 ,请参阅 Lakehouse IAM 角色。
对于服务账号和群组等其他成员类型,请参阅政策 绑定参考文档。
服务账号
当您调用 Lakehouse API 以在服务所在的项目
中执行操作时,Lakehouse 将使用每个目录的服务代理 服务
账号来代表您执行这些操作
。
这些服务账号由 Lakehouse 运行时目录 使用,并且在您的项目中被授予 roles/biglake.serviceAgent 角色。
资源的 IAM 政策
通过将 IAM 政策直接附加到 Lakehouse 资源(例如 Lakehouse 服务),您可以授予对这些资源的访问权限。通过 IAM 政策,您可以管理这些资源的 IAM 角色,用于取代或补充在项目级层管理角色。这样,您就可以灵活地应用最小权限原则,即仅向协作者授予完成工作所需的特定资源的访问权限。
资源会沿用其父级资源的政策。如果在项目级层设置政策,则项目的所有子资源都会沿用该政策。资源的有效政策是为该资源设置的政策及其从层次结构中更高层级沿用而来的政策的并集。如需了解详情, 请参阅 IAM 政策 层次结构。
您可以使用 Google Cloud 控制台、 Identity and Access Management API 或 Google Cloud CLI 来获取和设置 IAM 政策。
- 对于 Google Cloud 控制台,请参阅使用 控制台进行访问权限控制Google Cloud 。
- 有关 API,请参阅通过 API 进行访问权限控制。
- 对于 Google Cloud CLI,请参阅使用 Google Cloud CLI 进行访问权限控制。
后续步骤
- 详细了解 Lakehouse IAM 角色。
- 了解如何设置项目级政策。