用于精细访问权限的 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" |
应用此条件的用户或角色只能执行以下操作:
|
(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") |
应用此条件的用户或角色只能执行以下操作:
|
为应用集成服务账号添加 IAM 条件
您可以将 IAM Conditions 应用于 Application Integration 服务账号,从而限制连接
服务账号可以访问的内容。例如,您可以限制
服务账号,以使其只能访问名称以 marketing-
开头的连接。
如需了解详情,请参阅向服务账号应用 IAM 条件。
下表列出了您可以为应用集成服务账号应用的资源条件示例。
IAM 资源条件 | 说明 |
---|---|
resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/ connections/marketing-") |
您应用此条件的服务账号只能运行名称以 marketing- 开头的连接。 |
后续步骤
浏览 IAM 文档中的以下信息: