在 Azure Data Studio 中 SQL Server 到 Azure SQL 資料庫移轉的自訂角色
本文說明如何在 Azure 中設定自訂角色以進行 SQL Server 資料庫移轉。 自訂角色僅具有所需的權限,以建立和執行以 Azure SQL 資料庫為目標的 Azure 資料庫移轉服務執行個體。
使用角色定義 JSON 字串的 AssignableScopes
區段來控制權限在 Azure 入口網站 [新增角色指派] UI 中的顯示位置。 如果要避免額外角色使 UI 變得雜亂無章,則建議您在資源群組,或甚至是資源等級定義角色。 自訂角色套用的資源不會執行實際的角色指派。
{
"properties": {
"roleName": "DmsCustomRoleDemoForSqlDB",
"description": "",
"assignableScopes": [
"/subscriptions/<SQLDatabaseSubscription>/resourceGroups/<SQLDatabaseResourceGroup>",
"/subscriptions/<DatabaseMigrationServiceSubscription>/resourceGroups/<DatabaseMigrationServiceResourceGroup>"
],
"permissions": [
{
"actions": [
"Microsoft.Sql/servers/read",
"Microsoft.Sql/servers/write",
"Microsoft.Sql/servers/databases/read",
"Microsoft.Sql/servers/databases/write",
"Microsoft.Sql/servers/databases/delete",
"Microsoft.DataMigration/locations/operationResults/read",
"Microsoft.DataMigration/locations/operationStatuses/read",
"Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read",
"Microsoft.DataMigration/databaseMigrations/write",
"Microsoft.DataMigration/databaseMigrations/read",
"Microsoft.DataMigration/databaseMigrations/delete",
"Microsoft.DataMigration/databaseMigrations/cancel/action",
"Microsoft.DataMigration/sqlMigrationServices/write",
"Microsoft.DataMigration/sqlMigrationServices/delete",
"Microsoft.DataMigration/sqlMigrationServices/read",
"Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action",
"Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action",
"Microsoft.DataMigration/sqlMigrationServices/deleteNode/action",
"Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action",
"Microsoft.DataMigration/sqlMigrationServices/listMigrations/read",
"Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
您可以使用 Azure 入口網站、Azure PowerShell、Azure CLI 或 Azure REST API 來建立角色。
如需詳細資訊,請參閱使用 Azure 入口網站建立或更新 Azure 自訂角色和 Azure 自訂角色。
移轉至 Azure SQL 資料庫所需的權限
權限動作 | 描述 |
---|---|
Microsoft.Sql/servers/read |
傳回 SQL 資料庫資源清單,或者取得指定 SQL 資料庫的屬性。 |
Microsoft.Sql/servers/write |
使用指定的參數建立 SQL 資料庫,或者更新指定 SQL 資料庫的屬性或標籤。 |
Microsoft.Sql/servers/databases/read |
使用現有的資料庫。 |
Microsoft.Sql/servers/databases/write |
建立新的資料庫或更新現有的資料庫。 |
Microsoft.Sql/servers/databases/delete |
刪除現有的 SQL 資料庫。 |
Microsoft.DataMigration/locations/operationResults/read |
取得與「202 已接受」回應相關的長時間執行作業結果。 |
Microsoft.DataMigration/locations/operationStatuses/read |
取得與「202 已接受」回應相關的長時間執行作業狀態。 |
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read |
擷取服務作業結果。 |
Microsoft.DataMigration/databaseMigrations/write |
建立或更新資料庫移轉資源。 |
Microsoft.DataMigration/databaseMigrations/read |
擷取資料庫移轉資源。 |
Microsoft.DataMigration/databaseMigrations/delete |
刪除資料庫移轉資源。 |
Microsoft.DataMigration/databaseMigrations/cancel/action |
停止資料庫進行中的移轉。 |
Microsoft.DataMigration/sqlMigrationServices/write |
建立新服務,或變更現有服務的屬性。 |
Microsoft.DataMigration/sqlMigrationServices/delete |
刪除現有的服務。 |
Microsoft.DataMigration/sqlMigrationServices/read |
擷取移轉服務的詳細資料。 |
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action |
擷取驗證金鑰清單。 |
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action |
重新產生驗證金鑰。 |
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action |
取消註冊整合執行階段節點。 |
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action |
列出所有移轉的監視資料。 |
Microsoft.DataMigration/sqlMigrationServices/listMigrations/read |
列出使用者的移轉。 |
Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read |
擷取監視資料。 |
您可以取得範例指令碼,並使用 Windows 驗證或 SQL Server 驗證為 VMware、Hyper-V 或實體伺服器建立登入並佈建必要權限。
角色指派
將角色指派給使用者或應用程式識別碼:
在 Azure 入口網站中,移至資源。
在左側功能表中,選取 [存取控制] (IAM),然後捲動以尋找您建立的自訂角色。
選取待指派的角色,再選取使用者或應用程式識別碼,然後儲存變更。
使用者或應用程式識別碼現在會出現在 [角色指派] 索引標籤上。