Para limitar el acceso de los usuarios en un proyecto o una organización, puedes usar los roles de Identity and Access Management (IAM) para Database Migration Service y tu producto de base de datos de destino relevante. Puedes controlar el acceso a los recursos relacionados con Database Migration Service, en lugar de otorgar a los usuarios el rol de visualizador, editor o propietario en todo el proyecto de Google Cloud .
En esta página, se detallan todos los roles que las cuentas de usuario y de servicio necesitan durante una migración homogénea de Cloud SQL con Database Migration Service. Para obtener más información sobre cuándo usar estos permisos durante el proceso de migración, consulta Cómo migrar tus bases de datos de SQL Server a Cloud SQL para SQL Server.
Cuentas involucradas en la ejecución de trabajos de migración
Hay tres cuentas involucradas en las migraciones de datos que se realizan con Database Migration Service:
- Cuenta de usuario que realiza la migración
- Esta es la Cuenta de Google con la que accedes para crear los perfiles de conexión, subir los archivos de copia de seguridad al almacenamiento de Cloud Storage, crear y ejecutar la tarea de migración.
- Cuenta de servicio de Database Migration Service
- Esta es la cuenta de servicio que se crea para ti cuando habilitas la API de Database Migration Service. La dirección de correo electrónico asociada con esta cuenta se genera automáticamente y no se puede cambiar. Esta dirección de correo electrónico usa el siguiente formato:
service-PROJECT_NUMBER@datamigration.iam.gserviceaccount.com
- Cuenta de servicio de la instancia de Cloud SQL
- Esta es una cuenta de servicio asignada de forma específica a tu destino de Cloud SQL para la instancia de SQL Server. Se crea después de que creas la instancia de destino. Puedes ver la dirección de correo electrónico asociada con esta cuenta de servicio en la página de detalles de la instancia de Cloud SQL. Consulta Ver información de la instancia en la documentación de Cloud SQL para SQL Server.
Cada cuenta involucrada en el proceso de migración de datos requiere un conjunto diferente de roles y permisos.
Permisos y funciones
Para obtener los permisos que necesitas para realizar migraciones homogéneas de SQL Server con Database Migration Service, pídele a tu administrador que otorgue los roles de IAM necesarios en tu proyecto para las siguientes cuentas:
- Cuenta de usuario que realiza la migración:
-
Administrador de Database Migration (
roles/datamigration.admin
) -
Administrador de almacenamiento (
roles/storage.admin
) -
Editor de Cloud SQL (
roles/cloudsql.editor
)
-
Administrador de Database Migration (
- Cuenta de servicio de Database Migration Service:
-
Administrador de Database Migration (
roles/datamigration.admin
) -
Administrador de almacenamiento (
roles/storage.admin
) -
Editor de Cloud SQL (
roles/cloudsql.editor
) -
Usuario de Cloud SQL Studio (
roles/cloudsql.studioUser
)
-
Administrador de Database Migration (
- Cuenta de servicio de la instancia de Cloud SQL:
Visualizador de objetos de almacenamiento (
roles/storage.objectViewer
)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
Estos roles predefinidos contienen los permisos necesarios para realizar migraciones homogéneas de SQL Server con Database Migration Service. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para realizar migraciones homogéneas de SQL Server con Database Migration Service:
- Cuenta de usuario que realiza la migración:
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
- Cuenta de servicio de 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
- Cuenta de servicio de la instancia de Cloud SQL:
storage.objects.list
storage.objects.get
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.