Gerenciar contas Executar como da Automação do AzureManage Azure Automation Run As accounts

As contas Executar como na Automação do Azure são usadas para fornecer autenticação para o gerenciamento de recursos no Azure com os cmdlets do Azure.Run As accounts in Azure Automation are used to provide authentication for managing resources in Azure with the Azure cmdlets.

Quando você cria uma conta Executar como, ela cria uma nova entidade de serviço no Azure Active Directory e atribui a função Colaborador a esse usuário no nível da assinatura.When you create a Run As account, it creates a new service principal user in Azure Active Directory and assigns the Contributor role to this user at the subscription level. Para runbooks que usam Hybrid Runbook Workers em máquinas virtuais do Azure, você pode usar identidades gerenciadas para recursos do Azure em vez de contas Executar como para autenticar para recursos do Azure.For runbooks that use Hybrid Runbook Workers on Azure virtual machines, you can use managed identities for Azure resources instead of Run As accounts to authenticate to your Azure resources.

Há dois tipos de Contas Executar como:There are two types of Run As Accounts:

  • Conta do Azure executar como -essa conta é usada para gerenciar modelo de implantação do Resource Manager recursos.Azure Run As Account - This account is used to manage Resource Manager deployment model resources.

    • Cria um aplicativo do Azure AD com um certificado autoassinado, cria uma conta de entidade de serviço para o aplicativo no Azure AD e atribui a função de Colaborador à conta na assinatura atual.Creates an Azure AD application with a self-signed certificate, creates a service principal account for the application in Azure AD, and assigns the Contributor role for the account in your current subscription. Você pode alterar essa configuração para Proprietário ou qualquer outra função.You can change this setting to Owner or any other role. Para obter mais informações, confira Controle de acesso baseado em função na Automação do Azure.For more information, see Role-based access control in Azure Automation.
    • Cria um ativo de certificado de Automação chamado AzureRunAsCertificate na conta de Automação especificada.Creates an Automation certificate asset named AzureRunAsCertificate in the specified Automation account. O ativo de certificado contém a chave privada do certificado que é usada pelo aplicativo do Azure AD.The certificate asset holds the certificate private key that's used by the Azure AD application.
    • Cria um ativo de conexão de Automação chamado AzureRunAsConnection na conta de Automação especificada.Creates an Automation connection asset named AzureRunAsConnection in the specified Automation account. O ativo de conexão contém applicationId, tenantId, subscriptionId e a impressão digital do certificado.The connection asset holds the applicationId, tenantId, subscriptionId, and certificate thumbprint.
  • Azure conta executar como clássica -essa conta é usada para gerenciar modelo de implantação clássico recursos.Azure Classic Run As Account - This account is used to manage Classic deployment model resources.

    • Cria um certificado de gerenciamento na assinaturaCreates a management certificate in the subscription
    • Cria um ativo de certificado de Automação chamado AzureClassicRunAsCertificate na conta de Automação especificada.Creates an Automation certificate asset named AzureClassicRunAsCertificate in the specified Automation account. O ativo de certificado contém a chave privada do certificado usada pelo certificado de gerenciamento.The certificate asset holds the certificate private key used by the management certificate.
    • Cria um ativo de conexão de Automação chamado AzureClassicRunAsConnection na conta de Automação especificada.Creates an Automation connection asset named AzureClassicRunAsConnection in the specified Automation account. O ativo de conexão contém o nome da assinatura, subscriptionId e o nome do ativo de certificado.The connection asset holds the subscription name, subscriptionId, and certificate asset name.
    • Deve ser um coadministrador na assinatura para criar ou renovarMust be a co-administrator on the subscription to create or renew

    Observação

    As assinaturas do Azure CSP (Provedor de Soluções na Nuvem do Azure) dão suporte apenas ao modelo do Azure Resource Manager, serviços que não são do Azure Resource Manager não estão disponíveis no programa.Azure Cloud Solution Provider (Azure CSP) subscriptions support only the Azure Resource Manager model, non-Azure Resource Manager services are not available in the program. Ao usar uma assinatura do CSP, a conta Executar Como Clássica do Azure não é criada.When using a CSP subscription the Azure Classic Run As Account does not get created. A conta Executar Como do Azure ainda é criada.The Azure Run As Account still gets created. Para saber mais sobre assinaturas de CSP, consulte Serviços disponíveis em assinaturas do CSP.To learn more about CSP subscriptions, see Available services in CSP subscriptions.

    Observação

    A entidade de serviço para uma conta executar como não tem permissões para ler o Azure Active Directory por padrão.The service principal for a Run as Account does not have permissions to read Azure Active Directory by default. Se você quiser adicionar permissões para ler ou gerenciar o Azure Active directory, você precisará conceder essa permissão no serviço de entidade de segurança sob permissões de API.If you want to add permissions to read or manage Azure Active directory, you'll need to grant that permission on the service principal under API permissions. Para obter mais informações, consulte adicionar permissões para acessar APIs web.To learn more, see Add permissions to access web APIs.

Permissões para configurar contas Executar comoPermissions to configure Run As accounts

