【发布时间】:2020-12-07 00:39:19
【问题描述】:
我正在通过 Synapse 工作室运行 Azure Synapse 工作流并遇到此错误:
{
"errorCode": "2200",
"message": "ErrorCode=FailedDbOperation,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Please make sure SQL DW has access to ADLS Gen2 account,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Data.SqlClient.SqlException,Message=Managed Service Identity has not been enabled on this server. Please enable Managed Service Identity and try again.,Source=.Net SqlClient Data Provider,SqlErrorNumber=105096,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=105096,State=1,Message=Managed Service Identity has not been enabled on this server. Please enable Managed Service Identity and try again.,},],'",
"failureType": "UserError",
"target": "Copy data1",
"details": []
}
如果我进入 Azure Powershell 并检查池,我会发现 Identity 中的 null 条目证实了这一点:
ResourceGroupName : workspacemanagedrg-c6475066-bbe3-4c02-866c-7556d5e92e0b
ServerName : <mydw>
Location : eastus2
SqlAdministratorLogin : <myadmin>
SqlAdministratorPassword : <mypw>
ServerVersion : 12.0
Tags : {}
Identity :
FullyQualifiedDomainName : <mydw>.database.windows.net
这有两点很特别:
- 我在尝试运行 Powershell 命令时遇到权限被拒绝,如 this question 中所述
Set-AzSqlServer:对象 ID 为“guid”的客户端“me@contoso.com”有权在范围“/subscriptions/mysubscription/resourceGroups/myrg/providers/”上执行操作“Microsoft.Sql/servers/write” Microsoft.Sql/servers/mydw';但是,由于在“/subscriptions/mysubscription/resourceGroups/myrg”范围内的名称为“c6475066-bbe2-4c03-866c-7556d5e92e9b”和 ID 为“c6475066bbe24c03866c7556d5e92e9b”的拒绝分配,访问被拒绝。
我已验证此托管身份确实可以访问我的数据源 (ADLS Gen2),当我在工作室中测试连接时,它们都可以正常工作。
如何将托管标识从 Synapse 工作区分配到我创建的 sql 池?
【问题讨论】:
标签: azure azure-managed-identity azure-synapse