问题描述
我在 Azure 上运行 MysqL 数据库。我的最终目标是从 Azure DevOps 中的管道向数据库添加一个 AADUser。 AADUser 只能由 AADAdmin 添加。所以我想基于 Azure DevOps 用于连接到 Azure(服务连接)的服务主体创建一个 AADAdmin。
我已经完成了以下步骤:
- 在门户中,查找链接到 Azure DevOps 中我的服务连接(“Unicorn Dev”)的服务主体的 objectId。
- 使用该 objectId 创建 AADAdmin:
az MysqL server ad-admin create --server-name mydb -g myrg --display-name devops_service_connection_dev@mydb --object-id d5ab6ee1-55d4-4c78-ae71-d49526310733
。 (我可以在运行命令后在数据库中看到这个用户)。见https://docs.microsoft.com/en-us/cli/azure/mysql/server/ad-admin?view=azure-cli-latest#az_mysql_server_ad_admin_create - 尝试从 Azure DevOps 中的管道连接到数据库:
- task: AzureCLI@2
inputs:
azureSubscription: 'Unicorn Dev'
scriptType: 'bash'
scriptLocation: 'inlinescript'
inlinescript: 'MysqL -h mydb.MysqL.database.azure.com --user devops_service_connection_dev@mydb --password=`az account get-access-token --resource-type oss-rdbms --output tsv --query accesstoken` --ssl-ca=BaltimoreCyberTrustRoot.crt.pem --enable-cleartext-plugin;'
此命令失败并出现以下错误:
ERROR 1045 (28000): Access denied for user 'devops_service_connection_dev@mydb'@'51.144.241.08' (using password: YES)
该任务确实生成了一个访问令牌,并且在 Cloud Shell 中使用该访问令牌运行相同的脚本时,我遇到了同样的错误。
不胜感激!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)