Aracılığıyla paylaş


Azure Arc tarafından etkinleştirilen SQL Server için yönetilen kimliği ve Microsoft Entra kimlik doğrulamasını ayarlama

Şunlar için geçerlidir: SQL Server 2025 (17.x)

Bu makalede, Azure Arc tarafından etkinleştirilen SQL Server için Microsoft Entra Id yönetilen kimliğini ayarlamaya ve yapılandırmaya yönelik adım adım yönergeler sağlanır.

SQL Server ile yönetilen kimliğe genel bakış için bkz. Azure Arc tarafından etkinleştirilen SQL Server için yönetilen kimlik.

Önkoşullar

Azure Arc tarafından etkinleştirilen SQL Server ile yönetilen kimlik kullanabilmeniz için aşağıdaki önkoşulları karşıladığınızdan emin olun:

Birincil yönetilen kimliği etkinleştirme

SQL Server için Azure Uzantısı'nı sunucunuza yüklediyseniz, SQL Server örneğiniz için birincil yönetilen kimliği doğrudan Azure portalından etkinleştirebilirsiniz. Ayrıca, kayıt defterini güncelleştirerek birincil yönetilen kimliği el ile etkinleştirmek de mümkündür, ancak çok dikkatli olunmalıdır.

Azure portalında birincil yönetilen kimliği etkinleştirmek için şu adımları izleyin:

  1. Azure portalında Azure Arc kaynağı tarafından etkinleştirilen SQL Server'ınıza gidin.

  2. Ayarlar'ın altında Microsoft Entra Id ve Purview'u seçerek Microsoft Entra Id ve Purview sayfasını açın.

    Uyarı

    Microsoft Entra Id kimlik doğrulamasını etkinleştir seçeneğini görmüyorsanız SQL Server örneğinizin Azure Arc'a bağlı olduğundan ve en son SQL uzantısının yüklü olduğundan emin olun.

  3. Microsoft Entra Id ve Purview sayfasında, Birincil yönetilen kimliği kullanın yanındaki kutuyu işaretleyin ve ardından Kaydet'i kullanarak yapılandırmanızı uygulayın.

    Azure portalında Microsoft Entra seçeneğinin ekran görüntüsü.

Kimliğe uygulama izinleri tanımak

Önemli

Bu izinleri yalnızca Ayrıcalıklı Rol Yöneticisi veya daha yüksek bir rol verebilir.

Arc özellikli makine adını kullanan sistem tarafından atanan yönetilen kimlik aşağıdaki Microsoft Graph uygulama izinlerine (uygulama rolleri) sahip olmalıdır:

Yönetilen kimliğe gerekli izinleri vermek için PowerShell'i kullanabilirsiniz. Alternatif olarak, rol atanabilir bir grup oluşturabilirsiniz. Grup oluşturulduktan sonra, Dizin Okuyucuları rolünü veya User.Read.All, GroupMember.Read.Allve Application.Read.All izinlerini gruba atayın ve Azure Arc özellikli makineleriniz için sistem tarafından atanan tüm yönetilen kimlikleri gruba ekleyin. Üretim ortamınızda Dizin Okuyucuları rolünü kullanmanızı önermiyoruz.

Aşağıdaki PowerShell betiği yönetilen kimliğe gerekli izinleri verir. Bu betiğin PowerShell 7.5 veya sonraki bir sürümde çalıştırıldığından ve modül 2.28 veya üzerinin Microsoft.Graph yüklü olduğundan emin olun.

# Set your Azure tenant and managed identity name
$tenantID = '<Enter-Your-Azure-Tenant-Id>'
$managedIdentityName = '<Enter-Your-Arc-HostMachine-Name>'

# Connect to Microsoft Graph
try {
    Connect-MgGraph -TenantId $tenantID -ErrorAction Stop
    Write-Output "Connected to Microsoft Graph successfully."
}
catch {
    Write-Error "Failed to connect to Microsoft Graph: $_"
    return
}

# Get Microsoft Graph service principal
$graphAppId = '00000003-0000-0000-c000-000000000000'
$graphSP = Get-MgServicePrincipal -Filter "appId eq '$graphAppId'"
if (-not $graphSP) {
    Write-Error "Microsoft Graph service principal not found."
    return
}

# Get the managed identity service principal
$managedIdentity = Get-MgServicePrincipal -Filter "displayName eq '$managedIdentityName'"
if (-not $managedIdentity) {
    Write-Error "Managed identity '$managedIdentityName' not found."
    return
}

# Define roles to assign
$requiredRoles = @(
    "User.Read.All",
    "GroupMember.Read.All",
    "Application.Read.All"
)

# Assign roles using scoped syntax
foreach ($roleValue in $requiredRoles) {
    $appRole = $graphSP.AppRoles | Where-Object {
        $_.Value -eq $roleValue -and $_.AllowedMemberTypes -contains "Application"
    }

    if ($appRole) {
        try {
            New-MgServicePrincipalAppRoleAssignment   -ServicePrincipalId $managedIdentity.Id `
                -PrincipalId $managedIdentity.Id `
                -ResourceId $graphSP.Id `
                -AppRoleId $appRole.Id `
                -ErrorAction Stop

            Write-Output "Successfully assigned role '$roleValue' to '$managedIdentityName'."
        }
        catch {
            Write-Warning "Failed to assign role '$roleValue': $_"
        }
    }
    else {
        Write-Warning "Role '$roleValue' not found in Microsoft Graph AppRoles."
    }
}

Oturumlar ve kullanıcılar oluşturma

Yönetilen kimlik için oturum açma bilgileri ve kullanıcılar oluşturmak için Microsoft Entra öğreticisindeki adımları izleyin.