如何用Azure CLI查看并管理门户中应用注册的客户端密钥?
解决Azure CLI管理应用注册客户端密钥的问题
核心问题分析
你遇到的问题源于两个关键认知偏差:
az ad app credential list默认仅返回证书凭据,不包含门户「证书和机密」页面显示的客户端密钥(密码凭据)az ad sp credential list查询的是服务主体的凭据,而门户中的客户端密钥属于应用注册(Application) 资源,二者并非同一对象
正确的CLI操作命令
1. 查看门户中显示的客户端密钥
要列出应用注册的所有客户端密钥(对应门户「证书和机密」里的"客户端密码"),必须添加--passwords参数:
az ad app credential list --id 2dda03c9-5d9b-4772-a666-c870a8c933c4 --passwords
该命令会返回所有你在门户中看到的客户端密钥,包含密钥ID、显示名称、过期时间等信息。
如果需要同时查看证书凭据和客户端密钥,可使用:
az ad app credential list --id 2dda03c9-5d9b-4772-a666-c870a8c933c4 --passwords --certificates
2. 新增客户端密钥
执行以下命令生成新的客户端密钥,生成的密钥会同步显示在门户「证书和机密」页面:
az ad app credential reset --id 2dda03c9-5d9b-4772-a666-c870a8c933c4 --display-name "新密钥名称"
注意:命令返回的
password字段是密钥的唯一明文展示机会,需妥善保存。
3. 删除客户端密钥
先通过list命令获取目标密钥的keyId,再执行删除:
az ad app credential delete --id 2dda03c9-5d9b-4772-a666-c870a8c933c4 --key-id <目标密钥的keyId>
关键概念澄清
- 应用注册(Application):是应用的全局定义,包含客户端ID、客户端密钥、权限配置等核心信息,门户「证书和机密」页面管理的就是这里的凭据。
- 服务主体(Service Principal):是应用在特定Azure租户中的实例身份,它的凭据独立于应用注册,用于应用在租户内的资源访问身份验证,和门户中的客户端密钥无关。
内容的提问来源于stack exchange,提问作者Konrad Viltersten
相关产品推荐
相关产品推荐