Para criar ou atualizar uma conta Executar como, é necessário ter privilégios e permissões específicos.To create or update a Run As account, you must have specific privileges and permissions. Um Administrador Global no Azure Active Directory e um proprietário em uma assinatura podem concluir todas as tarefas.A Global Administrator in Azure Active Directory and an Owner in a subscription can complete all the tasks. Em uma situação em que você tem separação de tarefas, a tabela a seguir mostra uma listagem das tarefas, o cmdlet equivalente e as permissões necessárias:In a situation where you have separation of duties, the following table shows a listing of the tasks, the equivalent cmdlet and permissions needed:

TarefaTask CmdletCmdlet Permissões mínimasMinimum Permissions Onde você define as permissõesWhere you set the permissions
Criar aplicativo do Azure ADCreate Azure AD Application New-AzureRmADApplicationNew-AzureRmADApplication Função Desenvolvedor de Aplicativos1Application Developer Role1 Azure Active DirectoryAzure Active Directory
Página Inicial > Azure Active Directory > Registros de AplicativoHome > Azure Active Directory > App Registrations
Adicione uma credencial ao aplicativo.Add a credential to the application. New-AzureRmADAppCredentialNew-AzureRmADAppCredential Administrador do aplicativo ou ADMINISTRADOR GLOBAL1Application administrator or GLOBAL ADMIN1 Azure Active DirectoryAzure Active Directory
Página Inicial > Azure Active Directory > Registros de AplicativoHome > Azure Active Directory > App Registrations
Criar e obter uma entidade de serviço do Azure ADCreate and Get an Azure AD service principal New-AzureRMADServicePrincipalNew-AzureRMADServicePrincipal
Get-AzureRmADServicePrincipalGet-AzureRmADServicePrincipal
Administrador do aplicativo ou ADMINISTRADOR GLOBAL1Application administrator or GLOBAL ADMIN1 Azure Active DirectoryAzure Active Directory
Página Inicial > Azure Active Directory > Registros de AplicativoHome > Azure Active Directory > App Registrations
Atribuir ou obter a função RBAC para a entidade especificadaAssign or get the RBAC role for the specified principal New-AzureRMRoleAssignmentNew-AzureRMRoleAssignment
Get-AzureRMRoleAssignmentGet-AzureRMRoleAssignment
Você deve ter as seguintes permissões:You must have the following permissions:
Microsoft.Authorization/Operations/read
Microsoft.Authorization/permissions/read
Microsoft.Authorization/roleDefinitions/read
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/read
Microsoft.Authorization/roleAssignments/delete


Ou seja:Or be a:

Proprietário ou Administrador de Acesso do UsuárioUser Access Administrator or Owner
AssinaturaSubscription
Página Inicial > Assinaturas > <nome da assinatura> – Controle de Acesso (IAM)Home > Subscriptions > <subscription name> - Access Control (IAM)
Criar ou remover um certificado de AutomaçãoCreate or remove an Automation certificate New-AzureRmAutomationCertificateNew-AzureRmAutomationCertificate
Remove-AzureRmAutomationCertificateRemove-AzureRmAutomationCertificate
Colaborador no Grupo de RecursosContributor on Resource Group Grupo de Recursos da Conta de AutomaçãoAutomation Account Resource Group
Criar ou remover uma conexão de AutomaçãoCreate or remove an Automation connection New-AzureRmAutomationConnectionNew-AzureRmAutomationConnection
Remove-AzureRmAutomationConnectionRemove-AzureRmAutomationConnection
Colaborador no Grupo de RecursosContributor on Resource Group Grupo de Recursos da Conta de AutomaçãoAutomation Account Resource Group

1 Os usuários não administradores em seu locatário do Azure Active Directory poderão registrar aplicativos do AD se a opção Os usuários podem registrar aplicativos do locatário do Azure Active Directory na página Configurações do usuário estiver definida como Sim.1 Non-admin users in your Azure AD tenant can register AD applications if the Azure AD tenant's Users can register applications option in User settings page is set to Yes. Se a configuração de registros de aplicativo for definido como não, o usuário executar esta ação deve ser o que é definido na tabela anterior.If the app registrations setting is set to No, the user performing this action must be what is defined in the preceding table.

Se você não for um membro da instância do Active Directory da assinatura antes de você for adicionado à Administrador Global função da assinatura, você está adicionado como um convidado.If you aren't a member of the subscription’s Active Directory instance before you're added to the Global Administrator role of the subscription, you're added as a guest. Nessa situação, você receberá um You do not have permissions to create… aviso na página Adicionar Conta de Automação.In this situation, you receive a You do not have permissions to create… warning on the Add Automation Account page. Os usuários que foram adicionados para o Administrador Global função primeiro pode ser removida da instância do Active Directory da assinatura e adicionada novamente para torná-los usuários completos no Active Directory.Users who were added to the Global Administrator role first can be removed from the subscription's Active Directory instance and re-added to make them a full User in Active Directory. Para verificar essa situação, no painel Azure Active Directory no portal do Azure, selecione Usuários e grupos, selecione Todos os usuários e, depois de selecionar o usuário específico, selecione Perfil.To verify this situation, from the Azure Active Directory pane in the Azure portal, select Users and groups, select All users and, after you select the specific user, select Profile. O valor do atributo Tipo de usuário sob o perfil de usuários não deve ser igual a Convidado.The value of the User type attribute under the users profile should not equal Guest.

Permissões para configurar contas executar como clássicaPermissions to configure Classic Run As accounts

