繁体   English   中英

Synapse Serverless Pool 使用 CETAS 将数据写回 ADLS Gen-2 >> 权限问题

[英]Synapse Server less Pool writing data back to ADLS Gen-2 using CETAS >> Permissions issue

用例 - 在了解到 AD Passthrough 在具有 ADLS Gen-2 的 Synapse Serverless 池上无法正常工作后; 我正在尝试使用在无服务器池上创建外部表的传统方法,并授予用户对一组故事的只读访问权限,并使用 CETAS 选项为另一个 ADLS Gen-2 容器启用 WRITE BACK 选项。

看起来我也被困在那里 - 继续前进。

我试图在下图中解释我的场景。

在此处输入图像描述

现在 - 我在数据库上有 5 个外部表,我可以只读访问这些表所在的模式。 我想再创建几个表 - 理想情况下在这 5 个表之间进行 JOIN 并聚合数据并写回 ADLS Gen-2 以用于报告/数据科学目的。

我应该为写回目的授予什么访问权限? 我尝试创建新架构并授予 ALTER、CONTROL、SELECT 对该架构的访问权限以及数据库级别的 CREATE TABLE 访问权限。 我不想授予对数据库级别的更多访问权限-因为它具有引用了托管标识的数据范围凭据-这将授予对 ROC 容器对象的完全访问权限。

Grant select on SCHEMA ::sandbox to sls_svc ;

Grant ALTER on SCHEMA ::sandbox to sls_svc ;

GRANT CONTROL ON SCHEMA::[sandbox ] TO [sls_svc];

Grant CREATE TABLE to sls_svc;


CREATE EXTERNAL TABLE sanbox.revenue-by-month
WITH (
    LOCATION = '/ROW/revenue-by-month/',
    DATA_SOURCE = ADLS-ROW,  
    FILE_FORMAT = EF_PARQUET
)  
AS
SELECT      * from table1; 

sls_svc 角色中的所有用户都对 READ-WRITE-CONTAINER (ROW) 具有 STORAGE DATA CONTRIBUTOR 访问权限

以下是我收到的错误消息

在此处输入图像描述

我还尝试创建一个新数据库。 希望我可以授予对该数据库的完全访问权限-以便跨数据库查询可以工作-但我在那里也不走运。

有什么想法吗?

您似乎已正确设置权限https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/develop-storage-files-overview?tabs=impersonation#permissions

您确定您可以成功执行 select 语句并且问题不在 SELECT 部分吗?

GRANT CONNECT 到创建的数据库 + GRANT DDL_ADMIN 访问

解决了这个问题

暂无
暂无

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

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