用于精细访问权限的 IAM 条件

本页面介绍了如何使用 IAM Conditions 来限制对连接的访问权限。

通过 IAM 条件,您可以精细控制 Integration Connectors 资源。默认情况下,Integration Connectors 用户或角色可以对连接执行所有受支持的操作。通过使用 IAM Conditions,您可以限制特定用户或角色只能对连接执行所选操作。例如,您可以限制用户,使其只能修改名称以 test-connection 开头的连接,并且不会拥有对连接的其他权限,例如订阅事件或查看架构元数据。

准备工作

Integration Connectors 使用 Google Cloud 的 Identity and Access Management (IAM) 来管理 Integration Connectors 资源的角色和权限。因此,在 IAM 中为您的 Integration Connectors 资源指定或修改条件之前,请先熟悉以下 IAM 概念:

添加 IAM Conditions 条件

如需将 IAM 条件添加到 Integration Connectors 资源,您需要以下信息:

示例

下表列出了可为 Integration Connectors 用户或角色应用的资源条件示例。

IAM 资源条件 说明
(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection"))
|| resource.type != "connectors.googleapis.com/Connection"
应用此条件的用户或角色只能执行以下操作:
  • 列出所有连接。
  • 对名称以 marketing- 开头的连接执行获取、创建、更新和删除操作。
(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection") ||
(resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/ConnectionSchemaMetadata")
|| (resource.type != "connectors.googleapis.com/Connection" 
&& resource.type != "connectors.googleapis.com/ConnectionSchemaMetadata") 
应用此条件的用户或角色只能执行以下操作:
  • 列出所有连接。
  • 仅针对名称以 marketing- 开头的连接执行获取、创建、更新和删除操作。
  • 仅针对名称以 marketing- 开头的连接获取连接架构元数据。

为 Application Integration 服务账号添加 IAM Conditions 条件

您可以将 IAM 条件应用于 Application Integration 服务账号,以便限制该服务账号在集成执行期间可以访问的连接。例如,您可以限制某个服务账号,使其只能访问名称以 marketing- 开头的连接。如需了解详情,请参阅将 IAM 条件应用于服务账号

下表列出了可为 Application Integration 服务账号应用的示例资源条件。

IAM 资源条件 说明
resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-")
应用此条件的服务账号只能运行名称以 marketing- 开头的连接。

后续步骤

浏览 IAM 文档中的以下信息: