Azure Data Studio の SQL Server から Azure SQL データベース への移行のためのカスタム ロール
この記事では、SQL Server データベースの移行のために Azure でカスタム ロールを設定する方法について説明します。 カスタム ロールには、Azure SQL データベースをターゲットとして使用して Azure Database Migration Serviceのインスタンスを作成して実行するために必要なアクセス許可のみが付与されます。
Azure portal の [ロール割り当ての追加] UI でアクセス許可が表示される場所を制御するには、ロール定義 JSON 文字列の AssignableScopes
セクションを使用します。 余分なロールで 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 portal、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 |
既存の SQL データベースを取得します。 |
Microsoft.Sql/servers/databases/write |
新しいデータベースを作成するか、既存のデータベースを更新します。 |
Microsoft.Sql/servers/databases/delete |
既存の SQL データベースを削除します。 |
Microsoft.DataMigration/locations/operationResults/read |
202 Accepted 応答に関連する実行時間の長い操作の結果を取得します。 |
Microsoft.DataMigration/locations/operationStatuses/read |
202 Accepted 応答に関連した長時間実行操作の状態を取得します。 |
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、または物理サーバーに対して、ログインを作成し、必要なアクセス許可でプロビジョニングするサンプル スクリプトを取得できます。
ロール割り当て
ユーザーまたはアプリ ID にロールを割り当てるには:
Azure portal でリソースに移動します。
左側のメニューで [アクセス制御 (IAM)] を選んでから、スクロールして作成したカスタム ロールを見つけます。
割り当てるロールを選び、ユーザーまたはアプリ ID を選んでから、変更を保存します。
ユーザーまたはアプリ ID が、[ロールの割り当て] タブに表示されるようになります。