Connect-AzAccount

Az PowerShell 모듈의 cmdlet과 함께 사용할 인증된 계정으로 Azure에 커넥트.

Syntax

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

Description

이 cmdlet은 Connect-AzAccount Az PowerShell 모듈의 cmdlet과 함께 사용할 인증된 계정으로 Azure에 연결합니다. 이 인증된 계정은 Azure Resource Manager 요청에서만 사용할 수 있습니다. 서비스 관리에 사용할 인증된 계정을 추가하려면 Azure PowerShell 모듈의 cmdlet을 사용합니다 Add-AzureAccount . 현재 사용자에 대한 컨텍스트가 없으면 사용자의 컨텍스트 목록이 처음 25개 구독 각각에 대한 컨텍스트로 채워집니다. 사용자를 위해 만든 컨텍스트 목록은 실행 Get-AzContext -ListAvailable하여 찾을 수 있습니다. 이 컨텍스트 채우기를 건너뛰려면 SkipContextPopulation 스위치 매개 변수를 지정합니다. 이 cmdlet을 실행한 후 .Disconnect-AzAccount

예제

예제 1: Azure 계정에 커넥트

이 예제에서는 Azure 계정에 연결합니다. Microsoft 계정 또는 조직 ID 자격 증명을 제공해야 합니다. 자격 증명에 다단계 인증을 사용하는 경우 대화형 옵션을 사용하여 로그인하거나 서비스 주체 인증을 사용해야 합니다.

Connect-AzAccount

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

예제 2: 조직 ID 자격 증명을 사용하여 Azure에 커넥트

이 시나리오는 사용자가 다단계 인증을 설정하지 않은 경우에만 작동합니다. 첫 번째 명령은 사용자 자격 증명을 묻는 메시지를 표시하고 변수에 $Credential 저장합니다. 두 번째 명령은 에 저장된 자격 증명을 사용하여 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 저장합니다. 두 번째 명령은 변수에 저장된 서비스 주체 자격 증명을 사용하여 지정된 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를 사용하여 커넥트

이 예제에서는 호스트 환경의 시스템 할당 MSI(관리 서비스 ID)를 사용하여 연결합니다. 예를 들어 할당된 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) 커넥트-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(웹 계정 관리자)에 대한 구성을 사용하도록 설정하고 이를 사용하여 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

기본값(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, OperationalInsights, 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 형식의 인증서 파일 경로입니다.

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

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

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입니다.

참고 항목

현재 API의 제한 사항으로 인해 B2B(Business-to-Business) 계정에 연결할 때 테넌트 이름 대신 테넌트 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

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

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

입력

String

출력

PSAzureProfile