“az login”如何存储凭据信息?

Ily*_*dik 17 credentials azure azure-cli

az login我想知道当我在后台使用 azure 登录时会发生什么。我仍然登录很长一段时间,这意味着允许访问的计算机上存储了某些内容。

获得硬盘驱动器访问权限的对手是否有可能以明文形式读取该密码/令牌来冒充我?

PS 我并不是指命令本身的凭据az login,而是命令在幕后保存的数据。

Sun*_*rma 14

好问题!

它不存储您的登录凭据,而是存储身份验证刷新令牌。Microsoft 或您的租户管理员可以更改令牌。

参考:

Azure CLI 不会存储您的任何登录信息。相反,身份验证刷新令牌由 Azure 生成并存储。自 2018 年 8 月起,此令牌将在 90 天不活动后被撤销,但 Microsoft 或您的租户管理员可以更改此值。令牌被撤销后,您会从 CLI 收到一条消息,提示您需要再次登录。

https://learn.microsoft.com/en-us/cli/azure/authenticate-azure-cli

CLI 存储令牌和其他详细信息,例如您的个人资料、会话详细信息等。详细信息存储在您的主文件夹中。

%HOMEPATH% > .azure

从运行命令导航到"%HOMEPATH%"(在 Windows 操作系统中)并打开“.Azure”文件夹。您将能够找到您要查找的文件。

在此输入图像描述


(更新:信用IAmAliYousefi

如果在 WSL(适用于 Linux 的 Windows 子系统)上使用 azure cli,则 .azure 目录不会位于 Linux WSL 上(即 ~/.azure),而是位于 Windows 系统上。您可以从 Linux WSL 访问它:/mnt/C/Users/YOUR_USERNAME/.azure/


当您感觉“受到攻击”时,可以考虑清理“.azure”文件夹

  • 感谢你的回答!因此,其中一个文件包含刷新令牌,因此任何获得该文件夹访问权限的人都可以在长达 90 天内冒充我,对吗? (3认同)
  • 使用最新版本的 az cli,令牌通过 DPAPI 存储,文件名为“msal_token_cache.bin”,您可以通过 UnProtectFile 对其进行解密,我正在使用 Microsoft.Identity.Client.Extensions.Msal 让 Msal 处理 in -内存令牌缓存...话虽如此,在您的帐户下运行的任何恶意软件都只需要一次额外的调用来解码令牌。是的,使用刷新令牌,您可能会对您的云造成严重破坏。 (3认同)
  • 也许值得一提的是,即使您在 WSL(Linux 的 Windows 子系统)上使用 azure cli,.azure 目录也不会位于您的 Linux WSL 上(即 ~/.azure),而是位于您的 Windows 系统上。您可以从 Linux WSL 访问它:``/mnt/C/Users/YOUR_USERNAME/.azure/``` (3认同)
  • 当然,它包含明文形式的访问令牌,任何有权访问它的人都可以冒充您。因此,“.azure”文件夹或其内容不应在公共域中共享。 (2认同)