次の方法で共有


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 への移行を今すぐ計画してください。 この変更を行う際に役立つ役立つリンクを次に示します。

現在のサブスクリプションを検索または変更する

サインインすると、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

サインイン方法によっては、テナントに、特定のリソースへのアクセスを制限する条件付きアクセス ポリシー がある場合があります。

関連項目