Aracılığıyla paylaş


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.

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"
                ],
                "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.

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

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

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.