我们可以访问 Azure Sql 数据库中的 Azure 密钥保管库机密吗

Can we access Azure key vault secrets within Azure Sql Database

我正在从 Azure Sql 数据库中的 ADLS Gen2 执行 BULK INSERT。为此,我需要创建一个 DATABASE SCOPED CREDENTIAL 来定义 External Data Source,这需要 SAS Token根据 this doc 的 ADLS Gen2。根据我的要求,我必须访问不同的 外部数据源 。所以我想自动化这个(定义不同 外部数据源 的过程)并使其动态化,因此想到从 Azure 密钥保管库访问这些 SAS 令牌。但是我没有找到任何解决方案或其他方法来排除任何具体证据来排除这种方法。

如果有人有更好的方法来实现同样的目标,请告诉我。

根据此 article,您可以进行 HTTP 调用以进入 Key Vault,以通过 T-SQL.

获取正确的 SAS 令牌

无法从 Azure SQL 数据库访问 Azure Key Vault 中的秘密。除非您在托管实例上,否则无法访问底层 CLR

您有一个 Azure Key Vault 详细信息 创建过程 添加动态外部数据源键值

CREATE  proc usp_Create_External_DS @Identity VARCHAR(100), @Secret VARCHAR(100)
AS
BEGIN
SET  nocount  ON
DECLARE @command varchar(MAX);
PRINT  'ADL Identity & Secret: '+@Identity+  ','+@Secret;
SET @command =
'CREATE DATABASE SCOPED CREDENTIAL ADL_User WITH IDENTITY = '+ @Identity +',SECRET = '+@Secret
EXECUTE (@command);
PRINT  'ADL Scoped Credential Created';
END

请参考:

同时使用 ALTER DATABASE SCOPED CREDENTIAL 命令轮换存储密钥:

SQL Data Warehouse: ALTER DATABASE SCOPED CREDENTIAL command for rotating storage keys | Azure updates | Microsoft Azure