在门户中的主页 > 应用程序注册 > 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/