使用 Azure CLI 以互動方式登入
Azure CLI 登入的預設驗證方法會使用網頁瀏覽器和存取令牌來登入。
執行
az login
命令。az login
如果 Azure CLI 可以開啟您的預設瀏覽器,它會起始 授權碼流程 ,並開啟預設瀏覽器以載入 Azure 登入頁面。
否則,它會起始 裝置程式代碼流程 ,並指示您在 開啟瀏覽器頁面 https://aka.ms/devicelogin。 然後,輸入終端機中顯示的程序代碼。
如果沒有可用的網頁瀏覽器,或網頁瀏覽器無法開啟,您可以使用 az login --use-device-code 強制裝置程式代碼流程。
在瀏覽器中使用您的帳戶認證登入。
使用命令行上的認證登入
在命令行上提供您的 Azure 用戶認證。 只使用此驗證方法來學習 Azure CLI 命令。 生產層級應用程式應該使用服務主體或受控識別。
此方法不適用於已啟用雙因素驗證的 Microsoft 帳戶或帳戶。 您需要收到 互動式驗證 訊息。
az login --user <username> --password <password>
重要
如果您想要避免在控制台上顯示密碼,並且以互動方式使用 az login
,請使用 read -s
下的 bash
命令。
read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS
在 PowerShell 下,使用 Get-Credential
Cmdlet。
$AzCred = Get-Credential -UserName <username>
az login -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password
使用不同的租使用者登入
您可以使用 自變數選取要登入的 --tenant
租使用者。 這個自變數的值可以是 .onmicrosoft.com
網域或租使用者的 Azure 物件識別碼。 互動式和命令行登入方法都適用於 --tenant
。
az login --tenant 00000000-0000-0000-0000-000000000000
登入之後,如果您想要變更作用中的租使用者,請參閱 如何變更作用中的租使用者。
重新整理權杖
當您使用使用者帳戶登入時,Azure CLI 會產生並儲存驗證重新整理令牌。 由於存取令牌在短時間內有效,因此會在發出存取令牌的同時發出重新整理令牌。 用戶端應用程式可以接著交換此重新整理權杖以在需要時取得新的存取權杖。 如需令牌存留期和到期的詳細資訊,請參閱重新整理 Microsoft 身分識別平台 中的令牌。
使用 az account get-access-token 命令來擷取存取令牌:
# get access token for the active subscription
az account get-access-token
# get access token for a specific subscription
az account get-access-token --subscription "<subscription ID or name>"
以下是有關存取令牌到期日的其他一些資訊:
- 到期日會以 MSAL 型 Azure CLI 支援的格式進行更新。
- 從 Azure CLI 2.54.0 開始,
az account get-access-token
傳回expires_on
屬性與expiresOn
令牌到期時間的屬性。 - 屬性
expires_on
代表可攜式作業系統介面 (POSIX) 時間戳,而expiresOn
屬性則代表本機日期時間。 - 屬性
expiresOn
不會在日光節約時間結束時表示「折疊」。 這可能會導致採用日光節約時間的國家/地區發生問題。 如需有關「折疊」的詳細資訊,請參閱 PEP 495 – 當地時間釐清。 - 我們建議讓下游應用程式使用
expires_on
屬性,因為它使用通用時間代碼 (UTC)。
範例輸出︰
{
"accessToken": "...",
"expiresOn": "2023-10-31 21:59:10.000000",
"expires_on": 1698760750,
"subscription": "...",
"tenant": "...",
"tokenType": "Bearer"
}
疑難排解
當您的默認瀏覽器是 Microsoft Edge 時,嘗試以互動方式 az login
登入 Azure 時,可能會遇到下列錯誤:「此網站的連線不安全」。若要解決此問題,請造訪 Microsoft Edge 中的 edge://net-internals/#hsts 。 在 [刪除網域安全策略] 底下新增 localhost
,然後選取 [刪除]。
另請參閱
- Azure CLI 上線速查表
- 使用 Azure CLI 管理 Azure 訂用帳戶
- 尋找 Azure CLI 範例 和 已發佈的檔