如需限制项目或组织内用户的访问权限,您可以为 Database Migration Service 和相关目标数据库产品使用 Identity and Access Management (IAM) 角色。您可以控制对 Database Migration Service 相关资源的访问权限,而不是向用户授予整个 Google Cloud 项目的 Viewer、Editor 或 Owner 角色。
本页重点介绍了在使用 Database Migration Service 进行同质 Cloud SQL 迁移期间,用户账号和服务账号需要的所有角色。如需详细了解您在迁移过程中何时使用这些权限,请参阅 将 SQL Server 数据库迁移到 Cloud SQL for SQL Server。
执行迁移作业所涉及的账号
使用 Database Migration Service 执行的数据迁移涉及三个账号:
- 执行迁移的用户账号
- 这是您用于登录的 Google 账号,您可以使用该账号创建连接配置文件、将备份文件上传到 Cloud Storage 存储空间,以及创建和运行迁移作业。
- Database Migration Service 服务账号
- 这是在启用 Database Migration Service API 时,系统为您创建的服务账号。与此账号关联的电子邮件地址是自动生成的,无法更改。此电子邮件地址采用以下格式:
service-PROJECT_NUMBER@datamigration.iam.gserviceaccount.com
- Cloud SQL 实例服务账号
- 这是专门分配给您的 Cloud SQL for SQL Server 目标实例的服务账号。系统会在您创建目标实例后创建此服务账号。您可以在 Cloud SQL 实例详情页面上查看与此服务账号关联的电子邮件地址。请参阅 Cloud SQL for SQL Server 文档中的 查看实例信息。
参与数据迁移流程的每个账号都需要一组不同的角色和权限。
权限和角色
如需获得使用 Database Migration Service 执行同类 SQL Server 迁移所需的权限,请让您的管理员为以下账号授予项目的必要 IAM 角色:
- 执行迁移的用户账号:
-
Database Migration Admin (
roles/datamigration.admin
) -
Storage Admin (
roles/storage.admin
) -
Cloud SQL Editor (
roles/cloudsql.editor
)
-
Database Migration Admin (
- Database Migration Service 服务账号:
-
Database Migration Admin (
roles/datamigration.admin
) -
Storage Admin (
roles/storage.admin
) -
Cloud SQL Editor (
roles/cloudsql.editor
) -
Cloud SQL Studio 用户 (
roles/cloudsql.studioUser
)
-
Database Migration Admin (
- Cloud SQL 实例服务账号:
Storage Object Viewer (
roles/storage.objectViewer
)
如需详细了解如何授予角色,请参阅 管理访问权限。
这些预定义角色包含使用 Database Migration Service 执行同质 SQL Server 迁移所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
若要使用 Database Migration Service 执行同构 SQL Server 迁移,您需要具备以下权限:
- 执行迁移的用户账号:
datamigration.*
resourcemanager.projects.get
resourcemanager.projects.list
cloudsql.operations.get
cloudsql.instances.create
cloudsql.instances.get
cloudsql.instances.list
cloudsql.instances.import
cloudsql.databases.get
cloudsql.databases.list
cloudsql.databases.delete
compute.machineTypes.list
compute.machineTypes.get
compute.projects.get
storage.buckets.create
storage.buckets.list
- Database Migration Service 服务账号:
datamigration.*
resourcemanager.projects.get
resourcemanager.projects.list
cloudsql.instances.create
cloudsql.instances.get
cloudsql.instances.list
cloudsql.instances.executeSql
storage.objects.create
storage.objects.list
- Cloud SQL 实例服务账号:
storage.objects.list
storage.objects.get