Azure 命令 "az keyvault secret list" 抛出“[Errno 22] 无效参数”——如何调试?

Azure command "az keyvault secret list" throws "[Errno 22] Invalid argument" - how to debug?

我是 运行 针对 Azure 密钥保管库的 Azure 命令行界面 (azure-cli)。

我这样做:

$ az keyvault secret list --vault-name <name-of-my-vault> --maxresults 10
[Errno 22] Invalid argument

此命令曾经有效,但一两周前它停止工作并开始抛出此错误 ([Errno 22] Invalid argument)。我该如何调试?

我使用 az login 登录。我的帐户对相关密钥保管库具有以下安全角色 (RBAC):

我安装了 azure-cli 2.30.0 版。我在 2.27.0 中遇到了同样的错误。我也在 Jenkins 构建服务器上看到它,运行 2.27.0.

我的密钥保管库包含 200 多个秘密(其中一些有多个版本)。 None 其中已过期;事实上 none 其中有有效期。

提前致谢。

正如评论区@WaitingForGuacamole 所建议的,我已经在我的环境中进行了测试

我在 Key Vault 中创建了具有以下到期日期的机密:

现在,我登录到 Azure CLI 并运行执行以下命令:

az keyvault secret list --vault-name <name-of-my-vault> --maxresults 10

我遇到了同样的错误:

现在,我删除了过期日期为 1/1/3008 的机密,并且 运行 再次使用相同的命令

它运行没有任何错误。它列出了我的密钥库中的秘密

因此,调试问题的最佳方法是检查密钥保管库中所有机密的到期日期。确保密文的到期日期在 3000-01-01

之前

受@RamaraoAdapa-MT 的回答启发,我想我找到了答案。我的保险库中没有坏的 secrets,但似乎有坏的 certificate。我从我的保险库中删除了这个证书,现在我可以再次获得秘密了。

我为 azure-cli 的维护者创建了一个 GitHub 问题:https://github.com/Azure/azure-cli/issues/20241