ADS kullanarak SQL Server'dan Azure SQL Yönetilen Örneği'ne geçiş süreçleri için özelleştirilmiş roller

Bu makalede, SQL Server veritabanı geçişleri için Azure'da özel bir rolün nasıl ayarlanacağı açıklanmaktadır. Özel rol, Azure SQL Yönetilen Örneği'ni hedefleyen bir Azure Veritabanı Geçiş Hizmeti örneği kullanılarak yalnızca geçişleri başlatmak ve yürütmek için gereken izinlerle yapılandırılır. Azure Veritabanı Geçiş Hizmeti'nin yeni bir örneğini sağlamak için kullanıcıya abonelik düzeyinde Sahip veya Katkıda Bulunan rolü atanmalıdır.

Kullanıcılar ayrıca aşağıdaki yerleşik rolleri de kullanabilirler:

  • SqlVM Geçiş Rolü
  • SqlMI Göç Rolü
  • SqlDB Geçiş Rolü

Bu yerleşik roller kullanıcıların şunları yapmasını sağlar:

  1. Veritabanı Geçiş Hizmeti (DMS) örnekleri oluşturun ve silin.
  2. Veritabanı göçlerini DMS kullanarak yürütün.

Uyarı

Azure portalı kullanarak geçişi yapılandırmak için blob konteynerindeStorage Blob Data Reader erişimine de ihtiyacınız var.

Özel rol için:

Azure portalında, izinlerin nerede görüneceğini kontrol etmek için rol tanımı JSON dizesinin AssignableScopes bölümünü kullanarak Rol ataması ekleme kullanıcı arabirimi 'de düzenleyin. Kullanıcı arabirimini ek rollerle karmaşık hale getirmekten kaçınmak için, rolü kaynak grubu düzeyinde, hatta kaynak düzeyinde tanımlamak isteyebilirsiniz. Özel rolün uygulandığı kaynak, gerçek rol atamasını gerçekleştirmez.

{
    "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",
                    "Microsoft.DataMigration/sqlMigrationServices/validateIR/action"
                ],
                "notActions": [],
                "dataActions": [
                  "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read"
                ],
                "notDataActions": []
            }
        ]
    }
}

Rolleri oluşturmak için Azure portalı, Azure PowerShell, Azure CLI veya Azure REST API'sini kullanabilirsiniz.

Daha fazla bilgi için bkz. Azure portalı kullanarak Azure özel rolleri oluşturma veya güncelleştirme ve Azure özel rollerini.

Uyarı

Azure portalı üzerinden Azure SQL Yönetilen Örneği veya Azure SQL Virtual Machine'e geçiş yaparken, giriş yapmış kullanıcının yedek dosyalarını içeren blob konteynerindeStorage Blob Data Reader erişimine sahip olduğundan emin olun. Bu izin, yalnızca Azure portalı aracılığıyla geçiş kurulumu sırasında blob kapsayıcısında klasörleri ve dosyaları listelemek için gereklidir.

Azure SQL Yönetilen Örneği'ne geçiş için gereken izinlerin açıklaması

İzin eylemi Açıklama
Microsoft.Storage/storageAccounts/read Depolama hesaplarının listesini döndürür veya belirtilen depolama hesabının özelliklerini alır.
Microsoft.Storage/storageAccounts/listkeys/action Belirtilen depolama hesabının erişim anahtarlarını döndürür.
Microsoft.Storage/storageAccounts/blobServices/read Blob hizmetlerini listele.
Microsoft.Storage/storageAccounts/blobServices/write Put blob hizmeti özelliklerinin sonucunu döndürür.
Microsoft.Storage/storageAccounts/blobServices/containers/read Kapsayıcıların listesini döndürür.
Microsoft.Sql/managedInstances/read Yönetilen örneklerin listesini döndürür veya belirtilen yönetilen örneğin özelliklerini alır.
Microsoft.Sql/managedInstances/write Belirtilen parametrelerle bir yönetilen örnek oluşturur veya belirtilen yönetilen örneğin özelliklerini veya etiketlerini güncelleştirir.
Microsoft.Sql/managedInstances/databases/read Mevcut yönetilen veritabanını alır.
Microsoft.Sql/managedInstances/databases/write Yeni bir veritabanı oluşturur veya mevcut bir veritabanını güncelleştirir.
Microsoft.Sql/managedInstances/databases/delete Var olan bir yönetilen veritabanını siler.
Microsoft.DataMigration/locations/operationResults/read 202 Kabul edildi yanıtıyla ilgili uzun süre çalışan bir işlemin durumunu alın.
Microsoft.DataMigration/locations/operationStatuses/read 202 Kabul edildi yanıtıyla ilgili uzun süre çalışan bir işlemin durumunu alın.
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read Hizmet İşlemi Sonuçlarını Alma.
Microsoft.DataMigration/databaseMigrations/write Veritabanı Geçişi kaynağı oluşturma veya güncelleştirme.
Microsoft.DataMigration/databaseMigrations/read Veritabanı Geçişi kaynağını alın.
Microsoft.DataMigration/databaseMigrations/delete Veritabanı Geçişi kaynağını silin.
Microsoft.DataMigration/databaseMigrations/cancel/action Veritabanı için devam eden geçişi durdurun.
Microsoft.DataMigration/databaseMigrations/cutover/action Veritabanı için anlık çevrimiçi geçiş işlemi.
Microsoft.DataMigration/sqlMigrationServices/write Mevcut Hizmetin yeni özelliklerini oluşturma veya değiştirme
Microsoft.DataMigration/sqlMigrationServices/delete Mevcut Hizmeti silin.
Microsoft.DataMigration/sqlMigrationServices/read Geçiş Hizmeti'nin ayrıntılarını alın.
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action Kimlik Doğrulama Anahtarları Listesini alın.
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action Kimlik Doğrulama Anahtarlarını yeniden oluşturma.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action IR düğüm kaydını kaldırın.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Tüm geçişler için İzleme Verilerini listeler.
Microsoft.DataMigration/sqlMigrationServices/listMigrations/read Kullanıcının geçişlerini listeler.
Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read İzleme Verilerini alın.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/read SQL sanal makinesinin ayrıntılarını alın.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/write Mevcut SQL sanal makinesinin yeni bir sürümünü oluşturun veya özelliklerini değiştirin.
Microsoft.DataMigration/SqlMigrationServices/tasks/read Geçiş Hizmeti Görev ayrıntılarını alma
Microsoft.DataMigration/SqlMigrationServices/tasks/write Geçiş Hizmeti Görevi Oluşturma veya Güncelleştirme
Microsoft.DataMigration/SqlMigrationServices/tasks/delete Geçiş Hizmeti Görevini Sil
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read Azure Depolama hesabında blob kapsayıcılarını okuma
Microsoft.DataMigration/sqlMigrationServices/validateIR/action Entegrasyon çalışma zamanını doğrular.

Bir giriş oluşturmak için örnek bir betik alabilir ve VMware, Hyper-V veya fiziksel sunucular için gerekli izinleri Windows authentication veya SQL Server doğrulaması kullanarak sağlayabilirsiniz.

Rol ataması

Kullanıcıya veya uygulama kimliğine rol atamak için:

  1. Azure portalında kaynağa gidin.

  2. Sol menüde, erişim denetimi (IAM)seçin ve oluşturduğunuz özel rolleri bulmak için ekranı kaydırın.

  3. Atanacak rolleri seçin, kullanıcı veya uygulama kimliğini seçin ve değişiklikleri kaydedin.

    Kullanıcı veya uygulama kimliği artık Rol atamaları sekmesinde görünür.