Synapse Server less 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 池上没有按预期工作后;我正在尝试使用传统方法在无服务器池上创建外部 tables 并授予用户对一组故事的只读访问权限,并使用 CETAS 选项为另一个 ADLS Gen-2 容器启用 WRITE BACK 选项。
看来我也被困在那里 - 继续前进。
我已尝试在下图中解释我的场景。
现在 - 我在数据库上有 5 个外部 table,我可以只读访问这些 table 所在的架构。
我想再创建几个 tables - 理想情况下在这 5 个 tables 之间进行 JOIN 并聚合数据并写回 ADLS Gen-2 以用于 reporting/data 科学目的。
为了回写目的,我应该授予什么访问权限?
我尝试创建新模式并授予对该模式的 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 访问权限
以下是我收到的错误消息
我也试过创建一个新的数据库。希望我可以授予对该数据库的完全访问权限 - 这样跨数据库查询就可以工作 - 但我也很不走运。
有什么想法吗?
您确定您可以成功执行 select 语句并且问题不在 SELECT 部分吗?
GRANT CONNECT 连接到已创建的数据库
+
授予 DDL_ADMIN 访问权限
已解决问题
用例- 在了解到 AD Passthrough 在带有 ADLS Gen-2 的 Synapse Serverless 池上没有按预期工作后;我正在尝试使用传统方法在无服务器池上创建外部 tables 并授予用户对一组故事的只读访问权限,并使用 CETAS 选项为另一个 ADLS Gen-2 容器启用 WRITE BACK 选项。
看来我也被困在那里 - 继续前进。
我已尝试在下图中解释我的场景。
现在 - 我在数据库上有 5 个外部 table,我可以只读访问这些 table 所在的架构。 我想再创建几个 tables - 理想情况下在这 5 个 tables 之间进行 JOIN 并聚合数据并写回 ADLS Gen-2 以用于 reporting/data 科学目的。
为了回写目的,我应该授予什么访问权限? 我尝试创建新模式并授予对该模式的 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 访问权限以下是我收到的错误消息
我也试过创建一个新的数据库。希望我可以授予对该数据库的完全访问权限 - 这样跨数据库查询就可以工作 - 但我也很不走运。
有什么想法吗?
您确定您可以成功执行 select 语句并且问题不在 SELECT 部分吗?
GRANT CONNECT 连接到已创建的数据库 + 授予 DDL_ADMIN 访问权限
已解决问题