eka*_*kan 4 azure azure-data-factory azure-sql-database azure-managed-identity
我一直在尝试使用托管标识从 Azure 数据工厂连接到 Azure SQL 数据库。
步骤如下:
上述步骤让我对数据库进行所有数据操作。其实这就是问题所在。我想限制在我的 SQL 数据库上授予 Azure 数据工厂的权限。
首先,让我知道我是否已按照正确的步骤设置托管身份。然后,如何限制权限,因为我不希望数据工厂对 SQL 数据库执行任何 DDL。
正如 Raunak 评论的那样,您应该将角色更改为 db_datareader。
在你的sql数据库中,运行这个sql:
CREATE USER [your Data Factory name] FROM EXTERNAL PROVIDER;
Run Code Online (Sandbox Code Playgroud)
和这个sql:
ALTER ROLE db_datareader ADD MEMBER [your Data Factory name];
Run Code Online (Sandbox Code Playgroud)
然后你在数据工厂中执行任何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
Run Code Online (Sandbox Code Playgroud)
更新:
更多详细信息,您可以参考此文档。
| 归档时间: |
|
| 查看次数: |
5912 次 |
| 最近记录: |