Connect-AzAccount

Подключение в Azure с учетной записью, прошедшей проверку подлинности, для использования с командлетами из модулей Az PowerShell.

Синтаксис

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 подключается к Azure с учетной записью, прошедшей проверку подлинности, для использования с командлетами из модулей Az PowerShell. Эту учетную запись с проверкой подлинности можно использовать только с запросами Azure Resource Manager. Чтобы добавить проверенную учетную запись для использования с управлением службами, используйте Add-AzureAccount командлет из модуля Azure PowerShell. Если контекст для текущего пользователя не найден, список контекста пользователя заполняется контекстом для каждой из первых 25 подписок. Список контекстов, созданных для пользователя, можно найти, выполнив команду Get-AzContext -ListAvailable. Чтобы пропустить эту популяцию контекста, укажите параметр переключателя SkipContextPopulation . После выполнения этого командлета можно отключиться от учетной записи Azure с помощью Disconnect-AzAccount.

Примеры

Пример 1. Подключение учетной записи Azure

В этом примере выполняется подключение к учетной записи Azure. Необходимо указать учетную запись Майкрософт или учетные данные идентификатора организации. Если для учетных данных включена многофакторная проверка подлинности, необходимо войти в систему с помощью интерактивного параметра или использовать проверку подлинности субъекта-службы.

Connect-AzAccount

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

Пример 2. Подключение в Azure с использованием учетных данных идентификатора организации

Этот сценарий работает только в том случае, если пользователь не включает многофакторную проверку подлинности. Первая командная строка для учетных данных пользователя и сохраняет их в переменной $Credential . Вторая команда подключается к учетной записи Azure с помощью учетных данных, хранящихся в $Credential. Эта учетная запись проходит проверку подлинности в 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. Подключение с помощью управляемого удостоверения службы

В этом примере подключается с помощью управляемого удостоверения управляемой службы (MSI) назначаемой системой среды узла. Например, вы войдите в Azure из виртуальной машины с назначенным MSI.

Connect-AzAccount -Identity
Set-AzContext -Subscription Subscription1

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

Пример 6. Подключение с использованием имени входа управляемого удостоверения службы и ClientId

Этот пример подключается с помощью управляемого удостоверения службы myUserAssignedIdentity. В примере добавляется удостоверение, назначаемое пользователем, для виртуальной машины, а затем устанавливается подключение с использованием ClientId этого удостоверения. Дополнительные сведения см. в статье Настройка управляемых удостоверений для ресурсов Azure на виртуальной машине Azure.

$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, например служба хранилища, Подключение-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

Идентификатор учетной записи/ идентификатор пользователя или имя пользователя для входа с помощью параметра Default (UserWithSubscriptionId); Идентификатор учетной записи для маркера доступа в наборе параметров AccessToken ; Идентификатор учетной записи для управляемой службы в наборе параметров ManagedService . Может быть идентификатором ресурса управляемой службы или соответствующим идентификатором клиента. Чтобы использовать назначенное системой удостоверение, оставьте это поле пустым.

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

-ApplicationId

Идентификатор приложения субъекта-службы.

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

-AuthScope

Необязательные область OAuth для входа, поддерживаемые предварительно определенные значения: AadGraph, AnalysisServices, аттестация, пакетная служба, DataLake, KeyVault, Operations Аналитика, служба хранилища, Synapse. Он также поддерживает идентификатор ресурса, например https://storage.azure.com/.

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

Запрос подтверждения перед выполнением командлета.

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 предоставляет идентификатор пользователя и пароль для учетных данных идентификатора организации или идентификатор приложения и секрет для учетных данных субъекта-службы.

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

Указывает маркер, предоставленный другим поставщиком удостоверений. Издатель и субъект в этом токене должны быть сначала настроены для доверия с помощью 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

AccessToken для службы Graph.

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

-Identity

Войдите с помощью управляемого удостоверения службы.

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

-KeyVaultAccessToken

AccessToken для службы KeyVault.

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

Указывает, следует ли отправлять утверждение x5c (открытый ключ сертификата) в stS для обеспечения простой отката сертификатов в Azure AD.

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

Имя или идентификатор подписки.

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

-Tenant

Необязательное имя клиента или идентификатор.

Примечание.

Из-за ограничений текущего API необходимо использовать идентификатор клиента вместо имени клиента при подключении с учетной записью "бизнес—бизнес" (B2B).

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