当我使用诸如此类的az
cli工具创建服务主体时
az ad sp create-for-rbac --name <name>
我打印了所有信息
{
"appId": "...",
"displayName": "...",
"name": "...",
"password": "...",
"tenant": "..."
}
一切都很好,但是我以后如何检索该信息?使用
az ad sp list --display-name <name>
确实给了我想要的东西,但是我却缺少password
。如何在不重置密码的情况下获取密码?
答案 0 :(得分:6)
如何在不重置密码的情况下获取密码?
简而言之,不可能。
使用公用az ad sp create-for-rbac
创建服务主体时,具有密码身份验证的服务主体的输出包括密码密钥。 确保您复制此值-无法找回。如果忘记密码,reset the service principal credentials。
从Azure CLI 2.0.68开始,不再支持使用用户定义的密码创建服务主体的
--password
参数,以防止意外使用弱密码。
使用az ad sp show --id xxxxx
获取服务主体的详细信息时。 (自动生成)passwordCredentials始终为null,因此,密码只能在创建时检索。
答案 1 :(得分:4)
要获取密码,您可以改为运行此命令
az ad sp create-for-rbac --name $NAME --query password -o tsv
如果您想获取 objectId 或 appId
你可以运行这个命令
# objectId
az ad sp list --display-name $NAME --query [].objectId -o tsv
# appId
az ad sp list --display-name $NAME --query [].appId -o tsv