如要限制專案或機構內使用者的存取權,您可以為資料庫移轉服務和相關的目標資料庫產品使用身分與存取權管理 (IAM) 角色。您可以控制對資料庫遷移服務相關資源的存取權,而不將整個 Google Cloud 專案的檢視者、編輯者或擁有者角色授予使用者。
本頁重點說明使用者和服務帳戶在使用資料庫移轉服務進行同類 Cloud SQL 遷移作業時,需要具備的所有角色。如要進一步瞭解在遷移程序中使用這些權限的時間點,請參閱「 將 SQL Server 資料庫遷移至 SQL Server 適用的 Cloud SQL」。
執行遷移工作的帳戶
使用資料庫移轉服務進行資料遷移時,會涉及三個帳戶:
- 執行遷移作業的使用者���戶
- 這是您用來建立連線設定檔、將備份檔案上傳至 Cloud Storage 儲存空間,以及建立及執行遷移作業的 Google 帳戶。
- 資料庫移轉服務服務帳戶
- 啟用 Database Migration Service API 時,系統會為您建立這個服務帳戶,並自動產生相關聯的電子郵件地址。該電子郵件地址無法變更,這個電子郵件地址採用以下格式:
service-PROJECT_NUMBER@gcp-sa-datamigration.iam.gserviceaccount.com
- Cloud SQL 執行個體服務帳戶
- 這個服務帳戶會專門指派給目的地 Cloud SQL for SQL Server 執行個體,目的地執行個體建立後即會建立。您可以在 Cloud SQL 執行個體詳細資料頁面,查看與這個服務帳戶相關聯的電子郵件地址。請參閱 Cloud SQL for SQL Server 說明文件中的「 查看執行個體資訊」一文。
資料遷移程序中涉及的每個帳戶都需要不同的角色和權限。
權限與角色
如要取得使用資料庫遷移服務執行同類 SQL Server 遷移作業所需的權限,請管理員為下列帳戶授予專案的必要 IAM 角色:
- 執行遷移作業的使用者帳戶:
-
資料庫遷移管理員 (
roles/datamigration.admin
) -
Storage 管理員 (
roles/storage.admin
) -
Cloud SQL 編輯器 (
roles/cloudsql.editor
)
-
資料庫遷移管理員 (
- 資料庫移轉服務服務帳戶:
-
資料庫遷移管理員 (
roles/datamigration.admin
) -
Storage 管理員 (
roles/storage.admin
) -
Cloud SQL 編輯器 (
roles/cloudsql.editor
) -
Cloud SQL Studio 使用者 (
roles/cloudsql.studioUser
)
-
資料庫遷移管理員 (
- Cloud SQL 執行個體服務帳戶:
Storage Object Viewer (
roles/storage.objectViewer
)
如要進一步瞭解如何授予角色,請參閱「 管理存取權」一文。
這些預先定義的角色具備使用資料庫移轉服務執行同類 SQL Server 遷移作業所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要使用資料庫移轉服務執行相同系統的 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
- 資料庫移轉服務服務帳戶:
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
您或許還可透過 自訂角色或其他 預先定義的角色取得這些權限。