Azure CLI を使用して Azure に対する認証を行う
Azure CLI では、複数の認証方法がサポートされています。 ユース ケースに対してサインイン アクセス許可を制限すると、Azure リソースのセキュリティを維持できます。
Azure CLI を使用して Azure にサインインする
Azure CLI を使用する場合、次の 5 つの認証オプションがあります。
認証方法 | 利点 |
---|---|
Azure Cloud Shell | Azure Cloud Shell によって自動的にログインが行われ、最も簡単に作業を開始できます。 |
対話操作でサインインする | これは、Azure CLI コマンドを学習する場合、および Azure CLI をローカルで実行する場合に適したオプションです。 az login コマンドを使用してブラウザーから ログイン します。 対話型ログインでは、既定のサブスクリプションを自動的に設定するためのサブスクリプション セレクターも提供されます。 |
サービス プリンシパルを使用してサインインする | スクリプトを作成する場合、サービス プリンシパルを使用することをお勧めします。 サービス プリンシパルで自動化の安全性を維持するために必要とされる適切なアクセス許可のみを付与します。 |
マネージド ID を使用してサインインする | サービス間の通信をセキュリティで保護するために使用されるシークレット、資格情報、証明書、キーの管理は、開発者にとって共通の課題です。 マネージド ID を使用すると、開発者はこれらの資格情報を管理する必要がなくなります。 |
現在のサブスクリプションを検索または変更する
サインインすると、CLI コマンドが既定のサブスクリプションに対して実行されます。 複数のサブスクリプションがある場合は、次を使用して既定のサブスクリプションを az account set --subscription
変更します。
az account set --subscription "<subscription ID or name>"
Azure サブスクリプションの管理の詳細については、「Azure CLI を使用して Azure サブスクリプションを管理する方法」を参照してください。
リフレッシュ トークン
ユーザー アカウントでサインインすると、Azure CLI によって、認証更新トークンが生成されて格納されます。 アクセス トークンは有効期間が短いため、アクセス トークンが発行されると同時に更新トークンが発行されます。 クライアント アプリケーションでは、必要に応じて、このリフレッシュトークンを新しいアクセス トークンに交換できます。 トークンの有効期間と期限切れの詳細については、「Microsoft ID プラットフォームの更新トークン」を参照してください。
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
トークンの有効期限のプロパティと共にexpiresOn
プロパティが返expires_on
されます。 - このプロパティは
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
サインイン方法によっては、テナントに、特定のリソースへのアクセスを制限する条件付きアクセス ポリシーが設定されている場合があります。
関連項目
- Azure CLI オンボード チート シート
- Azure CLI を使用して Azure サブスクリプションを管理する
- Azure CLI のサンプルと公開されている記事を検索する
Azure CLI