Azure Data Studio でのデータベース移行をAzure SQLするためのSQL Serverのカスタム ロール

この記事では、SQL Server データベースの移行のために Azure でカスタム ロールを設定する方法について説明します。 カスタム ロールには、Azure SQL Database をターゲットとする 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 portal を使用したカスタム ロールの作成に関する記事と「Azure カスタム ロール」をご覧ください。

Azure SQL Database への移行に必要なアクセス許可

アクセス許可のアクション 説明
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 監視データを取得します。

ロールの割り当て

ユーザーまたはアプリ ID にロールを割り当てるには:

  1. Azure portal でリソースに移動します。

  2. 左側のメニューで [アクセス制御 (IAM)] を選んでから、スクロールして作成したカスタム ロールを見つけます。

  3. 割り当てるロールを選び、ユーザーまたはアプリ ID を選んでから、変更を保存します。

    ユーザーまたはアプリ ID が、[ロールの割り当て] タブに表示されるようになります。

次のステップ