簡體   English   中英

az cli 登錄到錯誤的帳戶

[英]az cli logging into wrong account

我安裝了 az cli 版本 2.44.1。 當我從命令執行az login時,系統提示我在瀏覽器上登錄。 然后我繼續使用我的帳戶x@abc.com 在瀏覽器上登錄成功后,我的命令提示符會顯示一條消息“找不到y@abc.com的訂閱”。 出於某種原因,azure cli 正在選擇一個不同的帳戶(我在 PC 上登錄的帳戶)而不是我在瀏覽器中選擇的帳戶。

我已經刪除了.azure文件夾的內容並重做了這些步驟(希望刷新存儲的憑據)但結果似乎是一樣的; 盡管我在登錄 window 時選擇了x@abc.com ,但我看到y@abc.com CLI 選擇了 y@abc.com。

我的一種解決方法是:我可以以不同的用戶x@abc.com運行 cmd.exe,然后從那里運行az login 這種方式似乎選擇了正確的帳戶。 但我想看看是否有其他方法可以修復它,因為我想在我的 VSCode bash 中將 az cli 與 terraform 一起使用。我正在運行 Windows 10 Enterprise。

看來問題與存儲在您的 Windows 計算機上的憑據有關。 一種解決方案是通過在命令提示符下運行以下命令來清除 Azure Active Directory (AAD) 令牌緩存:

az account clear

此命令將清除 AAD 令牌緩存,這將強制 CLI 提示您再次登錄並輸入 select 正確的帳戶。

另一種解決方案是檢查計算機上的環境變量,以確保使用正確的租戶和訂閱。 您可以通過運行以下命令來檢查租戶和訂閱:

az account show
az account list

如果使用了錯誤的租戶或訂閱,您可以通過運行以下命令來設置正確的租戶或訂閱:

az account set --subscription="SUBSCRIPTION_ID"
az account set --tenant="TENANT_ID"

您還可以在 Windows 機器上的憑據管理器中檢查和管理存儲的憑據。

也有可能是Azure CLI安裝的版本有問題,可以嘗試更新或重裝。

我之前在我的環境中嘗試過時遇到了同樣的錯誤,我發現了這個問題。

在此處輸入圖像描述

原因:

No subscriptions found表示該帳號已通過認證,無權訪問訂閱

Go 至Azure -> All Services > Subscriptions或在搜索面板中搜索訂閱,然后訪問訪問控制 (IAM) 並分配“貢獻者”角色,如圖所示:

小路:

在此處輸入圖像描述

腳本:

az account set --subscription <subscription> //not manadatory
az login --service-principal --username <APPID> --password <clientsecret> --tenant <>tenantID 

登錄成功:

在此處輸入圖像描述

同時,

通過提供以下命令升級 CLI 一次:

az upgrade

檢查您的“CLI 是最新的”。

在此處輸入圖像描述

執行以下命令以檢查 cli 登錄詳細信息以備將來使用。

az login --debug

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM