如需限制项目或组织内用户的访问权限,您可以为 Database Migration Service 和相关目标数据库使用 Identity and Access Management (IAM) 角色。您可以控制对 Database Migration Service 相关 资源的访问权限,而不是向用户授予整个 Google Cloud 项目的 Viewer、Editor 或 Owner 角色。
本页面介绍了用户和服务账号在使用 Database Migration Service 执行同构 Cloud SQL for MySQL 迁移期间需要的所有角色。 如需详细了解在迁移过程中何时使用这些权限,请参阅 将 MySQL 数据库迁移到 Cloud SQL for MySQL。
执行迁移作业所涉及的账号
使用 Database Migration Service 执行数据迁移涉及两个账号:
- 执行迁移的用户账号
- 这是您用来登录以创建连接配置文件、 创建和运行迁移 作业的 Google 账号。
- Database Migration Service 服务帐号
- 这是在启用 Database Migration Service API 时,系统为您创建的服务帐号。与此账号关联的电子邮件地址是自动生成的,无法更改。此电子邮件地址采用以下格式:
service-PROJECT_NUMBER@gcp-sa-datamigration.iam.gserviceaccount.com
数据迁移过程中涉及的每个账号都需要一组不同的角色和权限。
权限和角色
如需获得使用 Database Migration Service 执行同构 MySQL 迁移所需的权限,请让管理员为以下账号授予项目的所需 IAM 角色:
- 执行迁移的用户账号:
-
Database Migration Admin (
roles/datamigration.admin) -
Cloud SQL Editor (
roles/cloudsql.editor)
-
Database Migration Admin (
- Database Migration Service 服务帐号:
-
Database Migration Admin (
roles/datamigration.admin) -
Cloud SQL Editor (
roles/cloudsql.editor) -
Cloud SQL Studio User (
roles/cloudsql.studioUser)
-
Database Migration Admin (
如需详细了解如何授予角色,请参阅 管理访问权限。
这些预定义角色包含使用 Database Migration Service 执行同构 MySQL 迁移所需的权限。如需查看所需的确切权限,请展开所需权限 部分:
所需权限
如需使用 Database Migration Service 执行同构 MySQL 迁移,您需要拥有以下权限:
- 执行迁移的用户账号:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.operations.getcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.databases.getcloudsql.databases.listcloudsql.databases.deletecompute.machineTypes.listcompute.machineTypes.getcompute.projects.get
- Database Migration Service 服务帐号:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.executeSql