在 Azure Analysis Services 中自动化 SQL DB 数据源授权

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

我已使用 REST API 在 ADF V2 中自动刷新 AAS 表格模型。表格模型使用 AAD 凭据将 Azure SQL DB 作为数据源之一进行部署,但问题是授权的有效期仅为 2 小时。 为了实现授权自动化,我了解到我们可以使用 TMSL 脚本(示例脚本显示在最后)更改 Sql Server Management Studio 中 AAS Server 下的模型/数据库。

我尝试通过提供 Web SPN 和我的 azure id 凭据,使用 AAD 的授权类型“密码”oauth2 身份验证来生成刷新令牌和访问令牌。我在 alter json TMSL 脚本的凭据属性下提供了令牌,但它不起作用。当我处理数据库时,它显示错误“为 SQL 源提供的凭据无效。(源位于 SQL/Server 名称;数据库名称。)。异常是由 IDbCommand 接口引发的。”

{
    "alter": {
        "object": {
           "database": "Det_clone",
           "dataSource": "SQL/Server name;DB name"
        },
    "dataSource": {
        "type": "structured",
        "name": "SQL/Server name;DB name",
        "connectionDetails": {
            "protocol": "tds",
            "address": {
                 "server": "server address",
                 "database": "DB name"
            }
         },
        "credential": {
            "AuthenticationKind": "OAuth2",
            "kind": "SQL",
            "path": "SQL/Server name;DB name",
            "AccessToken":"***",
            "RefreshToken":"***"
        }
     }
  }
}
azure azure-active-directory azure-sql-database azure-analysis-services
1个回答
0
投票

您成功解决这个问题了吗?我遇到了类似的问题,因为我希望能够使用服务主体以非交互方式处理模型,但这不断要求访问令牌,这意味着我必须在每次运行之前不断更改令牌部分,作为令牌会一直过期。不知道是否有更好的解决方案。

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