如何向 Azure SQL 数据库中的用户授予数据库范围凭据
How to grant Database scope credentials to users in Azure SQL Database
我有 Azure SQL 数据库,我们将在其中将 CSV 文件从 azure blob 批量加载到 SQL table.
到目前为止,我们可以使用管理员凭据轻松做到这一点。
以下查询在管理员凭据下工作,但不适用于普通用户凭据
CREATE DATABASE SCOPED CREDENTIAL MyAzureBlobStorageCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'WoZ0ZnpXzvdAKoCPRrsa7Rniq7SNjAcZxL..............';
我收到一个错误
User does not have permission to perform this action.
所以我尝试为来自 here
的用户授予访问权限
GRANT CREATE ON DATABASE SCOPED CREDENTIAL::AZUREBLOBSTORAGECREDENTIALPERMISSION TO MYUSER
上面的授权有一些语法错误,如下所示。
Incorrect syntax near DATABASE.
From the docs,需要对数据库有 CONTROL 权限。
USE AdventureWorks2012;
GRANT CONTROL ON DATABASE::AdventureWorks2012 TO Sarah;
GO
有关详细信息,请参阅 this link。
查看官方 documentation 声明 GRANT permission ON DATABASE SCOPED CREDENTIAL 不支持 CREATE 作为可能的权限。该语句支持的权限是:CONTROL、TAKE OWNERSHIP、ALTER、REFERENCES 和 VIEW DEFINITION。可能以下语句可能对您有用:
GRANT CONTROL ON DATABASE SCOPED CREDENTIAL::AZUREBLOBSTORAGECREDENTIALPERMISSION TO MYUSER
我有 Azure SQL 数据库,我们将在其中将 CSV 文件从 azure blob 批量加载到 SQL table.
到目前为止,我们可以使用管理员凭据轻松做到这一点。
以下查询在管理员凭据下工作,但不适用于普通用户凭据
CREATE DATABASE SCOPED CREDENTIAL MyAzureBlobStorageCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'WoZ0ZnpXzvdAKoCPRrsa7Rniq7SNjAcZxL..............';
我收到一个错误
User does not have permission to perform this action.
所以我尝试为来自 here
的用户授予访问权限GRANT CREATE ON DATABASE SCOPED CREDENTIAL::AZUREBLOBSTORAGECREDENTIALPERMISSION TO MYUSER
上面的授权有一些语法错误,如下所示。
Incorrect syntax near DATABASE.
From the docs,需要对数据库有 CONTROL 权限。
USE AdventureWorks2012;
GRANT CONTROL ON DATABASE::AdventureWorks2012 TO Sarah;
GO
有关详细信息,请参阅 this link。
查看官方 documentation 声明 GRANT permission ON DATABASE SCOPED CREDENTIAL 不支持 CREATE 作为可能的权限。该语句支持的权限是:CONTROL、TAKE OWNERSHIP、ALTER、REFERENCES 和 VIEW DEFINITION。可能以下语句可能对您有用:
GRANT CONTROL ON DATABASE SCOPED CREDENTIAL::AZUREBLOBSTORAGECREDENTIALPERMISSION TO MYUSER