Azure PowerShell に対話的にサインインする
Azure への対話的なログインにより、より直感的で柔軟なユーザー エクスペリエンスが得られます。 Azure PowerShell を使用した対話型ログインは、ユーザーが PowerShell インターフェイスを通じて直接 Azure に対して認証を行うことを可能にし、これはアドホックな管理タスクや、多要素認証 (MFA) を使用するサインインなど、手動のサインインが必要な環境で有用です。 この手法ではサービス プリンシパルやその他の非対話型の認証方法を事前構成する必要がないため、スクリプトのテスト、学習、臨機応変な管理のためのアクセスが簡素化されます。
重要
2025 年初頭から、認証に Microsoft Entra ID ユーザー ID を使用する Azure PowerShell サインインには、多要素認証 (MFA) が必要です。 詳細については、「 Planning for mandatory multi-factor authentication for Azure and other admin portalsを参照してください。
前提条件
対話型ログイン
対話形式でサインインするには、Connect-AzAccount
コマンドレットを使用します。 Az PowerShell モジュール バージョン 12.0.0 以降、Windows システムでは Web アカウント マネージャー (WAM) が使用され、Linux および macOS システムでは既定でブラウザーベースのログインが使用されます。
Connect-AzAccount
- WAM の詳細については、「Web アカウント マネージャー (WAM)」を参照してください
- ブラウザーベースのログインの詳細については、「ブラウザーベースのログイン」を参照してください
ログイン エクスペリエンス
Az PowerShell モジュール バージョン 12.0.0 以降では、ユーザーが複数のサブスクリプションへのアクセス権を持っている場合、次の例に示すように、ログインする Azure サブスクリプションを選択するように求められます。
Please select the account you want to login with.
Retrieving subscriptions for the selection...
WARNING: To override which subscription Connect-AzAccount selects by default, use
`Update-AzConfig -DefaultSubscriptionForLogin 00000000-0000-0000-0000-000000000000`.
Go to https://go.microsoft.com/fwlink/?linkid=2200610 for more information.
[Tenant and subscription selection]
No Subscription name Subscription ID Tenant name
---- ------------------------------------ ---------------------------------------- --------------
[1] Facility Services Subscription 00000000-0000-0000-0000-000000000000 Contoso
[2] Finance Department Subscription 00000000-0000-0000-0000-000000000000 Contoso
[3] Human Resources Subscription 00000000-0000-0000-0000-000000000000 Contoso
[4] Information Technology Subscription 00000000-0000-0000-0000-000000000000 Contoso
Select a tenant and subscription: 2
Subscription name Tenant name
------------------------------------ --------------------------
Finance Department Subscription Contoso
[Announcements]
With the new Azure PowerShell login experience, you can select the subscription you want to use more easily.
Learn more about it and its configuration at https://go.microsoft.com/fwlink/?linkid=2271236.
Share your feedback regarding your experience with `Connect-AzAccount` at: https://aka.ms/azloginfeedback
If you encounter any problem, please open an issue at: https://aka.ms/azpsissue
Subscription name Tenant
----------------- ------
Finance Department Subscription Contoso
次回のログイン時には、以前に選択したテナントとサブスクリプションが既定値として番号の横のアスタリスク (*
) によってマークされ、シアン ブルー色で強調表示されます。 これにより、Enter キーを押して既定値を選択するか、別のテナントとサブスクリプションを選択するための番号を入力することができます。
No Subscription name Subscription ID Tenant name
---- ------------------------------------ ---------------------------------------- --------------
[1] Facility Services Subscription 00000000-0000-0000-0000-000000000000 Contoso
[2] * Finance Department Subscription 00000000-0000-0000-0000-000000000000 Contoso
[3] Human Resources Subscription 00000000-0000-0000-0000-000000000000 Contoso
[4] Information Technology Subscription 00000000-0000-0000-0000-000000000000 Contoso
The default is marked with an *; the default tenant is 'Contoso' and subscription is
'Finance Department Subscription (00000000-0000-0000-0000-000000000000)'.
Select a tenant and subscription (type a number or Enter to accept default): 4
Subscription name Tenant name
------------------------------------ --------------------------
Information Technology Subscription Contoso
既定では、このサブスクリプションに対してコマンドが実行されます。 アクティブなサブスクリプションを変更するには、Set-AzContext
コマンドレットを使用します。 詳しくは、「Azure PowerShell コンテキスト オブジェクト」をご覧ください。
ログインの既定のサブスクリプションを構成する
対話形式でログインするたびにサブスクリプションの選択を求められることを回避するには、次の例に示すように、Update-AzConfig
コマンドレットを使用して既定のサブスクリプションを設定します。
Update-AzConfig -DefaultSubscriptionForLogin '<subscription name or id>'
新しいログイン エクスペリエンスを無効にする
新しいログイン エクスペリエンスを無効にするには、次の例に示すように Update-AzConfig
コマンドレットを使用します。
Update-AzConfig -LoginExperienceV2 Off
新しいログイン エクスペリエンスが無効であり、ユーザーが複数のサブスクリプションへのアクセス権を持っている場合、ユーザーは Azure が返す最初のサブスクリプションにサインインされます。 既定では、このサブスクリプションに対してコマンドが実行されます。 セッションのアクティブ サブスクリプションを変更するには、Set-AzContext
コマンドレットを使用します。 アクティブなサブスクリプションを変更し、同じシステム上のセッション間で永続化するには、Select-AzContext
コマンドレットを使用します。
Web アカウント マネージャー (WAM)
Az PowerShell モジュール バージョン 12.0.0 以降では、Windows ベースのシステムでの Azure PowerShell の既定のログイン認証方法は Web アカウント マネージャー (WAM) です。
WAM は、認証ブローカーとして機能する Windows 10 以降のコンポーネントです。 認証ブローカーとは、接続されたアカウントの認証ハンドシェイクとトークン メンテナンスを管理するユーザーのマシン上で実行されるアプリケーションです。
WAM の利点
WAM を使用すると、次のような利点があります。
- セキュリティの強化。 「条件付きアクセス: トークン保護 (プレビュー)」を参照してください。
- Windows Hello、条件付きアクセス ポリシー、FIDO キーのサポート。
- シングル サインオンの効率化。
- バグ修正と機能強化が Windows に付属して提供される。
WAM の制限事項
開発の現段階では、WAM にはいくつかの既知の制限があります。
WAM は Windows 10 以降と Windows Server 2019 以降で利用できます。 Linux、macOS、およびそれ以前のバージョンの Windows では、Azure PowerShell は既定値がブラウザーベースのログインに自動的に設定されます。
WAM を使用したナショナル クラウドへのログインは現在サポートされていません。
Microsoft アカウント (たとえば、@outlook.com や @live.com) を MFA と共に使用する場合は、テナントを指定する必要があります。
Connect-AzAccount -Tenant 00000000-0000-0000-0000-000000000000
WAM を無効にする
Windows 10 以降または Windows Server 2019 以降の Az 12.0.0 以上でブラウザーベースのログインを使用するには、Azure PowerShell での WAM の使用を無効にする必要があります。 次のコマンドを使用して WAM を無効にし、Az 12.0.0 より前における既定値であるブラウザーベースのログインに戻します。
Update-AzConfig -EnableLoginByWam $false
ブラウザーベースのログイン
ブラウザーベースのログインは、Linux、macOS、および Windows 10 または Windows Server 2019 より古い Windows システムでの既定の対話型ログインです。 Az PowerShell モジュール バージョン 12.0.0 以降、Windows ベースのシステムでは、Az 12.0.0 より前の既定値であったブラウザーベースのログインを使用するには、Azure PowerShell の WAM を無効にする必要があります。
Connect-AzAccount
コマンドレットを使用して対話形式でサインインすると、ブラウザーベースのログインは、既定の Web ブラウザーを開いて Azure サインイン ページを読み込みます。 ブラウザーで Azure アカウントの資格情報を使用してサインインします。
Azure PowerShell で既定のブラウザーを開くことができる場合は、認可コード フローが開始され、既定のブラウザーが開いて Azure サインイン ページが読み込まれます。 それ以外の場合は、ブラウザー ページを microsoft.com/devicelogin で開き、PowerShell セッション内に表示されたコードを入力するようにユーザーに指示するデバイス コード フローを開きます。
デバイス コード認証
Web アカウント マネージャーまたは Web ブラウザーが利用できない、または開かない場合は、UseDeviceAuthentication パラメーターを指定することでデバイス コード フローを強制することができます。
Connect-AzAccount -UseDeviceAuthentication
別のテナントにサインインする
アカウントが複数のテナントに関連付けられている場合は、サインインで、接続時に Tenant パラメーターを指定する必要があります。 このパラメーターは、どのサインイン方法でも機能します。 ログイン時、テナントの Azure オブジェクト ID (テナント ID) またはテナントの完全修飾ドメイン名がこのパラメーター値になります。
Connect-AzAccount -Tenant 00000000-0000-0000-0000-000000000000
各国のクラウドにサインインする
各国のクラウド (ソブリン クラウドとも呼ばれる) は、地理的な境界線内でデータ所在地、主権、コンプライアンス要件が尊重されるように設計された、物理的に隔離された Azure のインスタンスです。 各国のクラウド内のアカウントの場合は、サインインするときに Environment パラメーターで環境を設定します。 このパラメーターは、どのサインイン方法でも機能します。 たとえば、ご自身のアカウントが Azure China 21Vianet にある場合は、次のコマンドを使用します。
Connect-AzAccount -Environment AzureChinaCloud
次のコマンドを実行することで、利用可能なナショナル クラウド環境の一覧を取得できます。
Get-AzEnvironment | Select-Object -Property Name
関連項目
Azure PowerShell