- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Azure AD 服务主体,它是 Azure SQL 数据库的管理员。有一个 PowerBI 仪表板,其中包含连接到数据库的数据源。以编程方式 (CI/CD) 发布仪表板后,我需要更新参数和数据源凭据。
考虑 documentation 中的示例,使用服务主体客户端 ID 和凭据向 Azure SQL Server 进行身份验证需要什么 credentialDetails
定义?
我设法访问 SP 的唯一方法是使用 OAuth2
以及数据库范围的 accessToken
。但是, token 将在 1 小时后过期,这将迫使仪表板不断重新部署。
{
"credentialDetails": {
"credentialType": "OAuth2",
"credentials": "{\"credentialData\":[{\"name\":\"accessToken\", \"value\":\"eyJ0....fwtQ\"}]}",
"encryptedConnection": "Encrypted",
"encryptionAlgorithm": "None",
"privacyLevel": "None"
}
}
公司内的合规性策略需要使用 Azure AD 服务主体身份验证。
<小时/>使用Basic
凭证类型时的错误消息示例:
{
"error":{
"code":"DM_GWPipeline_Gateway_DataSourceAccessError",
"pbi.error":{
"code":"DM_GWPipeline_Gateway_DataSourceAccessError",
"parameters":{
},
"details":[
{
"code":"DM_ErrorDetailNameCode_UnderlyingErrorCode",
"detail":{
"type":1,
"value":"-2146232060"
}
},
{
"code":"DM_ErrorDetailNameCode_UnderlyingErrorMessage",
"detail":{
"type":1,
"value":"Login failed for user 'aad_app_name'. Reason: Azure Active Directory only authentication is enabled. Please contact your system administrator."
}
},
{
"code":"DM_ErrorDetailNameCode_UnderlyingHResult",
"detail":{
"type":1,
"value":"-2146232060"
}
},
{
"code":"DM_ErrorDetailNameCode_UnderlyingNativeErrorCode",
"detail":{
"type":1,
"value":"18456"
}
}
],
"exceptionCulprit":1
}
}
}
最佳答案
错误:
Login failed for user 'username'. Reason: Azure Active Directory only authentication is enabled.
Please contact your system administrator.
发生Azure AD-only authentication
在尝试使用 (SSMS) 进行测试以实际连接到 SQL 数据库或 SQL 托管实例时启用 in this case SQL authentication is disabled at the server or managed instance level and prevents any authentication based on any SQL authentication credentials
。因此,请尝试使用 SQL 身份验证进行连接。
要允许 Azure SQL 的 SQL 和 Azure AD 身份验证进行连接,我们可能需要禁用仅 Azure AD 身份验证。
禁用 Azure cli。
登录具有 SQL Security Manager 的 Azure 帐户角色。
az login
diasble 命令,方法是替换为 SQL 服务器名称,然后替换为您的保存 SQL 服务器的 Azure 资源
az sql server ad-only-auth disable --resource-group <myresource> --name <myserver>
禁用仅限 Azure AD 的身份验证后,尝试更新凭据。
您还可以通过取消选中“仅支持此服务器的 Azure Active Directory 身份验证”来使用 Azure 门户进行禁用。
另请检查下面的代码片段 update Azure SQL datasource credentials of PowerBI dataset programmatically? - Stack Overflow与 Microsoft powerbi commandlet 一起使用如果需要的话。
$patchBody = @{
"credentialDetails" = @{
"credentials" = "{""credentialData"":[ $userNameJson, $passwordJson ]}"
"credentialType" = "Basic"
"encryptedConnection" = "NotEncrypted"
"encryptionAlgorithm" = "None"
"privacyLevel" = "Organizational"
}
}
# Convert body contents to JSON
$patchBodyJson = ConvertTo-Json -InputObject $patchBody -Depth 6 -Compress
#PATCH operation to update datasource credentials
Invoke-PowerBIRestMethod -Method Patch -Url $datasourePatchUrl -Body $patchBodyJson
关于azure - 如何更新 Azure AD 应用程序的 Power BI 数据源凭据(服务主体),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73165015/
我是一名优秀的程序员,十分优秀!