繁体   English   中英

使用托管标识将 Azure SQL 数据库链接到数据工厂

[英]Link Azure SQL Database to Data Factory using managed identity

我一直在尝试使用托管标识从 Azure 数据工厂连接到 Azure SQL 数据库。
步骤如下:

  1. 创建链接服务并选择托管身份作为身份验证类型
  2. 在 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];

您可以在此处找到“[您的数据工厂名称]” 在此处输入图片说明

然后你在数据工厂中做任何 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

更新:

1.在azure门户中搜索并选择SQL server 在此处输入图片说明

2.选择你并保存为管理员在此处输入图片说明

3.点击按钮,在sql数据库中运行两个sql。 在此处输入图片说明

更多细节,你可以参考这个文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM