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 スイッチ パラメーターを指定します。 このコマンドレットを実行した後、次を使用して Disconnect-AzAccountAzure アカウントから切断できます。

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

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

Connect-AzAccount

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

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

このシナリオは、ユーザーが多要素認証を有効にしていない場合にのみ機能します。 最初のコマンドは、ユーザー資格情報の入力を求め、変数に $Credential 格納します。 2 番目のコマンドは、に格納されている資格情報を使用して Azure アカウントに $Credential接続します。 このアカウントは、組織 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 格納します。 2 番目のコマンドは、変数に格納されているサービス プリンシパルの資格情報を使用して、指定された Azure テナントを $Credential 接続します。 ServicePrincipal スイッチ パラメーターは、アカウントがサービス プリンシパルとして認証されることを示します。

$SecurePassword = ConvertTo-SecureString -String "Password123!" -AsPlainText -Force
$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 "Password123!" -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

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

注意事項

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-AccountId

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationId

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-AuthScope

ログインのオプションの OAuth スコープ(AadGraph、AnalysisServices、Attestation、Batch、DataLake、KeyVault、Operationalインサイト、Storage、Synapse)。 また、次のような https://storage.azure.com/リソース ID もサポートしています。

Type:String
Aliases:AuthScopeTypeName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificatePassword

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

Type:SecureString
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificatePath

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContextName

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

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

Type:PSCredential
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Environment

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

Type:String
Aliases:EnvironmentName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FederatedToken

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

注意事項

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

Type:String
Aliases:ClientAssertion
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Force

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-GraphAccessToken

Graph サービスの AccessToken。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Identity

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

Type:SwitchParameter
Aliases:MSI, ManagedService
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-KeyVaultAccessToken

KeyVault サービスの AccessToken。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxContextPopulation

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MicrosoftGraphAccessToken

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

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

Type:ContextModificationScope
Accepted values:Process, CurrentUser
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SendCertificateChain

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServicePrincipal

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

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-SkipContextPopulation

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipValidation

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Subscription

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

Type:String
Aliases:SubscriptionName, SubscriptionId
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Tenant

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

Note

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

Type:String
Aliases:Domain, TenantId
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-UseDeviceAuthentication

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

Type:SwitchParameter
Aliases:DeviceCode, DeviceAuth, Device
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

String

出力

PSAzureProfile