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)
2025 年から、Microsoft は Azure CLI やその他のコマンド ライン ツールに必須の MFA を適用します。 この要件の詳細については、ブログ記事を参照してください。
MFA は、Microsoft Entra ID ユーザー IDにのみ影響します。 サービス プリンシパルの やマネージド ID など、ワークロード ID には影響しません。
entra ID とパスワード az login を使用してスクリプトまたは自動化されたプロセスを認証する場合は、ワークロード ID への移行を今すぐ計画してください。 この変更を行う際に役立つ役立つリンクを次に示します。
- Azure およびその他の管理ポータルの必須多要素認証の計画。
- ユーザーが必須の Microsoft Entra 多要素認証 (MFA) 用に設定されていることを確認する方法
- Microsoft Entra 多要素認証 の展開に関する考慮事項
- フェデレーション を使用した Microsoft Entra 多要素認証への移行
- MFA Server Migration Utility を使用して Microsoft Entra 多要素認証 に移行する方法
現在のサブスクリプションを検索または変更する
サインインすると、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"
}
関連項目
- Azure CLI オンボード チート シート
- Azure CLI を使用して Azure サブスクリプションを管理する
- Azure CLI サンプル と発行された記事 を検索します。
Azure CLI