Para configurar ou renovar as contas executar como clássica, você deve ter o coadministrador função no nível de assinatura.To configure or renew Classic Run As accounts, you must have the Co-administrator role at the subscription level. Para saber mais sobre permissões do clássico, consulte os administradores de assinatura clássicos do Azure.To learn more about Classic permissions, see Azure classic subscription administrators.

Criar uma conta Executar como no portalCreate a Run As account in the Portal

Nesta seção, execute as seguintes etapas para atualizar sua conta de Automação do Azure no portal do Azure.In this section, perform the following steps to update your Azure Automation account in the Azure portal. Você pode criar as contas Executar Como e Executar Como Clássicas individualmente.You create the Run As and Classic Run As accounts individually. Se você não precisa gerenciar recursos clássicos, é possível criar apenas a conta Executar Como do Azure.If you don't need to manage classic resources, you can just create the Azure Run As account.

  1. Conecte-se no Portal do Azure com uma conta que seja membro da função Administradores da Assinatura e coadministradora da assinatura.Sign in to the Azure portal with an account that is a member of the Subscription Admins role and co-administrator of the subscription.
  2. No portal do Azure, clique em Todos os serviços.In the Azure portal, click All services. Na lista de recursos, digite Automação.In the list of resources, type Automation. Quando você começa a digitar, a lista é filtrada com base em sua entrada.As you begin typing, the list filters based on your input. Selecione Contas de Automação.Select Automation Accounts.
  3. Na página Contas de Automação, selecione sua conta de Automação da lista de contas de Automação.On the Automation Accounts page, select your Automation account from the list of Automation accounts.
  4. No painel do lado esquerdo, selecione Contas Executar como na seção Configurações de conta.In the left-hand pane, select Run As Accounts under the section Account Settings.
  5. Dependendo da conta de que você precisa, selecione Conta Executar como do Azure ou Conta Executar como Clássica do Azure.Depending on which account you require, select either Azure Run As Account or Azure Classic Run As Account. Após a seleção, o painel Adicionar Executar como do Azure ou Adicionar conta Executar como Clássica do Azure aparecerá e após a revisão das informações de visão geral, clique em Criar para prosseguir com a criação da conta Executar como.After selecting either the Add Azure Run As or Add Azure Classic Run As Account pane appears and after reviewing the overview information, click Create to proceed with Run As account creation.
  6. Enquanto o Azure cria a conta Executar como, você poderá acompanhar o andamento em Notificações no menu.While Azure creates the Run As account, you can track the progress under Notifications from the menu. Uma faixa também é exibida informando que a conta está sendo criada.A banner is also displayed stating the account is being created. A conclusão desse processo pode levar alguns minutos.This process can take a few minutes to complete.

Criar conta Executar como usando PowerShellCreate Run As account using PowerShell

Pré-requisitosPrerequisites

A lista a seguir fornece os requisitos para criar uma conta Executar como no PowerShell:The following list provides the requirements to create a Run As account in PowerShell:

  • Windows 10 ou Windows Server 2016 com os módulos 3.4.1 e posteriores do Azure Resource Manager.Windows 10 or Windows Server 2016 with Azure Resource Manager modules 3.4.1 and later. O script do PowerShell não oferece suporte a versões anteriores do Windows.The PowerShell script does not support earlier versions of Windows.
  • Azure PowerShell 1.0 e posterior.Azure PowerShell 1.0 and later. Para obter informações sobre a versão 1.0 do PowerShell, confira Como instalar e configurar o Azure PowerShell.For information about the PowerShell 1.0 release, see How to install and configure Azure PowerShell.
  • Uma conta de Automação, que é referenciada como o valor para os parâmetros – AutomationAccountName e - ApplicationDisplayName.An Automation account, which is referenced as the value for the –AutomationAccountName and -ApplicationDisplayName parameters.
  • Permissões equivalentes às listadas em Permissões necessárias para configurar contas Executar comoPermissions equivalent to what is listed in Required permissions to configure Run As accounts

Para obter os valores para SubscriptionID, ResourceGroup e AutomationAccountName, que são parâmetros obrigatórios para o script, conclua as etapas a seguir:To get the values for SubscriptionID, ResourceGroup, and AutomationAccountName, which are required parameters for the script, complete the following steps:

  1. No portal do Azure, clique em Todos os serviços.In the Azure portal, click All services. Na lista de recursos, digite Automação.In the list of resources, type Automation. Quando você começa a digitar, a lista é filtrada com base em sua entrada.As you begin typing, the list filters based on your input. Selecione Contas de Automação.Select Automation Accounts.

  2. Na página conta de Automação, selecione sua conta de Automação e, em seguida, em Configurações de conta selecione Propriedades.On the Automation account page, select your Automation account, and then under Account Settings select Properties.

  3. Anote os valores da ID da Assinatura, do Nome e Grupo de Recursos na página Propriedades.Note the Subscription ID, Name, and Resource Group values on the Properties page.

    Página "Propriedades" da conta de Automação

Este script do PowerShell inclui suporte para as seguintes configurações:This PowerShell script includes support for the following configurations:

  • Crie uma conta Executar como usando um certificado autoassinado.Create a Run As account by using a self-signed certificate.
  • Crie uma conta Executar como e uma conta Executar como Clássica usando um certificado autoassinado.Create a Run As account and a Classic Run As account by using a self-signed certificate.
  • Criar uma conta Executar como e uma conta Clássica Executar como usando um certificado emitido por sua autoridade de certificação corporativa (CA).Create a Run As account and a Classic Run As account by using a certificate issued by your enterprise certification authority (CA).
  • Crie uma conta Executar como e uma conta Executar como Clássica usando um certificado autoassinado na nuvem do Azure Governamental.Create a Run As account and a Classic Run As account by using a self-signed certificate in the Azure Government cloud.

Observação

Se selecionar a opção para criar uma conta Executar como Clássica, depois que o script for executado, carregue o certificado público (extensão de nome de arquivo .cer) para o repositório de gerenciamento da assinatura em que a conta de Automação foi criada.If you select either option for creating a Classic Run As account, after the script is executed, upload the public certificate (.cer file name extension) to the management store for the subscription that the Automation account was created in.

  1. Salve o script a seguir em seu computador.Save the following script on your computer. Neste exemplo, salve-o com o nome de arquivo New-RunAsAccount.ps1.In this example, save it with the filename New-RunAsAccount.ps1.

    O script usa vários cmdlets do Azure Resource Manager para criar recursos.The script uses multiple Azure Resource Manager cmdlets to create resources. A tabela a seguir mostra os cmdlets e as permissões necessárias.The following table shows the cmdlets and their permissions needed.

    #Requires -RunAsAdministrator
    Param (
        [Parameter(Mandatory = $true)]
        [String] $ResourceGroup,
    
        [Parameter(Mandatory = $true)]
        [String] $AutomationAccountName,
    
        [Parameter(Mandatory = $true)]
        [String] $ApplicationDisplayName,
    
        [Parameter(Mandatory = $true)]
        [String] $SubscriptionId,
    
        [Parameter(Mandatory = $true)]
        [Boolean] $CreateClassicRunAsAccount,
    
        [Parameter(Mandatory = $true)]
        [String] $SelfSignedCertPlainPassword,
    
        [Parameter(Mandatory = $false)]
        [string] $EnterpriseCertPathForRunAsAccount,
    
        [Parameter(Mandatory = $false)]
        [String] $EnterpriseCertPlainPasswordForRunAsAccount,
    
        [Parameter(Mandatory = $false)]
        [String] $EnterpriseCertPathForClassicRunAsAccount,
    
        [Parameter(Mandatory = $false)]
        [String] $EnterpriseCertPlainPasswordForClassicRunAsAccount,
    
        [Parameter(Mandatory = $false)]
        [ValidateSet("AzureCloud", "AzureUSGovernment")]
        [string]$EnvironmentName = "AzureCloud",
    
        [Parameter(Mandatory = $false)]
        [int] $SelfSignedCertNoOfMonthsUntilExpired = 12
    )
    
    function CreateSelfSignedCertificate([string] $certificateName, [string] $selfSignedCertPlainPassword,
        [string] $certPath, [string] $certPathCer, [string] $selfSignedCertNoOfMonthsUntilExpired ) {
        $Cert = New-SelfSignedCertificate -DnsName $certificateName -CertStoreLocation cert:\LocalMachine\My `
            -KeyExportPolicy Exportable -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" `
            -NotAfter (Get-Date).AddMonths($selfSignedCertNoOfMonthsUntilExpired) -HashAlgorithm SHA256
    
        $CertPassword = ConvertTo-SecureString $selfSignedCertPlainPassword -AsPlainText -Force
        Export-PfxCertificate -Cert ("Cert:\localmachine\my\" + $Cert.Thumbprint) -FilePath $certPath -Password $CertPassword -Force | Write-Verbose
        Export-Certificate -Cert ("Cert:\localmachine\my\" + $Cert.Thumbprint) -FilePath $certPathCer -Type CERT | Write-Verbose
    }
    
    function CreateServicePrincipal([System.Security.Cryptography.X509Certificates.X509Certificate2] $PfxCert, [string] $applicationDisplayName) {  
        $keyValue = [System.Convert]::ToBase64String($PfxCert.GetRawCertData())
        $keyId = (New-Guid).Guid
    
        # Create an Azure AD application, AD App Credential, AD ServicePrincipal
    
        # Requires Application Developer Role, but works with Application administrator or GLOBAL ADMIN
        $Application = New-AzureRmADApplication -DisplayName $ApplicationDisplayName -HomePage ("http://" + $applicationDisplayName) -IdentifierUris ("http://" + $keyId) 
        # Requires Application administrator or GLOBAL ADMIN
        $ApplicationCredential = New-AzureRmADAppCredential -ApplicationId $Application.ApplicationId -CertValue $keyValue -StartDate $PfxCert.NotBefore -EndDate $PfxCert.NotAfter
        # Requires Application administrator or GLOBAL ADMIN
        $ServicePrincipal = New-AzureRMADServicePrincipal -ApplicationId $Application.ApplicationId 
        $GetServicePrincipal = Get-AzureRmADServicePrincipal -ObjectId $ServicePrincipal.Id
    
        # Sleep here for a few seconds to allow the service principal application to become active (ordinarily takes a few seconds)
        Sleep -s 15
        # Requires User Access Administrator or Owner.
        $NewRole = New-AzureRMRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $Application.ApplicationId -ErrorAction SilentlyContinue
        $Retries = 0;
        While ($NewRole -eq $null -and $Retries -le 6) {
            Sleep -s 10
            New-AzureRMRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $Application.ApplicationId | Write-Verbose -ErrorAction SilentlyContinue
            $NewRole = Get-AzureRMRoleAssignment -ServicePrincipalName $Application.ApplicationId -ErrorAction SilentlyContinue
            $Retries++;
        }
        return $Application.ApplicationId.ToString();
    }
    
    function CreateAutomationCertificateAsset ([string] $resourceGroup, [string] $automationAccountName, [string] $certifcateAssetName, [string] $certPath, [string] $certPlainPassword, [Boolean] $Exportable) {
        $CertPassword = ConvertTo-SecureString $certPlainPassword -AsPlainText -Force   
        Remove-AzureRmAutomationCertificate -ResourceGroupName $resourceGroup -AutomationAccountName $automationAccountName -Name $certifcateAssetName -ErrorAction SilentlyContinue
        New-AzureRmAutomationCertificate -ResourceGroupName $resourceGroup -AutomationAccountName $automationAccountName -Path $certPath -Name $certifcateAssetName -Password $CertPassword -Exportable:$Exportable  | write-verbose
    }
    
    function CreateAutomationConnectionAsset ([string] $resourceGroup, [string] $automationAccountName, [string] $connectionAssetName, [string] $connectionTypeName, [System.Collections.Hashtable] $connectionFieldValues ) {
        Remove-AzureRmAutomationConnection -ResourceGroupName $resourceGroup -AutomationAccountName $automationAccountName -Name $connectionAssetName -Force -ErrorAction SilentlyContinue
        New-AzureRmAutomationConnection -ResourceGroupName $ResourceGroup -AutomationAccountName $automationAccountName -Name $connectionAssetName -ConnectionTypeName $connectionTypeName -ConnectionFieldValues $connectionFieldValues
    }
    
    Import-Module AzureRM.Profile
    Import-Module AzureRM.Resources
    
    $AzureRMProfileVersion = (Get-Module AzureRM.Profile).Version
    if (!(($AzureRMProfileVersion.Major -ge 3 -and $AzureRMProfileVersion.Minor -ge 4) -or ($AzureRMProfileVersion.Major -gt 3))) {
        Write-Error -Message "Please install the latest Azure PowerShell and retry. Relevant doc url : https://docs.microsoft.com/powershell/azureps-cmdlets-docs/ "
        return
    }
    
    # To use the new Az modules to create your Run As accounts please uncomment the following lines and ensure you comment out the previous 8 lines that import the AzureRM modules to avoid any issues. To learn about about using Az modules in your Automation Account see https://docs.microsoft.com/azure/automation/az-modules
    
    # Import-Module Az.Automation
    # Enable-AzureRmAlias
    
    
    Connect-AzureRmAccount -Environment $EnvironmentName 
    $Subscription = Select-AzureRmSubscription -SubscriptionId $SubscriptionId
    
    # Create a Run As account by using a service principal
    $CertifcateAssetName = "AzureRunAsCertificate"
    $ConnectionAssetName = "AzureRunAsConnection"
    $ConnectionTypeName = "AzureServicePrincipal"
    
    if ($EnterpriseCertPathForRunAsAccount -and $EnterpriseCertPlainPasswordForRunAsAccount) {
        $PfxCertPathForRunAsAccount = $EnterpriseCertPathForRunAsAccount
        $PfxCertPlainPasswordForRunAsAccount = $EnterpriseCertPlainPasswordForRunAsAccount
    }
    else {
        $CertificateName = $AutomationAccountName + $CertifcateAssetName
        $PfxCertPathForRunAsAccount = Join-Path $env:TEMP ($CertificateName + ".pfx")
        $PfxCertPlainPasswordForRunAsAccount = $SelfSignedCertPlainPassword
        $CerCertPathForRunAsAccount = Join-Path $env:TEMP ($CertificateName + ".cer")
        CreateSelfSignedCertificate $CertificateName $PfxCertPlainPasswordForRunAsAccount $PfxCertPathForRunAsAccount $CerCertPathForRunAsAccount $SelfSignedCertNoOfMonthsUntilExpired
    }
    
    # Create a service principal
    $PfxCert = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList @($PfxCertPathForRunAsAccount, $PfxCertPlainPasswordForRunAsAccount)
    $ApplicationId = CreateServicePrincipal $PfxCert $ApplicationDisplayName
    
    # Create the Automation certificate asset
    CreateAutomationCertificateAsset $ResourceGroup $AutomationAccountName $CertifcateAssetName $PfxCertPathForRunAsAccount $PfxCertPlainPasswordForRunAsAccount $true
    
    # Populate the ConnectionFieldValues
    $SubscriptionInfo = Get-AzureRmSubscription -SubscriptionId $SubscriptionId
    $TenantID = $SubscriptionInfo | Select TenantId -First 1
    $Thumbprint = $PfxCert.Thumbprint
    $ConnectionFieldValues = @{"ApplicationId" = $ApplicationId; "TenantId" = $TenantID.TenantId; "CertificateThumbprint" = $Thumbprint; "SubscriptionId" = $SubscriptionId}
    
    # Create an Automation connection asset named AzureRunAsConnection in the Automation account. This connection uses the service principal.
    CreateAutomationConnectionAsset $ResourceGroup $AutomationAccountName $ConnectionAssetName $ConnectionTypeName $ConnectionFieldValues
    
    if ($CreateClassicRunAsAccount) {
        # Create a Run As account by using a service principal
        $ClassicRunAsAccountCertifcateAssetName = "AzureClassicRunAsCertificate"
        $ClassicRunAsAccountConnectionAssetName = "AzureClassicRunAsConnection"
        $ClassicRunAsAccountConnectionTypeName = "AzureClassicCertificate "
        $UploadMessage = "Please upload the .cer format of #CERT# to the Management store by following the steps below." + [Environment]::NewLine +
        "Log in to the Microsoft Azure portal (https://portal.azure.com) and select Subscriptions -> Management Certificates." + [Environment]::NewLine +
        "Then click Upload and upload the .cer format of #CERT#"
    
        if ($EnterpriseCertPathForClassicRunAsAccount -and $EnterpriseCertPlainPasswordForClassicRunAsAccount ) {
            $PfxCertPathForClassicRunAsAccount = $EnterpriseCertPathForClassicRunAsAccount
            $PfxCertPlainPasswordForClassicRunAsAccount = $EnterpriseCertPlainPasswordForClassicRunAsAccount
            $UploadMessage = $UploadMessage.Replace("#CERT#", $PfxCertPathForClassicRunAsAccount)
        }
        else {
            $ClassicRunAsAccountCertificateName = $AutomationAccountName + $ClassicRunAsAccountCertifcateAssetName
            $PfxCertPathForClassicRunAsAccount = Join-Path $env:TEMP ($ClassicRunAsAccountCertificateName + ".pfx")
            $PfxCertPlainPasswordForClassicRunAsAccount = $SelfSignedCertPlainPassword
            $CerCertPathForClassicRunAsAccount = Join-Path $env:TEMP ($ClassicRunAsAccountCertificateName + ".cer")
            $UploadMessage = $UploadMessage.Replace("#CERT#", $CerCertPathForClassicRunAsAccount)
            CreateSelfSignedCertificate $ClassicRunAsAccountCertificateName $PfxCertPlainPasswordForClassicRunAsAccount $PfxCertPathForClassicRunAsAccount $CerCertPathForClassicRunAsAccount $SelfSignedCertNoOfMonthsUntilExpired
        }
    
        # Create the Automation certificate asset
        CreateAutomationCertificateAsset $ResourceGroup $AutomationAccountName $ClassicRunAsAccountCertifcateAssetName $PfxCertPathForClassicRunAsAccount $PfxCertPlainPasswordForClassicRunAsAccount $false
    
        # Populate the ConnectionFieldValues
        $SubscriptionName = $subscription.Subscription.Name
        $ClassicRunAsAccountConnectionFieldValues = @{"SubscriptionName" = $SubscriptionName; "SubscriptionId" = $SubscriptionId; "CertificateAssetName" = $ClassicRunAsAccountCertifcateAssetName}
    
        # Create an Automation connection asset named AzureRunAsConnection in the Automation account. This connection uses the service principal.
        CreateAutomationConnectionAsset $ResourceGroup $AutomationAccountName $ClassicRunAsAccountConnectionAssetName $ClassicRunAsAccountConnectionTypeName   $ClassicRunAsAccountConnectionFieldValues
    
        Write-Host -ForegroundColor red       $UploadMessage
    }
    

    Importante

    Connect-AzureRmAccount agora é um alias para Connect-AzureRMAccount.Add-AzureRmAccount is now an alias for Connect-AzureRMAccount. Ao pesquisar os itens da biblioteca, se não visualizar Connect-AzureRMAccount, você poderá usar Add-AzureRmAccount ou poderá atualizar os módulos na conta de Automação.When searching your library items, if you do not see Connect-AzureRMAccount, you can use Add-AzureRmAccount, or you can update your modules in your Automation Account.

  2. Em sua máquina, inicie o Windows PowerShell na tela Iniciar com direitos de usuário elevados.On your computer, start Windows PowerShell from the Start screen with elevated user rights.

  3. A partir do shell da linha de comando com privilégios elevados, acesse a pasta que contém o script que você criou na etapa 1.From the elevated command-line shell, go to the folder that contains the script you created in step 1.

  4. Execute o script usando os valores de parâmetro para a configuração necessária.Execute the script by using the parameter values for the configuration you require.

    Criar uma conta Executar como usando um certificado autoassinadoCreate a Run As account by using a self-signed certificate

    .\New-RunAsAccount.ps1 -ResourceGroup <ResourceGroupName> -AutomationAccountName <NameofAutomationAccount> -SubscriptionId <SubscriptionId> -ApplicationDisplayName <DisplayNameofAADApplication> -SelfSignedCertPlainPassword <StrongPassword> -CreateClassicRunAsAccount $false
    

    Criar uma conta Executar como e uma conta Executar como Clássica usando um certificado autoassinadoCreate a Run As account and a Classic Run As account by using a self-signed certificate

    .\New-RunAsAccount.ps1 -ResourceGroup <ResourceGroupName> -AutomationAccountName <NameofAutomationAccount> -SubscriptionId <SubscriptionId> -ApplicationDisplayName <DisplayNameofAADApplication> -SelfSignedCertPlainPassword <StrongPassword> -CreateClassicRunAsAccount $true
    

    Criar uma conta Executar como e uma conta Executar como Clássica usando um certificado corporativoCreate a Run As account and a Classic Run As account by using an enterprise certificate

    .\New-RunAsAccount.ps1 -ResourceGroup <ResourceGroupName> -AutomationAccountName <NameofAutomationAccount> -SubscriptionId <SubscriptionId> -ApplicationDisplayName <DisplayNameofAADApplication>  -SelfSignedCertPlainPassword <StrongPassword> -CreateClassicRunAsAccount $true -EnterpriseCertPathForRunAsAccount <EnterpriseCertPfxPathForRunAsAccount> -EnterpriseCertPlainPasswordForRunAsAccount <StrongPassword> -EnterpriseCertPathForClassicRunAsAccount <EnterpriseCertPfxPathForClassicRunAsAccount> -EnterpriseCertPlainPasswordForClassicRunAsAccount <StrongPassword>
    

    Criar uma conta Executar como e uma conta Executar como Clássica usando um certificado autoassinado na nuvem do Azure GovernamentalCreate a Run As account and a Classic Run As account by using a self-signed certificate in the Azure Government cloud

    .\New-RunAsAccount.ps1 -ResourceGroup <ResourceGroupName> -AutomationAccountName <NameofAutomationAccount> -SubscriptionId <SubscriptionId> -ApplicationDisplayName <DisplayNameofAADApplication> -SelfSignedCertPlainPassword <StrongPassword> -CreateClassicRunAsAccount $true  -EnvironmentName AzureUSGovernment
    

    Observação

    Depois que o script for executado, você deverá se autenticar no Azure.After the script has executed, you will be prompted to authenticate with Azure. Ente com uma conta que seja membro da função de administradores de assinatura e coadministrador da assinatura.Sign in with an account that is a member of the subscription administrators role and co-administrator of the subscription.

Depois que o script for executado com êxito, observe o seguinte:After the script has executed successfully, note the following:

  • Se você tiver criado uma conta Executar como Clássica com um certificado autoassinado público (arquivo .cer), o script a criará e salvará na pasta de arquivos temporários no computador sob o perfil de usuário %USERPROFILE%\AppData\Local\Temp, que é usado para executar a sessão do PowerShell.If you created a Classic Run As account with a self-signed public certificate (.cer file), the script creates and saves it to the temporary files folder on your computer under the user profile %USERPROFILE%\AppData\Local\Temp, which you used to execute the PowerShell session.

  • Se tiver criado uma conta Executar como Clássica com um certificado público corporativo (arquivo .cer), use este certificado.If you created a Classic Run As account with an enterprise public certificate (.cer file), use this certificate. Siga as instruções para baixar um certificado da API de gerenciamento para o portal do Azure.Follow the instructions for uploading a management API certificate to the Azure portal.

Excluir uma conta Executar como ou Executar como ClássicaDelete a Run As or Classic Run As account

Esta seção descreve como excluir e recriar uma conta Executar como ou Executar como Clássica.This section describes how to delete and re-create a Run As or Classic Run As account. Quando você executa essa ação, a conta de Automação é mantida.When you perform this action, the Automation account is retained. Após excluir uma conta Executar como ou Executar como Clássica, você pode recriá-la no portal do Azure.After you delete a Run As or Classic Run As account, you can re-create it in the Azure portal.

  1. No Portal do Azure, abra a Conta de automação.In the Azure portal, open the Automation account.

  2. Na página Conta de automação, selecione Contas Executar como.On the Automation account page, select Run As Accounts.

  3. Na página de propriedades de Contas Executar como, selecione a conta Executar como ou a conta Executar como Clássica que você deseja excluir.On the Run As Accounts properties page, select either the Run As account or Classic Run As account that you want to delete. Em seguida, no painel Propriedades da conta selecionada, clique em Excluir.Then, on the Properties pane for the selected account, click Delete.

    Excluir Conta Executar como

  4. Enquanto a conta está sendo excluída, você poderá acompanhar o andamento em Notificações no menu.While the account is being deleted, you can track the progress under Notifications from the menu.

  5. Depois que a conta for excluída, você poderá recriá-la na página de propriedades Contas Executar como selecionando a opção de criação Executar como Conta do Azure.After the account has been deleted, you can re-create it on the Run As Accounts properties page by selecting the create option Azure Run As Account.

    Recriar a conta de Automação Executar como

Renovação do certificado autoassinadoSelf-signed certificate renewal

Antes da conta Executar como expirar, você deverá renovar o certificado.At some point before your Run As account expires, you need to renew the certificate. Se achar que a conta Executar como foi comprometida, você poderá excluí-la e recriá-la.If you believe that the Run As account has been compromised, you can delete and re-create it. Esta seção descreve como realizar essas operações.This section discusses how to perform these operations.

O certificado autoassinado que você criou para a conta Executar como expira um ano a contar da data de criação.The self-signed certificate that you created for the Run As account expires one year from the date of creation. Você pode renová-lo a qualquer momento antes que ele expire.You can renew it at any time before it expires. Ao renová-lo, o certificado válido atual é retido para garantir que todos os runbooks colocados na fila ou em execução ativa e autenticados com a conta Executar Como não sejam afetados negativamente.When you renew it, the current valid certificate is retained to ensure that any runbooks that are queued up or actively running, and that authenticate with the Run As account, aren't negatively affected. O certificado permanece válido até a data de expiração.The certificate remains valid until its expiration date.

Observação

Se tiver configurado a conta Executar como da Automação para usar um certificado emitido por a autoridade de certificação corporativa e usar essa opção, o certificado da empresa será substituído por um certificado autoassinado.If you have configured your Automation Run As account to use a certificate issued by your enterprise certificate authority and you use this option, the enterprise certificate is replaced by a self-signed certificate.

Para renovar o certificado, faça o seguinte:To renew the certificate, do the following:

  1. No Portal do Azure, abra a Conta de automação.In the Azure portal, open the Automation account.

  2. Selecione Contas Executar como em Configurações de Conta.Select Run As Accounts under Account Settings.

    Painel de propriedades da conta de Automação

  3. Na página de propriedades Contas Executar como, selecione a conta Executar como ou a conta Executar como Clássica para a qual você deseja renovar o certificado.On the Run As Accounts properties page, select either the Run As account or the Classic Run As account that you want to renew the certificate for.

  4. No painel Propriedades da conta selecionada, clique em Renovar certificado.On the Properties pane for the selected account, click Renew certificate.

    Renovar o certificado da conta Executar como

  5. Enquanto o certificado está sendo renovado, você poderá acompanhar o andamento em Notificações no menu.While the certificate is being renewed, you can track the progress under Notifications from the menu.

Limitar as permissões da conta Executar comoLimiting Run As account permissions

Para controlar o direcionamento da automação nos recursos na Automação do Azure, a conta Executar como tem direitos de colaborador concedidos na assinatura.To control targeting of automation against resources in Azure Automation, the Run As account by default is granted contributor rights in the subscription. Se for necessário restringir o que a entidade de serviço RunAs pode fazer, você poderá remover a conta da função de Colaborador para a assinatura e adicioná-lo como um colaborador para os grupos de recursos que deseja especificar.If you need to restrict what the RunAs service principal can do, you can remove the account from the contributor role to the subscription and add it as a contributor to the resource groups you want to specify.

No Portal do Azure, selecione Assinaturas e escolha a assinatura de sua Conta de Automação.In the Azure portal, select Subscriptions and choose the subscription of your Automation Account. Selecione Controle de acesso (IAM) e, em seguida, selecione a guia Atribuições de função. Pesquise a entidade de serviço da Conta de Automação (é semelhante ao <identificador AutomationAccountName>_unique).Select Access control (IAM) and then select the Role assignments tab. Search for the service principal for your Automation Account (it looks like <AutomationAccountName>_unique identifier). Selecione a conta e clique em Remover para removê-lo da assinatura.Select the account and click Remove to remove it from the subscription.

Colaboradores de assinatura

Para adicionar a entidade de serviço a um grupo de recursos, selecione o grupo de recursos no Portal do Azure e selecione IAM (Controle de acesso) .To add the service principal to a resource group, select the resource group in the Azure portal and select Access control (IAM). Selecione Adicionar atribuição de função, isso abre a página Adicionar atribuição de função.Select Add role assignment, this opens the Add role assignment page. Para Função, selecione Colaborador.For Role, select Contributor. Na caixa de texto Selecionar digite o nome da entidade de serviço da conta Executar como e selecione-a na lista.In the Select text box type in the name of the service principal for your Run As account, and select it from the list. Clique em Salvar para salvar as alterações.Click Save to save the changes. Conclua essas etapas para os grupos de recursos aos quais você quer conceder acesso de entidade de serviço Executar Como da Automação do Azure.Complete these steps for the resources groups you want to give your Azure Automation Run As service principal access to.

Configuração incorretaMisconfiguration

Alguns itens de configuração necessários para que a conta Executar como ou Executar como Clássica funcione corretamente podem foram excluídos ou criados incorretamente durante a instalação inicial.Some configuration items necessary for the Run As or Classic Run As account to function properly might have been deleted or created improperly during initial setup. Os itens incluem:The items include:

  • Ativo de certificadoCertificate asset
  • Ativo de conexãoConnection asset
  • A Conta Executar como foi removida da função de ColaboradorRun As account has been removed from the contributor role
  • Entidade de serviço ou aplicativo no Azure ADService principal or application in Azure AD

Nos casos anteriores e em outras instâncias de uma configuração incorreta, a conta de Automação detecta as alterações e exibe o status Incompleto na página de propriedades Contas Executar como para a conta.In the preceding and other instances of misconfiguration, the Automation account detects the changes and displays a status of Incomplete on the Run As Accounts properties pane for the account.

Status incompleto de configuração de conta Executar como

Quando você selecionar a conta Executar como, o painel Propriedades da conta exibirá a seguinte mensagem de erro:When you select the Run As account, the account Properties pane displays the following error message:

The Run As account is incomplete. Either one of these was deleted or not created - Azure Active Directory Application, Service Principal, Role, Automation Certificate asset, Automation Connect asset - or the Thumbprint is not identical between Certificate and Connection. Please delete and then re-create the Run As Account.

Você pode resolver rapidamente esses problemas de conta Executar como excluindo e recriando a conta.You can quickly resolve these Run As account issues by deleting and re-creating the account.

Próximas etapasNext steps