Database Migration Service は、Identity and Access Management(IAM)のロールと権限を使用して、移行リソースへのアクセスを管理します。
データ移行に関係するアカウント
Database Migration Service を使用して同種の PostgreSQL 移行を実行する場合、移行プロセスには次のアカウントが関与します。
- 移行を実行するユーザー アカウント
- これは、接続プロファイルの作成、移行ジョブの作成と実行を行うためにログインする Google アカウントです。
- Database Migration Service サービス アカウント
- これは、Database Migration Service API を有効にしたときに自動的に作成されるサービス アカウントです。このサービス アカウントに関連付けられたメールアドレスは自動的に生成され、変更できません。このメールアドレスの形式は次のとおりです。
service-PROJECT_NUMBER@gcp-sa-datamigration.iam.gserviceaccount.com
データ移行プロセスに関与する各アカウントには、異なるロールと権限のセットが必要です。
権限とロール
Database Migration Service を使用して同種の PostgreSQL 移行を実行するために必要な権限を取得するには、次のアカウントのプロジェクトに必要な 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 を使用して同種の PostgreSQL 移行を実行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
Database Migration Service を使用して同種の PostgreSQL 移行を実行するには、次の権限が必要です。
- 移行を実行するユーザー アカウント:
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
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。