Integration Connectors 的 IAM 角色和权限

预定义角色可提供对特定 Google Cloud 资源的精细访问权限。 这些角色由 Google 创建和维护。Google 会根据需要自动更新其权限,例如 Google Cloud 添加新功能或服务时。

下表列出了 Integration Connectors 的所有预定义 IAM 角色:

Role Permissions

(roles/connectors.admin)

Full access to all resources of Connectors Service.

connectors.actions.*

  • connectors.actions.execute
  • connectors.actions.list

connectors.connections.create

connectors.connections.delete

connectors.connections.executeSqlQuery

connectors.connections.generateOpenAPISpec

connectors.connections.get

connectors.connections.getConnectionSchemaMetadata

connectors.connections.getIamPolicy

connectors.connections.getRuntimeActionSchema

connectors.connections.getRuntimeEntitySchema

connectors.connections.list

connectors.connections.setIamPolicy

connectors.connections.update

connectors.connectors.*

  • connectors.connectors.get
  • connectors.connectors.list

connectors.customConnectorVersions.*

  • connectors.customConnectorVersions.create
  • connectors.customConnectorVersions.delete
  • connectors.customConnectorVersions.get
  • connectors.customConnectorVersions.getIamPolicy
  • connectors.customConnectorVersions.list
  • connectors.customConnectorVersions.setIamPolicy
  • connectors.customConnectorVersions.update

connectors.customConnectors.*

  • connectors.customConnectors.create
  • connectors.customConnectors.delete
  • connectors.customConnectors.get
  • connectors.customConnectors.getIamPolicy
  • connectors.customConnectors.list
  • connectors.customConnectors.setIamPolicy
  • connectors.customConnectors.update

connectors.endpointAttachments.*

  • connectors.endpointAttachments.create
  • connectors.endpointAttachments.delete
  • connectors.endpointAttachments.get
  • connectors.endpointAttachments.getIamPolicy
  • connectors.endpointAttachments.list
  • connectors.endpointAttachments.setIamPolicy
  • connectors.endpointAttachments.update

connectors.entities.*

  • connectors.entities.create
  • connectors.entities.delete
  • connectors.entities.deleteEntitiesWithConditions
  • connectors.entities.get
  • connectors.entities.list
  • connectors.entities.update
  • connectors.entities.updateEntitiesWithConditions

connectors.entityTypes.list

connectors.eventSubscriptions.*

  • connectors.eventSubscriptions.create
  • connectors.eventSubscriptions.delete
  • connectors.eventSubscriptions.get
  • connectors.eventSubscriptions.list
  • connectors.eventSubscriptions.update

connectors.eventtypes.*

  • connectors.eventtypes.get
  • connectors.eventtypes.list

connectors.locations.*

  • connectors.locations.get
  • connectors.locations.list

connectors.managedZones.*

  • connectors.managedZones.create
  • connectors.managedZones.delete
  • connectors.managedZones.get
  • connectors.managedZones.getIamPolicy
  • connectors.managedZones.list
  • connectors.managedZones.setIamPolicy
  • connectors.managedZones.update

connectors.operations.*

  • connectors.operations.cancel
  • connectors.operations.delete
  • connectors.operations.get
  • connectors.operations.list

connectors.providers.*

  • connectors.providers.get
  • connectors.providers.list

connectors.regionalSettings.*

  • connectors.regionalSettings.get
  • connectors.regionalSettings.update

connectors.runtimeconfig.get

connectors.schemaMetadata.refresh

connectors.settings.*

  • connectors.settings.get
  • connectors.settings.update

connectors.versions.*

  • connectors.versions.get
  • connectors.versions.list

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.secrets.getIamPolicy

(roles/connectors.editor)

Editor role for connectors

connectors.actions.*

  • connectors.actions.execute
  • connectors.actions.list

connectors.connections.create

connectors.connections.delete

connectors.connections.executeSqlQuery

connectors.connections.generateOpenAPISpec

connectors.connections.get

connectors.connections.getConnectionSchemaMetadata

connectors.connections.getIamPolicy

connectors.connections.getRuntimeActionSchema

connectors.connections.getRuntimeEntitySchema

connectors.connections.list

connectors.connections.listenEvent

connectors.connections.update

connectors.connectors.*

  • connectors.connectors.get
  • connectors.connectors.list

connectors.customConnectorVersions.create

connectors.customConnectorVersions.delete

connectors.customConnectorVersions.get

connectors.customConnectorVersions.getIamPolicy

connectors.customConnectorVersions.list

connectors.customConnectorVersions.update

connectors.customConnectors.create

connectors.customConnectors.delete

connectors.customConnectors.get

connectors.customConnectors.getIamPolicy

connectors.customConnectors.list

connectors.customConnectors.update

connectors.endpointAttachments.create

connectors.endpointAttachments.delete

connectors.endpointAttachments.get

connectors.endpointAttachments.getIamPolicy

connectors.endpointAttachments.list

connectors.endpointAttachments.update

