Azure CLI を使用して Azure に対する認証を行う
Azure CLI では、複数の認証方法がサポートされています。 ユース ケースに対してサインイン アクセス許可を制限すると、Azure リソースのセキュリティを維持できます。
Azure CLI を使用して Azure にサインインする
Azure CLI を使用する場合、次の 4 つの認証オプションがあります。
認証方法 | 利点 |
---|---|
Azure Cloud Shell | Azure Cloud Shell によって自動的にログインが行われ、最も簡単に作業を開始できます。 |
対話操作でサインインする | これは、Azure CLI コマンドを学習する場合、および Azure CLI をローカルで実行する場合に適したオプションです。 az login コマンドを使用して、ブラウザーからログインします。 対話型ログインでは、既定のサブスクリプションを自動的に設定するためのサブスクリプション セレクターも提供されます。 |
マネージド ID を使用してサインインする | マネージド ID は、Microsoft Entra 認証をサポートするリソースに接続するときにアプリケーションが使用する Azure マネージド ID を提供します。 マネージド ID を使用すると、シークレット、資格情報、証明書、キーを管理する必要がなくなります。 |
サービス プリンシパルを使用してサインインする | スクリプトを記述する場合は、 サービス プリンシパルを使用 が推奨される認証方法です。 サービス プリンシパルで自動化の安全性を維持するために必要とされる適切なアクセス許可のみを付与します。 |
多要素認証 (MFA)
Microsoft は、2024 年 5 月に、すべての Azure ユーザーに MFA が必要になると発表しました。 この変更を計画する方法については、「 Planning for mandatory multifactor authentication for Azure and other admin portalsを参照してください。
MFA は、Microsoft Entra ID usersにのみ影響します。 サービス プリンシパルまたは管理された ID には影響しません。
現在のサブスクリプションを検索または変更する
サインインすると、CLI コマンドが既定のサブスクリプションに対して実行されます。 複数のサブスクリプションがある場合は、 az account set --subscription
を使用して既定のサブスクリプションを変更します。
az account set --subscription "<subscription ID or name>"
Azure サブスクリプションの管理の詳細については、「Azure CLI を使用して Azure サブスクリプションを管理する方法」を参照してください。
リフレッシュ トークン
ユーザー アカウントでサインインすると、Azure CLI によって、認証更新トークンが生成されて格納されます。 アクセス トークンは有効期間が短いため、アクセス トークンが発行されると同時に更新トークンが発行されます。 クライアント アプリケーションでは、必要に応じて、このリフレッシュトークンを新しいアクセス トークンに交換できます。 トークンの有効期間と期限切れの詳細については、「Microsoft ID プラットフォームの更新トークン」を参照してください。
az アカウント 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
プロパティは、夏時間の終了時に "fold" を表しません。 これにより、夏時間が採用されている国または地域で問題が発生する可能性があります。 "fold" の詳細については、「 PEP 495 – Local Time Disaiguationを参照してください。 - ダウンストリーム アプリケーションでは、ユニバーサルタイム コード (UTC) を使用するため、
expires_on
プロパティを使用することをお勧めします。
出力例:
{
"accessToken": "...",
"expiresOn": "2023-10-31 21:59:10.000000",
"expires_on": 1698760750,
"subscription": "...",
"tenant": "...",
"tokenType": "Bearer"
}
Note
サインイン方法によっては、テナントに特定のリソースへのアクセスを制限する Conditional アクセス ポリシー があります。
関連項目
- Azure CLI オンボード チート シート
- Azure CLI を使用して Azure サブスクリプションを管理する
- Azure CLI のサンプルと公開されている記事を検索する
Azure CLI