이 문서에서는 SQL 데이터 데이터베이스 마이그레이션을 위해 Azure에서 사용자 지정 역할을 설정하는 방법을 설명합니다. 사용자 지정 역할은 Azure SQL Managed Instance를 대상으로 하는 Azure Database Migration Service 인스턴스를 사용하여 마이그레이션을 시작하고 실행하는 데 필요한 권한으로만 구성됩니다. Azure Database Migration Service의 새 인스턴스를 프로비전하려면 구독 수준에서 소유자 또는 기여자 역할을 사용자에게 할당해야 합니다.
역할 정의 JSON 문자열의 AssignableScopes
섹션을 사용하여 Azure 포털의 역할 할당 추가 UI에서 사용 권한이 표시되는 위치를 제어할 수 있습니다. 추가 역할로 UI가 복잡해지는 것을 방지하려면 리소스 그룹의 수준 또는 리소스 수준에서 역할을 정의할 수 있습니다. 사용자 지정 역할이 적용되는 리소스는 실제 역할 할당을 수행하지 않습니다.
{
"properties": {
"roleName": "DmsCustomRoleDemoForMI",
"description": "",
"assignableScopes": [
"/subscriptions/<storageSubscription>/resourceGroups/<storageAccountRG>",
"/subscriptions/<ManagedInstanceSubscription>/resourceGroups/<managedInstanceRG>",
"/subscriptions/<DMSSubscription>/resourceGroups/<dmsServiceRG>"
],
"permissions": [
{
"actions": [
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/listkeys/action",
"Microsoft.Storage/storageAccounts/blobServices/read",
"Microsoft.Storage/storageAccounts/blobServices/write",
"Microsoft.Storage/storageAccounts/blobServices/containers/read",
"Microsoft.Sql/managedInstances/read",
"Microsoft.Sql/managedInstances/write",
"Microsoft.Sql/managedInstances/databases/read",
"Microsoft.Sql/managedInstances/databases/write",
"Microsoft.Sql/managedInstances/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/databaseMigrations/cutover/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 Portal을 사용하여 사용자 지정 역할 만들기 또는 업데이트 및 Azure 사용자 지정 역할을 참조하세요.
Azure SQL Managed Instance로 마이그레이션하는 데 필요한 권한에 대한 설명
권한 작업 | 설명 |
---|---|
Microsoft.Storage/storageAccounts/read |
스토리지 계정의 목록을 반환하거나 지정된 스토리지 계정의 속성을 가져옵니다. |
Microsoft.Storage/storageAccounts/listkeys/action |
지정된 스토리지 계정에 대한 액세스 키를 반환합니다. |
Microsoft.Storage/storageAccounts/blobServices/read |
Blob 서비스를 나열합니다. |
Microsoft.Storage/storageAccounts/blobServices/write |
Blob service 속성 넣기의 결과를 반환합니다. |
Microsoft.Storage/storageAccounts/blobServices/containers/read |
컨테이너 목록을 반환합니다. |
Microsoft.Sql/managedInstances/read |
관리형 인스턴스 목록을 반환하거나 지정된 관리형 인스턴스의 속성을 가져옵니다. |
Microsoft.Sql/managedInstances/write |
지정된 매개 변수를 사용하여 관리형 인스턴스를 만들거나 지정된 관리형 인스턴스에 대한 속성 또는 태그를 업데이트합니다. |
Microsoft.Sql/managedInstances/databases/read |
기존 관리되는 데이터베이스를 가져옵니다. |
Microsoft.Sql/managedInstances/databases/write |
새 데이터베이스를 만들거나 기존 데이터베이스를 업데이트합니다. |
Microsoft.Sql/managedInstances/databases/delete |
기존 관리되는 데이터베이스를 삭제합니다. |
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/databaseMigrations/cutover/action |
데이터베이스에 대한 온라인 마이그레이션 작업을 중단합니다. |
Microsoft.DataMigration/sqlMigrationServices/write |
기존 Service의 속성을 새로 만들거나 변경합니다. |
Microsoft.DataMigration/sqlMigrationServices/delete |
기존 서비스를 삭제합니다. |
Microsoft.DataMigration/sqlMigrationServices/read |
마이그레이션 서비스 세부 정보를 검색합니다. |
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action |
인증 키 목록을 검색합니다. |
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action |
인증 키를 재생성합니다. |
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action |
IR 노드 등록을 해제합니다. |
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action |
모든 마이그레이션에 대한 모니터링 데이터를 나열합니다. |
Microsoft.DataMigration/sqlMigrationServices/listMigrations/read |
사용자에 대한 마이그레이션을 나열합니다. |
Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read |
모니터링 데이터를 검색합니다. |
Microsoft.SqlVirtualMachine/sqlVirtualMachines/read |
SQL 가상 머신의 세부 정보를 검색합니다. |
Microsoft.SqlVirtualMachine/sqlVirtualMachines/write |
기존 SQL 가상 머신의 속성을 새로 만들거나 변경합니다. |
Microsoft.DataMigration/SqlMigrationServices/tasks/read |
마이그레이션 서비스 작업 세부 정보 가져오기 |
Microsoft.DataMigration/SqlMigrationServices/tasks/write |
마이그레이션 서비스 작업 만들기 또는 업데이트 |
Microsoft.DataMigration/SqlMigrationServices/tasks/delete |
마이그레이션 서비스 삭제 태스크 |
샘플 스크립트를 가져와서 Windows 인증 또는 SQL Server 인증 사용하여 로그인을 만들고 VMware, Hyper-V 또는 물리적 서버에 필수적인 권한으로 프로비전할 수 있습니다.
역할 할당
사용자 또는 앱 ID에 역할을 할당하려면 다음을 수행합니다.
Azure Portal에서 리소스로 이동합니다.
왼쪽 메뉴에서 액세스 제어(IAM)를 선택한 다음 스크롤하여 만든 사용자 지정 역할을 찾습니다.
할당할 역할을 선택하고 사용자 또는 앱 ID를 선택한 다음 변경 내용을 저장합니다.
이제 사용자 또는 앱 ID가 역할 할당 탭에 표시됩니다.