connectors.entities.*

  • connectors.entities.create
  • connectors.entities.delete
  • connectors.entities.deleteEntitiesWithConditions
  • connectors.entities.get
  • connectors.entities.list
  • connectors.entities.update
  • connectors.entities.updateEntitiesWithConditions

connectors.entityTypes.list

connectors.eventSubscriptions.*

  • connectors.eventSubscriptions.create
  • connectors.eventSubscriptions.delete
  • connectors.eventSubscriptions.get
  • connectors.eventSubscriptions.list
  • connectors.eventSubscriptions.update

connectors.eventtypes.*

  • connectors.eventtypes.get
  • connectors.eventtypes.list

connectors.locations.*

  • connectors.locations.get
  • connectors.locations.list

connectors.managedZones.create

connectors.managedZones.delete

connectors.managedZones.get

connectors.managedZones.getIamPolicy

connectors.managedZones.list

connectors.managedZones.update

connectors.operations.*

  • connectors.operations.cancel
  • connectors.operations.delete
  • connectors.operations.get
  • connectors.operations.list

connectors.providers.*

  • connectors.providers.get
  • connectors.providers.list

connectors.regionalSettings.*

  • connectors.regionalSettings.get
  • connectors.regionalSettings.update

connectors.runtimeconfig.get

connectors.schemaMetadata.refresh

connectors.settings.*

  • connectors.settings.get
  • connectors.settings.update

connectors.versions.*

  • connectors.versions.get
  • connectors.versions.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/connectors.viewer)

Read-only access to Connectors all resources.

connectors.actions.list

connectors.connections.generateOpenAPISpec

connectors.connections.get

connectors.connections.getConnectionSchemaMetadata

connectors.connections.getIamPolicy

connectors.connections.getRuntimeActionSchema

connectors.connections.getRuntimeEntitySchema

connectors.connections.list

connectors.connectors.*

  • connectors.connectors.get
  • connectors.connectors.list

connectors.customConnectorVersions.get

connectors.customConnectorVersions.getIamPolicy

connectors.customConnectorVersions.list

connectors.customConnectors.get

connectors.customConnectors.getIamPolicy

connectors.customConnectors.list

connectors.endpointAttachments.get

connectors.endpointAttachments.getIamPolicy

connectors.endpointAttachments.list

connectors.entities.get

connectors.entities.list

connectors.entityTypes.list

connectors.eventSubscriptions.get

connectors.eventSubscriptions.list

connectors.eventtypes.*

  • connectors.eventtypes.get
  • connectors.eventtypes.list

connectors.locations.*

  • connectors.locations.get
  • connectors.locations.list

connectors.managedZones.get

connectors.managedZones.getIamPolicy

connectors.managedZones.list

connectors.operations.get

connectors.operations.list

connectors.providers.*

  • connectors.providers.get
  • connectors.providers.list

connectors.regionalSettings.get

connectors.runtimeconfig.get

connectors.settings.get

connectors.versions.*

  • connectors.versions.get
  • connectors.versions.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/connectors.customConnectorAdmin)

Custom Connector is a global resource which creates custom connector within the given target project. This role grants Admin access to Custom Connector resources

connectors.customConnectorVersions.*

  • connectors.customConnectorVersions.create
  • connectors.customConnectorVersions.delete
  • connectors.customConnectorVersions.get
  • connectors.customConnectorVersions.getIamPolicy
  • connectors.customConnectorVersions.list
  • connectors.customConnectorVersions.setIamPolicy
  • connectors.customConnectorVersions.update

connectors.customConnectors.*

  • connectors.customConnectors.create
  • connectors.customConnectors.delete
  • connectors.customConnectors.get
  • connectors.customConnectors.getIamPolicy
  • connectors.customConnectors.list
  • connectors.customConnectors.setIamPolicy
  • connectors.customConnectors.update

connectors.locations.*

  • connectors.locations.get
  • connectors.locations.list

(roles/connectors.customConnectorViewer)

Custom Connector is a global resource which creates custom connector within the given target project. This role grants Read-only access to Custom Connector & Custom Connector Version resources.

connectors.customConnectorVersions.get

connectors.customConnectorVersions.getIamPolicy

connectors.customConnectorVersions.list

connectors.customConnectors.get

connectors.customConnectors.getIamPolicy

connectors.customConnectors.list

connectors.locations.*

  • connectors.locations.get
  • connectors.locations.list

(roles/connectors.endpointAttachmentAdmin)

Endpoint Attachment is a regional resource which creates PSC connection endpoint for the given PSC Service Attachment. This role grants Admin access to Connectors Endpoint Attachment resources.

connectors.endpointAttachments.*

  • connectors.endpointAttachments.create
  • connectors.endpointAttachments.delete
  • connectors.endpointAttachments.get
  • connectors.endpointAttachments.getIamPolicy
  • connectors.endpointAttachments.list
  • connectors.endpointAttachments.setIamPolicy
  • connectors.endpointAttachments.update

connectors.locations.*

  • connectors.locations.get
  • connectors.locations.list

(roles/connectors.endpointAttachmentViewer)

