次の方法で共有


Azure Data Studio の SQL Server から Azure SQL データベース への移行のためのカスタム ロール

この記事では、SQL Server データベースの移行のために Azure でカスタム ロールを設定する方法について説明します。 カスタム ロールは、Azure SQL Database を対象とする Azure Database Migration Service のインスタンスを使用して移行を開始および実行するために必要なアクセス許可のみを使用して構成されます。 Azure Database Migration Service の新しいインスタンスをプロビジョニングするには、サブスクリプション レベルで 所有者 ロールまたは 共同作成者 ロールを割り当てる必要があります。

Azure portal の [AssignableScopes] UI でアクセス許可が表示される場所を制御するには、ロール定義 JSON 文字列の セクションを使用します。 余分なロールで 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",
                    "Microsoft.DataMigration/SqlMigrationServices/tasks/read",
                    "Microsoft.DataMigration/SqlMigrationServices/tasks/write",
                    "Microsoft.DataMigration/SqlMigrationServices/tasks/delete"
                ],
                "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 監視データを取得します。
Microsoft.DataMigration/SqlMigrationServices/tasks/read 移行サービス タスクの詳細を取得する
Microsoft.DataMigration/SqlMigrationServices/tasks/write 移行サービス タスクの作成または更新
Microsoft.DataMigration/SqlMigrationServices/tasks/delete 移行サービス タスクを削除します

Windows 認証または SQL Server 認証を使用して、VMwareHyper-V、または物理サーバーに対して、ログインを作成し、必要なアクセス許可でプロビジョニングするサンプル スクリプトを取得できます。

ロール割り当て

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

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

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

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

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