在 Azure sql 中创建数据库范围凭据时的授权 URL 格式

问题描述 投票:0回答:1

我想使用 Entra 服务主体创建数据库范围的凭据。 我们希望使用此凭据从另一个 Azure SQL 数据库挂载外部表。

支持此功能吗? 如果是,AuthorityUrl 的确切格式是什么?

CREATE DATABASE SCOPED CREDENTIAL [<CredentialName>] WITH
IDENTITY = '<AppID>@<AuthorityUrl>' 
, SECRET = '<Secret>'
GO

尝试了一切,但无法使其发挥作用。 当尝试从外部表读取时,我总是收到以下错误:

 [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot open server "login.microsoftonline.com/<tenant_id>/oauth2/token" requested by the login.
azure-sql-database
1个回答
0
投票

[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]无法打开登录请求的服务器“login.microsoftonline.com//oauth2/token”。

根据MS文档

仅在使用 SQL Server 身份验证连接时才支持弹性查询。

服务主体身份验证不支持azure SQL数据库中的跨数据库查询。您可以按如下方式使用 SQL Server 身份验证:

如果您有两个示例 Azure SQL 数据库,

db
db1
。使用以下代码在
db1
数据库中创建主密钥和范围凭证:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Password>';

CREATE DATABASE SCOPED CREDENTIAL <name> WITH IDENTITY = '<userName>',
SECRET = '<Password>';

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.