Aracılığıyla paylaş


ADS kullanarak SQL Server'ın Azure Sanal Makineler'e geçişleri için özel 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 yalnızca Azure Sanal Makinesi'ni hedefleyen bir Azure Veritabanı Geçiş Hizmeti örneği kullanılarak 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.

Azure portalındaki Rol atama ekleme AssignableScopes), izinlerin nerede görüneceğini denetlemek için rol tanımı JSON dizesinin bölümünü kullanın. 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": "DmsCustomRoleDemoForVM",
        "description": "",
        "assignableScopes": [
            "/subscriptions/<storageSubscription>/resourceGroups/<storageAccountRG>",
            "/subscriptions/<ManagedInstanceSubscription>/resourceGroups/<virtualMachineRG>",
            "/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.SqlVirtualMachine/sqlVirtualMachines/read",
                    "Microsoft.SqlVirtualMachine/sqlVirtualMachines/write",
                    "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": [
                    "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 aracılığıyla Azure SQL Yönetilen Örneği'ne veya Azure SQL Sanal Makinesi'ne geçiş yaparken, oturum açmış kullanıcının yedekleme dosyalarını içeren blob kapsayıcısında Depolama Blob Veri Okuyucusu 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.

Sanal makineye 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 ayarlarının sonucunu döndürür.
Microsoft.Storage/storageAccounts/blobServices/containers/read Konteynerlerin 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 olan uzun süredir devam eden bir işlemin durumunu alın.
Microsoft.DataMigration/locations/operationStatuses/read 202 Kabul Edildi yanıtıyla ilgili olan uzun süredir devam eden 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 kesintisiz çevrimiçi geçiş operasyonu.
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ünün kaydını silin.
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

VMware, Hyper-Vveya fiziksel sunuculariçin gerekli izinlerle bir oturum açma oluşturmak ve sağlamak üzere, Windows kimlik doğrulaması veya SQL Server kimlik doğrulaması kullanarak örnek bir betik alabilirsiniz.

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.