プロジェクト内または組織内のユーザーのアクセスを制限するには、Database Migration Service と関連する宛先データベースで Identity and Access Management(IAM)のロールを使用します。 Google Cloud プロジェクト全体に対する閲覧者、編集者、オーナーのロールを付与するのではなく、Database Migration Service 関連リソースへのアクセスのみを制御できます。
このページでは、Database Migration Service を使用した同種の Cloud SQL for MySQL 移行中にユーザー アカウントとサービス アカウントが必要とするすべてのロールについて説明します。移行プロセス中にこれらの権限を使用するタイミングの詳細については、 MySQL データベースを Cloud SQL for MySQL に移行するをご覧ください。
移行ジョブの実行に関与するアカウント
Database Migration Service で実行されるデータ移行には、次の 2 つのアカウントが関与します。
- 移行を実行するユーザー アカウント
- これは、接続プロファイルの作成、移行ジョブの作成と実行を行うためにログインする Google アカウントです。
- Database Migration Service サービス アカウント
- これは、Database Migration Service API を有効にしたときに自動的に作成されるサービス アカウントです。このサービス アカウントに関連付けられたメールアドレスは自動的に生成され、変更できません。このメールアドレスの形式は次のとおりです。
service-PROJECT_NUMBER@gcp-sa-datamigration.
データ移行プロセスに関係する各アカウントには、異なるロールと権限のセットが必要です。
権限とロール
Database Migration Service を使用して MySQL の同種移行を実行するために必要な権限を取得するには、次のアカウントのプロジェクトに必要な IAM ロールを付与するよう管理者に依頼してください。
- 移行を実行するユーザー アカウント:
-
データベース移行管理者(
roles/datamigration.admin) -
Cloud SQL 編集者(
roles/cloudsql.editor)
-
データベース移行管理者(
- Database Migration Service サービス アカウント:
-
データベース移行管理者(
roles/datamigration.admin) -
Cloud SQL 編集者(
roles/cloudsql.editor) -
Cloud SQL Studio ユーザー(
roles/cloudsql.studioUser)
-
データベース移行管理者(
ロールの付与の詳細については、 アクセス権の管理をご覧ください。
これらの事前定義ロールには、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