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

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

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

准备工作

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

添加 IAM Conditions 条件

如需将 IAM 条件添加到集成连接器资源,您需要以下信息:

  • 命名资源 URI - Integration Connectors 中的每个资源都有一个唯一的 资源 URI。例如,连接资源的 URI 为 projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/{connection_name}。 如需查看所有可用 URI 的完整列表,请参阅 Integration Connectors REST 资源。 如需精细控制资源的访问权限,您必须根据命名惯例为资源命名。您可以根据自己的要求 决定要使用的命名惯例。例如,您可以为营销团队拥有的所有关联添加 marketing- 一词作为前缀。在此示例中,资源 营销团队连接的 URI,以 projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/marketing-
  • 仅父级权限 - 检查资源或其任何子资源是否需要仅父级权限。如需了解详情,请参阅仅父级权限
  • 资源类型 - 您可以根据条件中的资源类型进行过滤,从而进一步缩小资源的范围。Integration Connectors 支持以下资源的条件:
    资源名称 资源类型
    连接 connectors.googleapis.com/Connection
    ManagedZone connectors.googleapis.com/ManagedZone
    EndpointAttachment connectors.googleapis.com/EndpointAttachment
    EventSubscription connectors.googleapis.com/EventSubscription
    ConnectionSchemaMetadata connectors.googleapis.com/ConnectionSchemaMetadata

示例

下表列出了您可以为集成连接器用户或角色应用的资源条件示例。

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- 开头的连接的连接架构元数据。

为应用集成服务账号添加 IAM 条件

您可以将 IAM Conditions 应用于 Application Integration 服务账号,从而限制连接 服务账号可以访问的内容。例如,您可以限制 服务账号,以使其只能访问名称以 marketing- 开头的连接。 如需了解详情,请参阅向服务账号应用 IAM 条件

下表列出了您可以为应用集成服务账号应用的资源条件示例。

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

后续步骤

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