Peran kustom untuk migrasi online dari SQL Server ke Azure SQL Managed Instance

Azure Database Migration Service menggunakan ID APLIKASI untuk berinteraksi dengan Azure Services. ID APLIKASI memerlukan peran Kontributor di tingkat Langganan (yang tidak akan diizinkan oleh banyak departemen keamanan Perusahaan) atau pembuatan peran kustom yang memberikan izin khusus yang diperlukan Azure Database Migration Service. Karena ada batas 2.000 peran kustom di ID Microsoft Entra, Anda mungkin ingin menggabungkan semua izin yang diperlukan khusus oleh ID APLIKASI ke dalam satu atau dua peran kustom, lalu memberi ID APLIKASI peran kustom pada objek atau grup sumber daya tertentu (vs. di tingkat langganan). Jika jumlah peran kustom tidak menjadi perhatian, Anda dapat membagi peran kustom berdasarkan jenis sumber daya, untuk membuat total tiga peran kustom seperti yang dijelaskan di bawah ini.

Bagian AssignableScopes dari string json definisi peran memungkinkan Anda untuk mengontrol tempat izin muncul di antarmuka pengguna Tambahkan Penetapan Peran di portal. Anda mungkin ingin menentukan peran di grup sumber daya atau bahkan tingkat sumber daya untuk menghindari mengacaukan antarmuka pengguna dengan peran tambahan. Perhatikan bahwa tindakan ini tidak melakukan penetapan peran yang sebenarnya.

Jumlah peran minimum

Saat ini kami menyarankan untuk membuat minimal dua peran kustom untuk ID APLIKASI, satu di tingkat sumber daya dan yang lainnya di tingkat langganan.

Catatan

Persyaratan peran kustom terakhir akhirnya dapat dihapus, karena kode SQL Managed Instance baru disebarkan ke Azure.

Peran Kustom untuk ID APLIKASI. Peran ini diperlukan untuk migrasi Azure Database Migration Service di tingkat grup sumber daya atau sumber daya yang menghosting Azure Database Migration Service (untuk informasi selengkapnya tentang ID APLIKASI, lihat artikel Menggunakan portal untuk membuat aplikasi Microsoft Entra dan perwakilan layanan yang dapat mengakses sumber daya).

{
  "Name": "DMS Role - App ID",
  "IsCustom": true,
  "Description": "DMS App ID access to complete MI migrations",
  "Actions": [
        "Microsoft.Storage/storageAccounts/read",
        "Microsoft.Storage/storageAccounts/listKeys/action",
        "Microsoft.Storage/storageaccounts/blobservices/read",
        "Microsoft.Storage/storageaccounts/blobservices/write",
        "Microsoft.Sql/managedInstances/read",
        "Microsoft.Sql/managedInstances/write",
        "Microsoft.Sql/managedInstances/databases/read",
        "Microsoft.Sql/managedInstances/databases/write",
        "Microsoft.Sql/managedInstances/databases/delete",
        "Microsoft.Sql/managedInstances/metrics/read",
        "Microsoft.DataMigration/locations/*",
        "Microsoft.DataMigration/services/*"
  ],
  "NotActions": [
  ],
  "AssignableScopes": [
    "/subscriptions/<subscription_id>/ResourceGroups/<StorageAccount_rg_name>",
    "/subscriptions/<subscription_id>/ResourceGroups/<ManagedInstance_rg_name>",
    "/subscriptions/<subscription_id>/ResourceGroups/<DMS_rg_name>",
  ]
}

Peran kustom untuk ID APLIKASI - langganan. Peran ini diperlukan untuk migrasi Azure Database Migration Service pada tingkat langganan yang menghosting SQL Managed Instance.

