用于精细访问权限的 IAM 条件
本页面介绍如何使用 IAM 条件来限制对连接的访问权限。
通过 IAM 条件,您可以精细控制 Integration Connectors 资源。默认情况下,
Integration Connectors 用户或角色
可以对连接执行所有受支持的操作。通过使用 IAM 条件,您可以
限制特定用户或角色仅对连接执行选定的操作。例如,您可以限制用户
,使其只能修改名称以
test-connection 开头的连接,并且无权对连接执行其他操作,例如
订阅事件或查看架构元数据。
准备工作
Integration Connectors 使用 Google Cloud 的 Identity and Access Management (IAM) 来管理 Integration Connectors 资源的角色和权限。因此,在 IAM 中为您的 Integration Connectors 资源指定或修改条件之前,请先熟悉以下 IAM 概念:
添加 IAM Conditions 条件
如需将 IAM Conditions 条件添加到 Integration Connectors 资源,您需要以下信息:
- 命名资源 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
示例
下表列出了您可以为 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" |
您向其应用此条件的用户或角色只能执行以下操作:
|
(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") |
您向其应用此条件的用户或角色只能执行以下操作:
|
为 Application Integration 服务账号添加 IAM 条件
您可以将 IAM 条件应用于 Application Integration 服务帐号,这样您就可以限制服务帐号在集成执行期间可以访问的连接
。例如,您可以限制服务帐号,使其只能访问名称以 marketing- 开头的连接。如需了解详情,请参阅将 IAM 条件应用于服务账号
。
下表列出了您可以为 Application Integration 服务帐号应用的示例资源条件。
| IAM 资源条件 | 说明 |
|---|---|
resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") |
您向其应用此条件的服务帐号只能运行名称以 marketing- 开头的连接。 |
后续步骤
浏览 IAM 文档中的以下信息: