次の方法で共有


Connect-AzAccount

Az PowerShell モジュールのコマンドレットで使用するために、認証されたアカウントを使用して Azure に接続します。

構文

Connect-AzAccount
       [-Environment <String>]
       [-Tenant <String>]
       [-AccountId <String>]
       [-Subscription <String>]
       [-AuthScope <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-UseDeviceAuthentication]
       [-Force]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       -Credential <PSCredential>
       [-ServicePrincipal]
       -Tenant <String>
       [-Subscription <String>]
       [-AuthScope <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       -Credential <PSCredential>
       [-Tenant <String>]
       [-Subscription <String>]
       [-AuthScope <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       -CertificateThumbprint <String>
       -ApplicationId <String>
       [-ServicePrincipal]
       -Tenant <String>
       [-Subscription <String>]
       [-AuthScope <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-SendCertificateChain]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       -ApplicationId <String>
       [-ServicePrincipal]
       -Tenant <String>
       [-Subscription <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       -FederatedToken <String>
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       -ApplicationId <String>
       [-ServicePrincipal]
       -Tenant <String>
       [-Subscription <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-SendCertificateChain]
       -CertificatePath <String>
       [-CertificatePassword <SecureString>]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       [-Tenant <String>]
       -AccessToken <String>
       [-GraphAccessToken <String>]
       [-MicrosoftGraphAccessToken <String>]
       [-KeyVaultAccessToken <String>]
       -AccountId <String>
       [-Subscription <String>]
       [-ContextName <String>]
       [-SkipValidation]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       [-Tenant <String>]
       [-AccountId <String>]
       [-Identity]
       [-Subscription <String>]
       [-AuthScope <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

説明

Connect-AzAccount コマンドレットは、Az PowerShell モジュールのコマンドレットで使用するために、認証されたアカウントを使用して Azure に接続します。 この認証済みアカウントは、Azure Resource Manager 要求でのみ使用できます。 Service Management で使用する認証済みアカウントを追加するには、Azure PowerShell モジュールの Add-AzureAccount コマンドレットを使用します。 現在のユーザーのコンテキストが見つからない場合、ユーザーのコンテキスト リストには、最初の 25 個のサブスクリプションごとにコンテキストが設定されます。 ユーザー用に作成されたコンテキストの一覧は、 Get-AzContext -ListAvailableを実行して見つけることができます。 このコンテキストの作成をスキップするには、 SkipContextPopulation switch パラメーターを指定します。 このコマンドレットを実行した後、 Disconnect-AzAccountを使用して Azure アカウントから切断できます。

例 1: Azure アカウントに接続する

この例では、Azure アカウントに接続します。 Microsoft アカウントまたは組織 ID の資格情報を指定する必要があります。 資格情報に対して多要素認証が有効になっている場合は、対話型オプションを使用してログインするか、サービス プリンシパル認証を使用する必要があります。

Connect-AzAccount

Please select the account you want to login with.

Retrieving subscriptions for the selection...
[Tenant and subscription selection]

No      Subscription name                       Subscription ID                             Tenant domain name        
----    ------------------------------------    ----------------------------------------    --------------------------
[1]     Subscription1                           xxxx-xxxx-xxxx-xxxx                         xxxxxxxxx.xxxxxxxxxxx.com
[2]     Subscription2                           xxxx-xxxx-xxxx-xxxx                         xxxxxxxxx.xxxxxxxxxxx.com
...
[9]     Subscription9                           xxxx-xxxx-xxxx-xxxx                         xxxxxxxxx.xxxxxxxxxxx.com

Select a tenant and subscription: 1 <requires user's input here>

Subscription name                       Tenant domain name
------------------------------------    --------------------------
Subscription1                           xxxxxxxxx.xxxxxxxxxxx.com

[Announcements]
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

SubscriptionName     Tenant
-----------------    ------
Subscription1        xxxxxxxxx.xxxxxxxxxxx.com

例 2: 組織 ID 資格情報を使用して Azure に接続する

このシナリオは、ユーザーが多要素認証を有効にしていない場合にのみ機能します。 最初のコマンドは、ユーザー資格情報の入力を求め、 $Credential 変数に格納します。 2 番目のコマンドは、 $Credentialに格納されている資格情報を使用して Azure アカウントに接続します。 このアカウントは、組織 ID 資格情報を使用して Azure で認証されます。

$Credential = Get-Credential
Connect-AzAccount -Credential $Credential

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
azureuser@contoso.com  Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

例 3: サービス プリンシパル アカウントを使用して Azure に接続する

このコマンドは、サービス プリンシパルの資格情報を $Credential 変数に格納します。 次に、 $Credential 変数に格納されているサービス プリンシパルの資格情報を使用して、指定した Azure テナントに接続します。 ServicePrincipal スイッチ パラメーターは、アカウントがサービス プリンシパルとして認証されることを示します。

$SecurePassword = Read-Host -Prompt 'Enter a Password' -AsSecureString
$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy'
$ApplicationId = 'zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz'
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ApplicationId, $SecurePassword
Connect-AzAccount -ServicePrincipal -TenantId $TenantId -Credential $Credential

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
xxxx-xxxx-xxxx-xxxx    Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

例 4: 対話型ログインを使用して特定のテナントとサブスクリプションに接続する

この例では、指定したテナントとサブスクリプションを持つ Azure アカウントに接続します。

Connect-AzAccount -Tenant 'xxxx-xxxx-xxxx-xxxx' -SubscriptionId 'yyyy-yyyy-yyyy-yyyy'

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
azureuser@contoso.com  Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

例 5: マネージド サービス ID を使用して接続する

この例では、ホスト環境のシステム割り当てマネージド サービス ID (MSI) を使用して接続します。 たとえば、MSI が割り当てられている仮想マシンから Azure にサインインします。

Connect-AzAccount -Identity
Set-AzContext -Subscription Subscription1

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
MSI@50342              Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

例 6: マネージド サービス ID ログインと ClientId を使用して接続する

この例では、 myUserAssignedIdentity のマネージド サービス ID を使用して接続します。 これは、仮想マシンにこのユーザー割り当て ID を追加し、ユーザー割り当て ID の ClientId を使用して接続します。 詳細については、Azure VM 上の Azure リソースのマネージド ID を構成することに関する記事を参照してください。

$identity = Get-AzUserAssignedIdentity -ResourceGroupName 'myResourceGroup' -Name 'myUserAssignedIdentity'
Get-AzVM -ResourceGroupName contoso -Name testvm | Update-AzVM -IdentityType UserAssigned -IdentityId $identity.Id
Connect-AzAccount -Identity -AccountId $identity.ClientId # Run on the virtual machine

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
yyyy-yyyy-yyyy-yyyy    Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

例 7: 証明書を使用して接続する

この例では、証明書ベースのサービス プリンシパル認証を使用して Azure アカウントに接続します。 認証に使用するサービス プリンシパルは、指定した証明書で作成する必要があります。 自己署名証明書の作成とアクセス許可の割り当ての詳細については、「 Azure PowerShell を使用して証明書を使用してサービス プリンシパルを作成する」を参照してください。

$Thumbprint = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy'
$ApplicationId = '00000000-0000-0000-0000-00000000'
Connect-AzAccount -CertificateThumbprint $Thumbprint -ApplicationId $ApplicationId -Tenant $TenantId -ServicePrincipal

Account                      SubscriptionName TenantId                        Environment
-------                      ---------------- --------                        -----------
xxxxxxxx-xxxx-xxxx-xxxxxxxxx Subscription1    yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud

Account          : xxxxxxxx-xxxx-xxxx-xxxxxxxx
SubscriptionName : MyTestSubscription
SubscriptionId   : zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz
TenantId         : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy
Environment      : AzureCloud

例 8: AuthScope を使用して接続する

AuthScope は、データ プレーン リソースが ARM リソースよりも認証を強化するというシナリオをサポートするために使用されます。たとえば、ストレージには MFA が必要ですが、ARM は必要ありません。 AuthScope が指定されると (Storage など)、Connect-AzAccount は最初にストレージ スコープ https://storage.azure.com/でログインし、次に ARM のトークンをサイレントモードで要求します。

Connect-AzAccount -AuthScope Storage

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
yyyy-yyyy-yyyy-yyyy    Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

例 9: 証明書ファイルを使用して接続する

この例では、証明書ベースのサービス プリンシパル認証を使用して Azure アカウントに接続します。 CertficatePathで指定された証明書ファイルには、入力として証明書と秘密キーの両方が含まれている必要があります。

$SecurePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy'
$ApplicationId = 'zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz'
Connect-AzAccount -ServicePrincipal -ApplicationId $ApplicationId -TenantId $TenantId -CertificatePath './certificatefortest.pfx' -CertificatePassword $securePassword

Account                     SubscriptionName TenantId                        Environment
-------                     ---------------- --------                        -----------
xxxxxxxx-xxxx-xxxx-xxxxxxxx Subscription1    yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud

例 10: WAM を使用して対話形式で接続する

この例では、WAM (Web アカウント マネージャー) の構成を有効にし、それを使用して Azure に接続する方法を示します。

Update-AzConfig -EnableLoginByWam $true
Connect-AzAccount

Account                     SubscriptionName TenantId                        Environment
-------                     ---------------- --------                        -----------
xxxxxxxx-xxxx-xxxx-xxxxxxxx Subscription1    yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud

パラメーター

-AccessToken

アクセス トークンを指定します。

注意事項

アクセス トークンは資格情報の一種です。 機密を保持するには、適切なセキュリティ対策を講じる必要があります。 アクセス トークンもタイムアウトし、実行時間の長いタスクの完了を妨げる可能性があります。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-AccountId

Default (UserWithSubscriptionId)パラメーター セットでログインするアカウント ID/ユーザー ID/ユーザー名。AccessToken パラメーター セット内のアクセス トークンのアカウント ID。ManagedService パラメーター セットのマネージド サービスのアカウント ID。 マネージド サービス リソース ID、または関連付けられているクライアント ID を指定できます。 システム割り当て ID を使用するには、このフィールドを空白のままにします。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ApplicationId

サービス プリンシパルのアプリケーション ID。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-AuthScope

ログインのオプションの OAuth スコープ、サポートされている定義済みの値: AadGraph、AnalysisServices、Attestation、Batch、DataLake、KeyVault、OperationalInsights、Storage、Synapse。 また、 https://storage.azure.com/などのリソース ID もサポートしています。

型:String
Aliases:AuthScopeTypeName
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CertificatePassword

pkcs#12 証明書ファイルにアクセスするために必要なパスワード。

型:SecureString
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CertificatePath

pkcs#12 形式の certficate ファイルのパス。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CertificateThumbprint

証明書ハッシュまたは拇印。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

型:SwitchParameter
Aliases:cf
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ContextName

このログインの既定の Azure コンテキストの名前。 Azure コンテキストの詳細については、「 Azure PowerShell コンテキスト オブジェクトを参照してください。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Credential

PSCredential オブジェクトを指定します。 PSCredential オブジェクトの詳細については、「Get-Help Get-Credential」と入力します。 PSCredential オブジェクトは、組織 ID 資格情報のユーザー ID とパスワード、またはサービス プリンシパル資格情報のアプリケーション ID とシークレットを提供します。

型:PSCredential
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DefaultProfile

Azure との通信のために使用される資格情報、アカウント、テナント、サブスクリプションです。

型:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Environment

Azure アカウントを含む環境。

型:String
Aliases:EnvironmentName
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-FederatedToken

別の ID プロバイダーによって提供されるトークンを指定します。 このトークンの発行者とサブジェクトは、最初に ApplicationId によって信頼されるように構成する必要があります。

注意事項

フェデレーション トークンは資格情報の一種です。 機密を保持するには、適切なセキュリティ対策を講じる必要があります。 フェデレーション トークンもタイムアウトし、実行時間の長いタスクの完了を妨げる可能性があります。

型:String
Aliases:ClientAssertion
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Force

プロンプトを表示せずに、既存のコンテキストを同じ名前で上書きします。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-GraphAccessToken

Graph サービスの AccessToken。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Identity

マネージド サービス ID を使用してログインします。

型:SwitchParameter
Aliases:MSI, ManagedService
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-KeyVaultAccessToken

KeyVault サービスの AccessToken。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-MaxContextPopulation

ログイン後にコンテキストを設定する最大サブスクリプション番号。 既定値は 25 です。 すべてのサブスクリプションをコンテキストに設定するには、-1 に設定します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-MicrosoftGraphAccessToken

Microsoft Graph へのアクセス トークン

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Scope

コンテキスト変更のスコープを決定します。たとえば、変更が現在のプロセスにのみ適用されるか、このユーザーによって開始されたすべてのセッションに適用されるかなどです。

型:ContextModificationScope
指定可能な値:Process, CurrentUser
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SendCertificateChain

Azure AD での簡単な証明書ロールオーバーを実現するために、x5c 要求 (証明書の公開キー) を STS に送信するかどうかを指定します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ServicePrincipal

このアカウントがサービス プリンシパルの資格情報を指定して認証されることを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SkipContextPopulation

コンテキストが見つからない場合は、コンテキストの作成をスキップします。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SkipValidation

アクセス トークンの検証をスキップします。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Subscription

サブスクリプション名または ID。

型:String
Aliases:SubscriptionName, SubscriptionId
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Tenant

オプションのテナント名または ID。

Note

現在の API の制限により、企業間 (B2B) アカウントに接続する場合は、テナント名の代わりにテナント ID を使用する必要があります。

型:String
Aliases:Domain, TenantId
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-UseDeviceAuthentication

ブラウザー コントロールの代わりにデバイス コード認証を使用します。

型:SwitchParameter
Aliases:DeviceCode, DeviceAuth, Device
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

String

出力

PSAzureProfile