如需限制项目或组织内用户的访问权限,您可以为适用于 Apache Flink 的 BigQuery 引擎使用 Identity and Access Management (IAM) 角色。您可以控制对 BigQuery Engine 中 Apache Flink 相关资源的访问权限,而不是向用户授予整个 Google Cloud 项目的 Viewer、Editor 或 Owner 角色。
本页重点介绍了如何使用适用于 Apache Flink 的 BigQuery 引擎的 IAM 角色。如需详细了解 IAM 及其功能,请参阅 IAM 文档。
适用于 Apache Flink 的 BigQuery 引擎的每种方法都要求调用者拥有必要的权限。如需查看 BigQuery Engine for Apache Flink 支持的权限和角色的列表,请参阅本页的预定义角色部分。
角色类型
与其他 Google Cloud 产品类似,适用于 Apache Flink 的 BigQuery Engine 支持三种类型的角色:
基本角色:基本角色是在引入 IAM 之前就已存在的高度宽松角色。您可以使用基本角色向主账号授予对 Google Cloud 资源的广泛访问权限。在生产环境中,如果有替代角色,请勿授予基本角色。应授予满足您需求的最受限的预定义角色,或创建自定义角色。如需详细了解基本角色,请参阅基本角色。
预定义角色:预定义角色可授予对特定Google Cloud 资源的精细访问权限。这些角色由 Google 创建和维护。Google 会根据需要自动更新其权限,例如Google Cloud 添加新功能或服务时。如需详细了解预定义角色,请参阅预定义角色。本页面包含适用于 Apache Flink 的 BigQuery Engine 预定义角色。
自定义角色:自定义角色可帮助您实施最低权限的原则,因为它们有助于确保组织中的主账号只能有他们需要的权限。仅允许少数高度受信任的主账号修改自定义角色。如果主账号可以修改项目或组织中的自定义角色,则可以向该项目或组织中的任何自定义角色添加任何权限。向主账号授予任何自定义角色后,他们就可以使用该自定义角色获取不受限制的访问权限。如需详细了解自定义角色,请参阅自定义角色。
所需权限
下表列出了调用者调用每种方法必须具备的权限:
方法 | 所需权限 |
---|---|
managedflink.deployments.create |
managedflink.deployments.create |
managedflink.deployments.update |
managedflink.deployments.update |
managedflink.deployments.delete |
managedflink.deployments.delete |
managedflink.deployments.list |
managedflink.deployments.list |
managedflink.deployments.get |
managedflink.deployments.get |
managedflink.jobs.create |
managedflink.jobs.create |
managedflink.jobs.update |
managedflink.jobs.update |
managedflink.jobs.delete |
managedflink.jobs.delete |
managedflink.jobs.list |
managedflink.jobs.list |
managedflink.jobs.get |
managedflink.jobs.get |
managedflink.locations.list |
managedflink.locations.list |
managedflink.locations.get |
managedflink.locations.get |
managedflink.operations.cancel |
managedflink.operations.cancel |
managedflink.operations.delete |
managedflink.operations.delete |
managedflink.operations.list |
managedflink.operations.list |
managedflink.operations.get |
managedflink.operations.get |
managedflink.sessions.create |
managedflink.sessions.create |
managedflink.sessions.update |
managedflink.sessions.update |
managedflink.sessions.delete |
managedflink.sessions.delete |
managedflink.sessions.list |
managedflink.sessions.list |
managedflink.sessions.get |
managedflink.sessions.get |
预定义角色
下表列出了适用于 Apache Flink 的 BigQuery 引擎 IAM 预定义角色,以及每个角色包含的适用于 Apache Flink 的 BigQuery 引擎相关权限的列表。每个权限适用于特定的资源类型。如需查看权限列表,请参阅 Google Cloud 控制台中的角色页面。
角色 | 说明 | 权限 |
---|---|---|
托管式 Flink 管理员roles/managedflink.admin |
对适用于 Apache Flink 的 BigQuery 引擎资源的完整访问权限。 | 此角色可提供以下权限:
|
托管式 Flink 开发者roles/managedflink.developer |
拥有对适用于 Apache Flink 的 BigQuery 引擎作业的完整访问权限以及对部署的读取权限。 | 此角色可提供以下权限:
|
托管式 Flink Viewerroles/managedflink.viewer |
对适用于 Apache Flink 的 BigQuery 引擎资源的只读权限。 | 此角色可提供以下权限:
|
创建部署和作业
要创建部署,roles/managedflink.admin
角色需具备运行和检查部署所需的一组最低权限。您还需要启用 Compute Engine API 才能创建部署。
要创建作业,roles/managedflink.developer
角色需具备运行和检查作业所需的一组最低权限。
分配角色
要管理组织级层角色,请参阅使用 IAM 对组织进行访问权限控制。
要设置项目级层角色,请参阅授予、更改和撤消对资源的访问权限。