Endpoint Attachment is a regional resource which creates PSC connection endpoint for the given PSC Service Attachment. This role grants Read-only access to Connectors Endpoint Attachment resources

connectors.endpointAttachments.get

connectors.endpointAttachments.getIamPolicy

connectors.endpointAttachments.list

connectors.locations.*

  • connectors.locations.get
  • connectors.locations.list

(roles/connectors.eventSubscriptionAdmin)

Event Subscription is a regional resource which creates subscriptions on events for a given connection within the given target project. This role grants Admin access to Connectors Subscription resources

connectors.eventSubscriptions.*

  • connectors.eventSubscriptions.create
  • connectors.eventSubscriptions.delete
  • connectors.eventSubscriptions.get
  • connectors.eventSubscriptions.list
  • connectors.eventSubscriptions.update

(roles/connectors.eventSubscriptionViewer)

Event Subscription is a regional resource which creates subscriptions on events for a given connection within the given target project. This role grants Read-only access to Event Subscription resources.

connectors.eventSubscriptions.get

connectors.eventSubscriptions.list

(roles/connectors.invoker)

Full Access to invoke all operations on Connections.

connectors.actions.*

  • connectors.actions.execute
  • connectors.actions.list

connectors.connections.executeSqlQuery

connectors.entities.*

  • connectors.entities.create
  • connectors.entities.delete
  • connectors.entities.deleteEntitiesWithConditions
  • connectors.entities.get
  • connectors.entities.list
  • connectors.entities.update
  • connectors.entities.updateEntitiesWithConditions

connectors.entityTypes.list

(roles/connectors.listener)

Full Access to listen events by connections.

connectors.connections.listenEvent

(roles/connectors.managedZoneAdmin)

Managed Zone is a global resource which creates Cloud DNS Peering Zone with the given target project. This role grants Admin access to Connectors Managed Zone resources

connectors.locations.*

  • connectors.locations.get
  • connectors.locations.list

connectors.managedZones.*

  • connectors.managedZones.create
  • connectors.managedZones.delete
  • connectors.managedZones.get
  • connectors.managedZones.getIamPolicy
  • connectors.managedZones.list
  • connectors.managedZones.setIamPolicy
  • connectors.managedZones.update

(roles/connectors.managedZoneViewer)

Managed Zone is a global resource which creates Cloud DNS Peering Zone with the given target project. This role grants Read-only access to Connectors Managed Zone resources.

connectors.locations.*

  • connectors.locations.get
  • connectors.locations.list

connectors.managedZones.get

connectors.managedZones.getIamPolicy

connectors.managedZones.list

Service agent roles

Service agent roles should only be granted to service agents.

Role Permissions

(roles/connectors.serviceAgent)

Grants Connectors Platform service account to manage customer resources

connectors.actions.*

  • connectors.actions.execute
  • connectors.actions.list

connectors.connections.get

connectors.connections.getConnectionSchemaMetadata

connectors.connections.list

connectors.connectors.*

  • connectors.connectors.get
  • connectors.connectors.list

connectors.customConnectorVersions.get

connectors.customConnectorVersions.list

connectors.customConnectors.get

connectors.customConnectors.list

connectors.endpointAttachments.get

connectors.endpointAttachments.list

connectors.entities.get

connectors.entityTypes.list

connectors.eventSubscriptions.get

connectors.eventSubscriptions.list

connectors.eventtypes.*

  • connectors.eventtypes.get
  • connectors.eventtypes.list

connectors.locations.*

  • connectors.locations.get
  • connectors.locations.list

connectors.managedZones.get

connectors.managedZones.list

connectors.providers.*

  • connectors.providers.get
  • connectors.providers.list

connectors.runtimeconfig.get

iam.serviceAccounts.getAccessToken

iam.serviceAccounts.getOpenIdToken

iam.serviceAccounts.implicitDelegation

monitoring.metricDescriptors.create

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.monitoredResourceDescriptors.*

  • monitoring.monitoredResourceDescriptors.get
  • monitoring.monitoredResourceDescriptors.list

monitoring.timeSeries.create

如需详细了解预定义角色,请参阅角色和权限。如需有关选择最合适的预定义角色的帮助,请参阅选择预定义角色。

连接服务账号的权限

连接会以您在创建连接时指定的服务账号身份运行。 如需创建或更新连接,发出请求的主账号必须对连接的服务账号拥有 iam.serviceAccounts.actAs 权限。主体是调用 Integration Connectors 的用户或服务账号(例如,通过 Google Cloud 控制台、Terraform 或 API)。无论身份验证类型如何,此要求都适用于每个连接。

如需授予此权限,请为连接的服务账号分配 Service Account User 角色 (roles/iam.serviceAccountUser)。如需了解详情,请参阅管理对服务账号的访问权限和服务账号身份验证角色。

如果主账号没有该权限,请求会失败并显示 FAILED_PRECONDITION 错误,前提条件违规类型为 SERVICE_ACCOUNT_PERMISSION_DENIED,并且不会创建或更新连接。现有连接会继续运行。