bash - 获取只有显示名称的服务主体客户端 ID
问题描述
以下 bash 脚本代码用于通过 AZ CLI 获取服务主体的客户端 ID,方法是将其显示名称传递给脚本。
az ad sp show --id http://$SP_NAME
但现在我收到以下错误:
服务主体...不存在
该$SP_NAME
变量包含与我在 Azure AD 中的应用注册中看到的完全相同的显示名称。
通过脚本部署服务主体时,在运行脚本之前我们没有服务主体对象 ID,只有我们想要分配给服务主体的名称(显示名称)。不仅这在几个月前可以使用,根据文档,它应该仍然可以使用!
知道如何让它再次工作吗?
解决方案
执行命令az ad sp show --id http://$SP_NAME
时,它会尝试通过在ServicePrincipalNames
AD 应用程序对象的元素中搜索确切的 id 来解析服务主体,如az cli Github 上所示。
创建服务主体时,请务必添加http://$SP_NAME
为应用程序标识符 URI,如下所示。
推荐阅读
- c# - 使用 C# 添加新的纸张大小
- javascript - 修复了我的显示块问题,但我认为我的输出有条件语句错误
- spam-prevention - 如何有效拦截垃圾邮件?
- python - Google Colab 自定义模块没有属性
- jquery - 规则或消息中的 jquery 验证退出
- android-emulator - 如何使用 genymotion 启用主机 GPU 仿真?
- machine-learning - 如何在 Keras 中列出模型的损失?
- amazon-web-services - 按计划将 CSV 到 AWS 到 DynamoDB
- neo4j - Neo4j 是否支持分片
- java - Chrome 浏览器选项停止导航到检查点页面以实现注册功能自动化