如何解决使用托管身份将Azure SQL数据库链接到Data Factory
我一直在尝试使用托管身份从Azure数据工厂连接到Azure SQL数据库。
步骤如下:
- 创建链接服务并选择托管身份作为身份验证类型
- 在SQL Server上,添加了为Azure数据工厂创建的托管身份作为Active Directory管理员
以上步骤使我可以对数据库执行所有数据操作。其实这就是问题所在。我想限制SQL数据库中授予Azure数据工厂的特权。
首先,请让我知道我是否已按照正确的步骤来设置托管身份。然后,如何限制特权,因为我不希望数据工厂在SQL数据库上执行任何DDL。
解决方法
正如Raunak所说,您应该将角色更改为db_datareader。
在您的sql数据库中,运行以下sql:
CREATE USER [your Data Factory name] FROM EXTERNAL PROVIDER;
和此sql:
ALTER ROLE db_datareader ADD MEMBER [your Data Factory name];
然后您在Data Factory中执行任何DDL操作,就会出现如下错误:
"errorCode": "2200","message": "ErrorCode=SqlOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A database operation failed. Please search error to get more details.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Data.SqlClient.SqlException,Message=The INSERT permission was denied on the object
更新:
更多详细信息,您可以参考此documentation。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。