azure - 如何使用 Azure CLI 列出门户中显示的 secret ?

标签 azure azure-devops azure-cli

在门户中的主页 > 应用程序注册 > Shazoo > 证书和 secret 下,我可以看到 5 个不同客户端 secret 的列表。当我执行以下任何操作时,我可以确认两者都会生成指定 GUID 的结果,该结果也与概述上的应用程序 ID 相关。

az ad sp list --all --query "[?displayName=='Shazoo']" --output table
az ad app list --all --query "[?displayName=='Shazoo']" --output table

然后,我想查看(并管理)门户中显示的 secret 。根据service principal的文档和 registered applications 的文档,我应该执行以下命令(替换上面生成的表格中的 GUID)。

az ad app credential list --id 2dda03c9-5d9b-4772-a666-c870a8c933c4
az ad sp credential list --id 2dda03c9-5d9b-4772-a666-c870a8c933c4

第一个结果是一个包含单个凭据的数组,该 key 与门户中显示的任何 key 都不对应。第二个结果是一个空数组。这让我感到困惑,我怀疑以这种方式访问​​的凭据属于相关 View 之外的其他地方。 (重置凭据也是如此,因为门户中可见的列表中没有出现新凭据。)

我缺少什么以及如何从 Azure CLI 管理我的 secret 列表?

some confusion in docs但这似乎在一年前就已经解决了。我见过similar question但它没有讨论列表(而且,我还注意到它由于某种原因没有产生所请求的结果)。我还看到了 this blog使用客户端 key 创建凭据下建议的命令但门户网站没有截图可供验证。

最佳答案

secret 门户显示有延迟。刷新页面可能需要一分钟时间才能显示实际的 secret 集。非常狡猾且令人困惑!

我怀疑您在尝试查看步骤 1 中检索到的服务主体的凭据时插入了错误的 GUID。

az ad sp list --display-name Shazoo --output table  

从表输出中,确保复制 AppId(而不是 Id)

az ad app credential list --id <AppId>

这将列出您在应用注册中的 secret 数据。

另外,请注意步骤 1 中查询的微小变化。而不是 az ad sp list --all --query "[?displayName=='Shazoo']" --output table ,考虑使用--display-name参数代替。这将为您带来更高效、更快速的查询。

关于azure - 如何使用 Azure CLI 列出门户中显示的 secret ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76828244/

相关文章:

azure - 如何在 Azure DevOps Pipelines 上批量更改审批者?

Azure DevOps 管道 - 获取前一阶段的内部版本号

azure - 从 CLI 将 url 作为 ARM 模板中的参数传递

php - {R :1} and {C:1} on iis web. 配置文件之间的差异

asp.net - 在 Azure 网站上设置 URL 重写的 header - AppCmd 或 applicationhost.config?

Azure DevOps Pipeline 条件脚本参数

Azure devOps 2020 RTW - 无法登录 Azure CLI - 使用 PAT

azure - Cosmos DB - 为什么请求没有受到限制?

azure - 如何在部署时将 test.salesforce.com 作为 api 连接逻辑应用程序的 salesforce 登录 url?

azure - SQL Server 不允许防火墙更新 - 创建防火墙规则实例时出错