gpt4 book ai didi

azure - 如何使用本地运行 Docker 容器的 Azure Identity 库自动进行身份验证

转载 作者:行者123 更新时间:2023-12-03 02:07:47 25 4
gpt4 key购买 nike

在我的物理开发人员笔记本电脑上本地运行 Azure Function v4 Linux 容器内的 .NET 6 应用程序时,我想使用 Docker 主机中的 Azure CLI 凭据向 Azure 进行身份验证。 IE。我已经在运行 Docker 的主机上登录到 Azure,我想在 Docker 容器内重复使用这些相同的凭据,而无需重新输入用户名/密码,无需对凭据进行硬编码,无需创建服务主体。

我尝试安装 $HOME/.azure~/.azure Docker 容器内,但每当我在容器内执行 Azure CLI 命令时,Azure CLI 都会提示我登录,并给出错误 User '<my email>' does not exist in MSAL token cache. Run 'az login'.

最佳答案

Azure CLI 在 Windows 上使用加密存储来进行 token 缓存。将此存储挂载到 Docker 容器中是没有用的,因为 Docker 容器不(也不可能)知道加密 key 。

我们正在使用两种解决方法:

  • 使用 WSL,在其中安装 Azure CLI 并从此处生成 token 。由于您使用的是 Linux 版本的 Azure CLI,因此它们不会被加密。
  • 使用另一个目录,运行 mcr.microsoft.com/azure-cli 的另一个 docker 容器并使用设备代码处理登录。同样,您使用的是 Linux 版本的 Azure CLI,这导致使用纯文本缓存存储。

您可以执行docker run --rm -v "$HOME/.azure-unencrypted:/root/.azure"mcr.microsoft.com/azure-cli az login --use-device-code 然后将 $HOME/.azure-unencrypted 作为 /root/.azure

挂载到容器中

关于azure - 如何使用本地运行 Docker 容器的 Azure Identity 库自动进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74389589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com