在 Synapse Analytics 无服务器池中控制外部数据源的创建

时间:2021-06-30 11:20:22

标签: sql-server azure-sql-database azure-synapse serverless-architecture

• 我在 Synapse Analytics 无服务器池中创建了一个数据库

• 我创建了一个用户/角色“Exp”

• 我需要“Exp”才能创建 CREATE EXTERNAL TABLE、CREATE FILE FORMAT 命令(而不是 CREATE SCOPED CREDENTIAL、CREATE EXTERNAL DATA SOURCE)。下面的命令被执行

ALTER ROLE [db_ddladmin] ADD MEMBER [Exp];
ALTER ROLE [db_datareader] ADD MEMBER [Exp];

但是有了这个;我看到“Exp”用户/角色也能够运行 CED 命令;

有没有办法控制不让 Exp 没有 CREATE EXTERNAL DATA SOURCE 命令

我也试过下面的命令

DENY ALTER ANY EXTERNAL DATA SOURCE to [Exp];

这拒绝外部创建表和外部数据源。

1 个答案:

答案 0 :(得分:0)

DENY ALTER ANY EXTERNAL DATA SOURCE – 拒绝对外部数据源和外部表的权限。

但是,要在无服务器 Synapse SQL 池上创建外部表,用户必须具有以下 permissions.

  • 创建表格
  • 更改任何架构
  • 更改任何外部数据源
  • 更改任何外部文件格式

参考 - Use external tables with Synapse SQL - Azure Synapse Analytics | Microsoft Docs

注意ALTER ANY EXTERNAL DATA SOURCE 权限授予任何主体创建和修改任何外部数据源对象的能力,因此,它还授予访问数据库上所有数据库范围凭据的能力。此权限必须被视为高度特权,因此必须仅授予系统中受信任的主体。

参考: ATER EXTERNAL DATA SOURCE