{
  "Name": "DMS Role - App ID - Sub",
  "IsCustom": true,
  "Description": "DMS App ID access at subscription level to complete MI migrations",
  "Actions": [
        "Microsoft.Sql/locations/managedDatabaseRestoreAzureAsyncOperation/*"
  ],
  "NotActions": [
  ],
  "AssignableScopes": [
    "/subscriptions/<subscription_id>"
  ]
}

Json di atas harus disimpan dalam dua file teks, dan Anda dapat menggunakan cmdlet AzureRM, AZ PowerShell, atau Azure CLI untuk membuat peran menggunakan New-AzureRmRoleDefinition (AzureRM) atau New-AzRoleDefinition (AZ).

Untuk informasi selengkapnya, lihat artikel Peran kustom Azure.

Setelah membuat peran kustom ini, Anda harus menambahkan penetapan peran ke pengguna dan ID APLIKASI ke sumber daya atau grup sumber daya yang sesuai:

  • Peran "Peran DMS - ID Aplikasi" harus diberikan kepada ID APLIKASI yang akan digunakan untuk migrasi, dan juga di tingkat sumber daya Storage Account, instans Azure Database Migration Service, dan SQL Managed Instance. Peran ini diberikan di tingkat sumber daya atau grup sumber daya yang menjadi host Azure Database Migration Service.
  • Peran "Peran DMS - ID Aplikasi - Sub" harus diberikan ke ID APLIKASI pada tingkat langganan yang menghosting SQL Managed Instance (pemberian peran di sumber daya atau grup sumber daya akan gagal). Persyaratan ini bersifat sementara hingga pembaruan kode disebarkan.

Jumlah peran yang diperluas

Jika jumlah peran kustom dalam ID Microsoft Entra Anda tidak menjadi perhatian, kami sarankan Anda membuat total tiga peran. Anda masih memerlukan peran "Peran DMS - ID Aplikasi - Sub", tetapi peran "Peran DMS - ID Aplikasi" di atas dibagi berdasarkan jenis sumber daya menjadi dua peran berbeda.

Peran kustom untuk ID APLIKASI untuk SQL Managed Instance

{
  "Name": "DMS Role - App ID - SQL MI",
  "IsCustom": true,
  "Description": "DMS App ID access to complete MI migrations",
  "Actions": [
        "Microsoft.Sql/managedInstances/read",
        "Microsoft.Sql/managedInstances/write",
        "Microsoft.Sql/managedInstances/databases/read",
        "Microsoft.Sql/managedInstances/databases/write",
        "Microsoft.Sql/managedInstances/databases/delete",
        "Microsoft.Sql/managedInstances/metrics/read"
  ],
  "NotActions": [
  ],
  "AssignableScopes": [
    "/subscriptions/<subscription_id>/resourceGroups/<ManagedInstance_rg_name>"
  ]
}

Peran kustom untuk ID APLIKASI untuk Storage

{
  "Name": "DMS Role - App ID - Storage",
  "IsCustom": true,
  "Description": "DMS App ID storage access to complete MI migrations",
  "Actions": [
"Microsoft.Storage/storageAccounts/read",
        "Microsoft.Storage/storageAccounts/listKeys/action",
        "Microsoft.Storage/storageaccounts/blobservices/read",
        "Microsoft.Storage/storageaccounts/blobservices/write"
  ],
  "NotActions": [
  ],
  "AssignableScopes": [
    "/subscriptions/<subscription_id>/resourceGroups/<StorageAccount_rg_name>"
  ]
}

Penetapan peran

Untuk menetapkan peran kepada pengguna/ID APLIKASI, buka portal Microsoft Azure, lakukan langkah-langkah berikut:

  1. Buka grup sumber daya atau sumber daya (kecuali untuk peran yang perlu diberikan pada langganan), buka Access Control, lalu gulir untuk menemukan peran kustom yang baru saja Anda buat.

  2. Pilih peran yang sesuai, pilih ID APLIKASI, lalu simpan perubahan.

ID APLIKASI Anda sekarang muncul tercantum di tab Penetapan peran.

Langkah berikutnya