Citrix DaaS™

Migrar cargas de trabalho entre locais de recursos usando o Image Portability Service

O Image Portability Service simplifica o gerenciamento de imagens entre plataformas. As APIs REST do Citrix Virtual Apps and Desktops™ podem ser usadas para automatizar a administração de recursos em um site do Citrix Virtual Apps and Desktops.

O fluxo de trabalho de portabilidade de imagem começa quando você usa o Citrix Cloud para iniciar a migração de uma imagem entre dois locais de recursos. Após exportar sua imagem, o Image Portability Service ajuda você a transferir e preparar a imagem para ser executada no hipervisor de destino ou na nuvem pública. Por fim, o Citrix Provisioning ou o Machine Creation Services™ provisiona a imagem no ambiente de destino.

Componentes

Os componentes do Image Portability Service incluem:

  • Serviços Citrix Cloud™
  • Citrix Credential Wallet
  • Citrix Connector™ Appliance
  • VM do Compositing Engine
  • Scripts de exemplo do PowerShell

Serviços Citrix Cloud

O Citrix Cloud Services API é um serviço de API REST que interage com o Image Portability Service. Usando o serviço de API REST, você pode criar e monitorar trabalhos de portabilidade de imagem. Por exemplo, você faz uma chamada de API para iniciar um trabalho de portabilidade de imagem, como exportar um disco, e então faz chamadas para obter o status do trabalho.

Citrix Credentials Wallet

O serviço Citrix Credentials Wallet gerencia credenciais de sistema com segurança, permitindo que o Image Portability Service interaja com seus ativos. Por exemplo, ao exportar um disco do vSphere para um compartilhamento SMB, o Image Portability Service requer credenciais para abrir uma conexão com o compartilhamento SMB para gravar o disco. Se as credenciais estiverem armazenadas na Credential Wallet, o Image Portability Service poderá recuperá-las e usá-las.

Este serviço oferece a capacidade de gerenciar totalmente suas credenciais. A Cloud Services API atua como um ponto de acesso, dando a você a capacidade de criar, atualizar e excluir credenciais.

Compositing Engine

O Compositing Engine é o motor principal do Image Portability Service. O Compositing Engine (CE) é uma única VM criada no início de um trabalho de exportação ou preparação do Image Portability. Essas VMs são criadas no mesmo ambiente onde o trabalho está ocorrendo. Por exemplo, ao exportar um disco do vSphere, o CE é criado no servidor vSphere. Da mesma forma, ao executar um trabalho de preparação no Azure, AWS ou Google Cloud, o CE é criado no Azure, AWS ou Google Cloud, respectivamente. O CE monta seu disco em si mesmo e, em seguida, faz as manipulações necessárias no disco. Após a conclusão do trabalho de preparação ou exportação, a VM do CE e todos os seus componentes são excluídos.

Connector Appliance

O Connector Appliance, executando software de provedor para gerenciar recursos IPS, é executado em seu ambiente (tanto no local quanto em sua assinatura do Azure, AWS ou Google Cloud) e atua como um controlador para trabalhos individuais. Ele recebe instruções de trabalho do serviço de nuvem e cria e gerencia as VMs do Compositing Engine. A VM do Connector Appliance atua como um ponto de comunicação único e seguro entre os serviços de nuvem e seus ambientes. Implante um ou mais Connector Appliances em cada um de seus locais de recursos (no local, Azure, AWS ou Google Cloud). Um Connector Appliance é implantado em cada local de recurso por segurança. Ao co-localizar o Connector Appliance e o Compositing Engine, a postura de segurança da implantação aumenta muito, pois todos os componentes e comunicações são mantidos dentro do seu local de recurso.

Módulos PowerShell

Fornecemos uma coleção de módulos PowerShell para uso em scripts como ponto de partida para desenvolver sua própria automação personalizada. Os módulos fornecidos são suportados como estão, mas você pode modificá-los se necessário para sua implantação.

A automação PowerShell usa parâmetros de configuração fornecidos para compor uma chamada REST para o serviço Citrix Cloud API para iniciar o trabalho e, em seguida, fornecer atualizações periódicas à medida que o trabalho avança.

Se você quiser desenvolver sua própria solução de automação, pode fazer chamadas diretamente para o serviço de nuvem usando sua linguagem de programação preferida. Consulte o portal da API para obter informações detalhadas sobre como configurar e usar os endpoints REST e módulos PowerShell do Image Portability Service.

Fluxos de trabalho

O Image Portability Service usa um fluxo de trabalho multifásico para preparar uma imagem de catálogo mestre de um local de recurso no local para sua assinatura de nuvem pública. O serviço exporta a imagem da plataforma de hipervisor no local e você a carrega para sua assinatura de nuvem pública (nossa utilidade de upload PowerShell fornecida pode ajudar a automatizar isso). Em seguida, o Image Portability prepara a imagem para ser compatível com sua plataforma de nuvem pública. Por fim, a imagem é publicada e pronta para ser implantada como um novo catálogo de máquinas dentro do seu local de recurso de nuvem.

Fluxo de trabalho de portabilidade de imagem

Esses fluxos de trabalho de alto nível são baseados na configuração de provisionamento de origem e destino da imagem (Machine Creation ou Citrix Provisioning™). O fluxo de trabalho escolhido determina quais etapas de trabalho do Image Portability são necessárias.

Consulte a tabela a seguir para entender quais trabalhos são necessários para cada um dos fluxos de trabalho IPS suportados.

Fluxo de trabalho (origem para destino) Exportar Carregar Preparar Publicar
MCS para MCS S S S N
PVS para MCS* N S S N
PVS para PVS N/A S S S
MCS para PVS S S S S

*Assume que você tem a imagem original como um vDisk do Citrix Provisioning e não precisa exportá-la diretamente do hipervisor da plataforma de origem.

Requisitos

Para começar a usar o Image Portability, você deve atender aos seguintes requisitos.

Uma imagem de catálogo de máquinas Citrix

O IPS requer o uso de imagens que tenham uma das seguintes configurações testadas:

  • Windows Server 2016, 2019 e 2022H2

  • Windows 10 ou 11

  • Provisionado usando Machine Creation Services ou Citrix Provisioning

  • Citrix Virtual Delivery Agent

  • Serviços de Área de Trabalho Remota habilitados para acesso ao console no Azure

O serviço de portabilidade de imagem suporta os seguintes hipervisores e plataformas de nuvem:

Plataformas de origem:

  • VMware vSphere 7.0 e 8.0

  • XenServer 8/Citrix Hypervisor 8.2

  • Nutanix AHV (somente Prism Element)

  • Microsoft Azure

  • Google Cloud Platform

Plataformas de destino:

  • VMware vSphere 8.0

  • XenServer 8/Citrix Hypervisor 8.2

  • Nutanix AHV (somente Prism Element)

  • Microsoft Azure

  • AWS

  • Google Cloud Platform

Um Citrix Connector Appliance

Você precisa de um Citrix Connector Appliance instalado e configurado em cada local de recurso onde planeja usar o Image Portability. Por exemplo, se você usar a portabilidade de imagem para mover uma imagem do vSphere para o Azure, AWS e Google Cloud, você precisará de pelo menos quatro Citrix Connector Appliances:

Consulte Implantar Connector Appliances para obter instruções detalhadas.

Um compartilhamento de arquivos SMB (Windows)

Você precisa de um compartilhamento de arquivos SMB do Windows para armazenar a saída dos trabalhos de exportação. O compartilhamento deve estar acessível à VM do Compositing Engine que será criada no local de recurso onde você está usando o Image Portability Service. Certifique-se de que o espaço livre disponível no compartilhamento seja pelo menos o dobro do tamanho configurado do sistema de arquivos da sua imagem.

Uma máquina para executar scripts PowerShell

Certifique-se de que sua máquina executando os scripts PowerShell tenha o seguinte:

  • PowerShell versão 5.1.

  • Uma conexão de rede rápida com o compartilhamento de arquivos SMB. Pode ser a mesma máquina que está hospedando o compartilhamento de arquivos.

  • Uma conexão de rede rápida com as plataformas de nuvem pública onde você planeja usar o recurso Image Portability. Por exemplo, Azure, AWS ou Google Cloud.

    Consulte a seção Preparar uma máquina para PowerShell para obter detalhes sobre como baixar e configurar os módulos Image Portability da PowerShell Gallery.

Seu ID de cliente do Citrix Cloud

Certifique-se de ter uma assinatura Citrix DaaS válida.

Para continuar, você precisa de acesso ao Citrix DaaS (anteriormente serviço Citrix Virtual Apps™ and Desktops). Se você não tiver acesso, entre em contato com seu representante Citrix.

Consulte a documentação API Getting Started para obter instruções sobre como criar e configurar um cliente API para usar com a portabilidade de imagem.

Permissões e configuração necessárias do Azure

Para que o Image Portability Service execute ações em seu recurso Azure, você precisa conceder permissões a certas capacidades do Azure ao service principal do Azure usado pelo Image Portability Service. Para a lista detalhada, consulte Permissões necessárias do Microsoft Azure.

Você pode atribuir a função de Colaborador ao service principal no recurso associado. Ou, para atribuir as permissões mínimas necessárias, você pode criar funções personalizadas com as permissões necessárias e atribuí-las ao service principal com escopo para os recursos apropriados.

Consulte a documentação do Azure para configurar funções de segurança para seu service principal do Azure e para criar funções personalizadas.

Permissões e configuração necessárias do Google Cloud

Para que o Image Portability Service execute ações em seu projeto Google Cloud, você concede permissões a certas capacidades ao service principal do Google Cloud usado pelo Image Portability Service.

Para a lista detalhada, consulte Permissões necessárias do Google Cloud.

Você pode atribuir essas permissões usando as seguintes funções:

  • Editor do Cloud Build
  • Administrador de Computação
  • Administrador de Armazenamento
  • Usuário da Conta de Serviço

Consulte a documentação do Google Cloud para obter mais informações sobre como configurar permissões de conta de serviço.

Permissões e configuração necessárias do Amazon Web Services

Para executar fluxos de trabalho do serviço de portabilidade de imagem com uma conta Amazon Web Services (AWS), a identidade de Gerenciamento de Identidade e Acesso (IAM) respectiva deve ter as permissões corretas.

Para a lista detalhada, consulte Permissões necessárias do AWS.

Configurar o Image Portability Service

Para configurar o Image Portability Service, você deve:

Implantar Connector Appliances

O Image Portability requer Citrix Connector Appliances para criar trabalhos de Image Portability. Os Connector Appliances ajudam a proteger as interações com seus ambientes no local e na nuvem pública. Os Connector Appliances se comunicam com o Image Portability Service para relatar o status do trabalho e a saúde geral do serviço.

Para implantar e configurar o Connector Appliance em seu ambiente, siga as etapas em Connector Appliance para Cloud Services.

Observe a configuração de hardware e o acesso à porta de rede necessários para o appliance ao planejar sua implantação.

Quando seu appliance é implantado e registrado, os componentes necessários para habilitar o Image Portability são instalados automaticamente.

Preparar uma máquina para PowerShell

Para ajudá-lo a começar a usar o Image Portability, criamos módulos PowerShell que você pode personalizar e usar com o serviço.

As seções a seguir descrevem como preparar uma máquina para executar os scripts PowerShell. Esses scripts são apenas alguns exemplos. Modifique-os ou aprimore-os para atender às suas necessidades.

Nota:

Após a instalação inicial, use Update-Module para atualizar o módulo PowerShell.

Requisitos do PowerShell

Para usar os scripts PowerShell, você precisa do seguinte:

  • Uma máquina Windows para executar os scripts PowerShell que impulsionam os trabalhos de portabilidade de imagem. A máquina:

    • Tem a versão mais recente do PowerShell.

    • Tem uma conexão de rede de 10 Gbs ou melhor com o compartilhamento de arquivos SMB no local e uma conexão rápida com sua nuvem pública (Azure, AWS ou Google Cloud, por exemplo).

    • Pode ser a mesma máquina que hospeda o compartilhamento de arquivos.

    • É uma máquina executando Windows 10, Windows Server 2019 ou Windows Server 2022, com os patches mais recentes da Microsoft.

    • Pode se conectar à Microsoft PowerShell Gallery para baixar as bibliotecas PowerShell necessárias.

Dependendo da sua versão do Windows, pode ser necessário desabilitar o suporte a TLS 1.0/1.1. Consulte a documentação de suporte a TLS da Microsoft PowerShell Gallery para obter mais informações.

Por padrão, o PowerShell não autentica automaticamente através de um servidor proxy. Certifique-se de ter configurado sua sessão PowerShell para usar seu servidor proxy, de acordo com a Microsoft e as melhores práticas do seu fornecedor de proxy.

Se você vir erros ao executar os scripts PowerShell relacionados a uma versão ausente ou antiga do PowerShellGet, você precisará instalar a versão mais recente da seguinte forma:

Install-Module -Name PowerShellGet -Force -Scope CurrentUser -AllowClobber
<!--NeedCopy-->

Instalar bibliotecas e módulos

O Image Portability Service utiliza bibliotecas da Microsoft PowerShell Gallery para impulsionar as operações de portabilidade.

Importante:

Após a instalação inicial, use Update-Module para instalar novas versões.

  1. Execute o seguinte comando PowerShell para baixar os módulos mais recentes:

    Install-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Scope CurrentUser
    <!--NeedCopy-->
    
    • Para alterar a variável de ambiente PATH:

      Pressione Y e Enter para aceitar.

    • Para instalar o provedor NuGet:

      Pressione Y e Enter para aceitar.

    • Se for informado sobre um repositório não confiável:

      Pressione A (Sim para todos) e Enter para continuar.

  2. Confirme se todos os módulos necessários foram baixados executando o comando:

    Get-InstalledModule -Name Citrix.*
    <!--NeedCopy-->
    

    Este comando retorna uma saída semelhante à seguinte:

    Nome Repositório Descrição
    Citrix.Image.Uploader PSGallery Comandos para carregar um VHD(x) para uma conta de armazenamento do Azure, AWS ou GCP e obter informações sobre um VHD(x)
    Citrix.Workloads.Portability PSGallery Cmdlet autônomo para o trabalho de imagem do Citrix Image Portability Service

Atualizar módulos para a versão mais recente

Execute o seguinte comando para atualizar o script para a versão mais recente.

Update-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Force
<!--NeedCopy-->

Instalar o SDK PowerShell Remoto do Citrix Virtual Apps and Desktops

O Image Portability Service requer o SDK PowerShell Remoto do Citrix Virtual Apps and Desktops para criar e gerenciar trabalhos de portabilidade no Citrix Cloud.

Baixe e instale o SDK PowerShell Remoto em sua máquina.

Instalar componentes de terceiros específicos da plataforma

O módulo PowerShell do Image Portability Service não instala dependências de terceiros. Assim, você pode limitar a instalação apenas às plataformas que você está visando. Se você estiver usando uma das seguintes plataformas, siga as instruções relevantes para a instalação das dependências da plataforma:

VMware

Se você estiver criando trabalhos de Image Portability que se comunicam com seu ambiente VMware, execute o seguinte comando para instalar os módulos PowerShell VMware necessários.

Install-Module -Name VMWare.PowerCLI -Scope CurrentUser -AllowClobber -Force -SkipPublisherCheck
<!--NeedCopy-->
Amazon Web Services

Se você estiver criando trabalhos de Image Portability no AWS, baixe e instale a Interface de Linha de Comando do AWS e, em seguida, execute estes comandos para instalar os módulos PowerShell AWS necessários:

Install-Module -Name AWS.Tools.Installer
Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3
<!--NeedCopy-->
Azure

Se você estiver criando trabalhos de Image Portability no Azure, baixe e instale os utilitários de linha de comando do Azure e, em seguida, execute estes comandos para instalar os módulos PowerShell do Azure necessários:

Install-Module -Name Az.Accounts -Scope CurrentUser -AllowClobber -Force
Install-Module -Name Az.Compute -Scope CurrentUser -AllowClobber -Force
<!--NeedCopy-->
Google Cloud

Se você estiver criando trabalhos de Image Portability no Google Cloud, baixe e instale o SDK do Google Cloud em sua máquina.

Desinstalar scripts e módulos

Execute os seguintes comandos para desinstalar os módulos usados pelo software Image Portability.

Nota:

Scripts e componentes de terceiros não são removidos automaticamente ao desinstalar módulos IPS.

Para desinstalar módulos:

Get-InstalledModule -Name "Citrix.Workloads.Portability","Citrix.Images.Uploader" | Uninstall-Module
<!--NeedCopy-->

Adicionar credenciais ao Credential Wallet

Para cenários de automação de ponta a ponta, você pode configurar o Image Portability Service para autenticar de forma não interativa com o Citrix Cloud, sua nuvem pública e recursos no local. Além disso, o Image Portability Service usa credenciais armazenadas no Citrix Credential Wallet sempre que nossas APIs são autenticadas diretamente com seus recursos no local e na nuvem pública. Definir credenciais conforme descrito nesta seção é uma etapa obrigatória para executar trabalhos de exportação, preparação e publicação.

Ao executar trabalhos, o Image Portability Service requer acesso a recursos que você pode controlar. Por exemplo, para que o Image Portability Service exporte um disco de um servidor vSphere para um compartilhamento SMB, o serviço precisa de acesso de login a ambos os sistemas. Para proteger essas informações de conta, o Image Portability Service usa o serviço Citrix Credential Wallet. Este serviço armazena suas credenciais na carteira com um nome definido pelo usuário. Quando você deseja executar um trabalho, forneça o nome da credencial a ser usada. Além disso, essas credenciais podem ser atualizadas ou excluídas da carteira a qualquer momento.

As credenciais são frequentemente armazenadas para estas plataformas:

  • Microsoft Azure
  • AWS
  • Google Cloud
  • Compartilhamento SMB
  • VMware vSphere
  • Nutanix AHV
  • XenServer®

Para gerenciar credenciais, consulte as APIs do Image Portability Service e a seção Gerenciamento de Credenciais do Portal da API do Desenvolvedor.

Usar o Image Portability Service

A preparação de imagens em seus locais de recursos no local para sua assinatura de nuvem pública requer a criação de trabalhos de Image Portability no Citrix Cloud. Você pode criar um trabalho para fazer chamadas diretas de API para o serviço em seu script ou programa, ou usando os módulos PowerShell de exemplo que desenvolvemos para automatizar chamadas de API. Consulte o Portal da API do Desenvolvedor do Image Portability Service para obter informações sobre como usar APIs REST e módulos PowerShell para criar trabalhos IPS.

Publicar catálogos de máquinas usando o Citrix Provisioning

O Image Portability Service (IPS) é usado com o Machine Creation Services (MCS) no Azure, AWS, Google Cloud, Nutanix, vSphere e XenServer, ou com o Citrix Provisioning (PVS) no Azure, Google Cloud, vSphere e XenServer. Você pode combinar as soluções PowerShell e REST descritas neste guia com as ferramentas da sua plataforma, as APIs da sua plataforma ou os SDKs do Citrix DaaS™ para criar um fluxo de trabalho de ponta a ponta contínuo e automatizado para criar um catálogo de máquinas baseado na imagem preparada. Dependendo da plataforma de nuvem escolhida, pode haver etapas intermediárias necessárias entre a conclusão de um trabalho de preparação do IPS e a criação de um catálogo ou a atribuição a um destino PVS.

AWS

No AWS, o IPS produz um volume EC2 EBS contendo a imagem preparada (o padrão) ou uma Amazon Machine Image (AMI) criada a partir da imagem preparada. Consulte o Portal da API do Desenvolvedor do Image Portability Service para obter informações sobre como criar uma AMI em vez do volume padrão.

Observe que o MCS requer uma AMI para a criação do catálogo. O IPS usa a importação de VM do AWS para criar a AMI e isso tem certos requisitos. Antes de usar o IPS para criar uma AMI, consulte o Guia do Usuário de Importação/Exportação de VM do AWS para os requisitos e certifique-se de que eles foram atendidos.

Azure

No Azure, o IPS produz discos gerenciados que são diretamente utilizáveis como imagens mestras do MCS. Para atribuir a imagem resultante a destinos PVS, o IPS fornece uma operação de “publicação” para copiar o disco gerenciado para um arquivo VHD(x) em seu armazenamento PVS.

Google Cloud

Os trabalhos de preparação do IPS no Google Cloud produzem um disco. O MCS requer um modelo de instância do Google Cloud. O processo para criar um modelo de instância do MCS a partir de um disco é abordado em detalhes em Preparar uma instância de VM mestre e um disco persistente.

Para destinos PVS no Google Cloud, o IPS fornece uma operação de “publicação” para copiar o disco para um arquivo VHD(x) em seu armazenamento PVS.

Automatizar a configuração do VDA

Ao preparar uma imagem gerenciada pelo Citrix que se originou no local, você pode reconfigurar o VDA dentro da imagem para suportar o ambiente de destino para o qual a imagem está sendo preparada. O Image Portability Service pode aplicar alterações de configuração do VDA em tempo real durante a fase de preparação do fluxo de trabalho. Os seguintes parâmetros de configuração definem como o VDA opera na imagem migrada: InstallMisa, XdReconfigure e InstallMcsio. Consulte os exemplos de PowerShell do Image Portability Service para definir esses parâmetros ao criar trabalhos IPS.

Configurações

  • Configurar InstallMisa como true permite que o Image Portability Service instale quaisquer componentes VDA ausentes que sejam necessários para provisionar a imagem usando o MCS.

  • Configurar InstallMisa como true ou InstallMcsio como true também requer a configuração de CloudProvisioningType como Mcs.

  • Defina InstallPvs para a versão do servidor PVS onde a imagem está sendo implantada. Quando InstallPvs é definido, o Image Portability Service (IPS) instala automaticamente a versão especificada do software do dispositivo de destino PVS na imagem durante os trabalhos de preparação. O IPS suporta as duas últimas compilações (versão base ou atualizações cumulativas) para as duas últimas versões de serviço de longo prazo (LTSR) e versões atuais (CR).

Para InstallMisa e InstallMcsio, observe o seguinte:

  • Esses recursos são suportados apenas para versões LTSR e CR recentes do VDA.

  • Se os componentes necessários já estiverem presentes para o VDA instalado, nenhuma alteração será feita, mesmo que os parâmetros estejam configurados.

  • Para versões suportadas do VDA, o Image Portability instala a versão apropriada dos componentes necessários, mesmo que os componentes VDA necessários não estejam presentes.

  • Para versões não suportadas do VDA, a reconfiguração falha e uma mensagem é registrada se os componentes VDA necessários não estiverem presentes. O trabalho de preparação é concluído mesmo que a reconfiguração do VDA não seja.

XdReconfigure requer um dos seguintes valores: controllers ou site_guid. Aqui estão exemplos de parâmetros de configuração usando cada valor:

Usando controllers:

XdReconfigure = @(
    [pscustomobject]@{
        ParameterName = 'controllers'
        ParameterValue = 'comma-separated-list-of-your-cloud-connectors-fqdns'
    }
)
<!--NeedCopy-->

onde o ParameterValue é a lista de FQDNs dos novos DDCs para os quais você deseja apontar o VDA. Vários DDCs podem ser especificados em um formato separado por vírgulas.

Usando site_guid:

XdReconfigure = @(
    [pscustomobject]@{
        ParameterName = 'site_guid'
        ParameterValue = 'active-directory-site-guid'
    }
)
<!--NeedCopy-->

XdReconfigure também aceita valores que são suportados ao executar o instalador de linha de comando do VDA com a opção de instalação /reconfigure, por exemplo, XenDesktopVdaSetup.exe /reconfigure. Alguns exemplos desses valores incluem wem_agent_port, wem_cached_data_sync_port, wem_cloud_connectors ou wem_server. Para uma lista completa de opções de linha de comando de reconfiguração do VDA, consulte a documentação do Citrix DaaS VDA.

Configurar InstallMcsio como true instala automaticamente o MCSIO na imagem. Para desabilitar a instalação automática do MCSIO na imagem, configure InstallMcsio como false.

Nota:

Você pode usar -DryRun ao executar seus comandos para validar sua configuração e as configurações de rede do seu conector appliance.

Referência

Esta seção detalha informações de referência técnica, com base em suas necessidades.

Permissões exigidas pelos Image Portability Services

Esta seção detalha as permissões exigidas pelo Image Portability Service em cada uma das plataformas no local e na nuvem suportadas.

Permissões necessárias do Connector Appliance

O Connector Appliance precisa de acesso às seguintes URLs para preparar imagens no Image Portability Service:

api-ap-s.cloud.com
api-eu.cloud.com
api-us.cloud.com
credentialwallet.citrixworkspaceapi.net
graph.microsoft.com
login.microsoftonline.com
management.azure.com
*.blob.storage.azure.net
ips-assets.layering.cloud.com
<!--NeedCopy-->

Permissões necessárias do VMware vCenter

As seguintes permissões do vCenter são necessárias para executar o trabalho de exportação de disco IPS em um ambiente VMware. Essas permissões podem ser encontradas em Funções na seção Controle de Acesso do painel de administração do vCenter.

-  Operações criptográficas
    -  Acesso Direto

-  Datastore
    -  Alocar espaço
    -  Navegar no datastore
    -  Operações de arquivo de baixo nível
    -  Remover arquivo

-  Pasta
    -  Criar pasta
    -  Excluir pasta

-  Rede
    -  Atribuir rede

-  Recurso
    -  Atribuir máquina virtual ao pool de recursos

-  Máquina virtual
    -  Alterar Configuração
        -  Adicionar disco existente
        -  Adicionar novo disco
        -  Remover disco

    -  Editar Inventário
        -  Criar a partir de existente
        -  Criar novo
        -  Remover

    -  Interação
        -  Desligar
        -  Ligar
<!--NeedCopy-->

Permissões necessárias do Microsoft Azure

O Image Portability exige que sua conta de serviço do Azure tenha as seguintes permissões.

Quando o grupo de recursos a ser usado para o Compositing Engine é especificado (ou seja, na propriedade resourceGroup em uma solicitação REST ou no parâmetro -AzureVmResourceGroup ao usar os comandos PowerShell do Citrix.Workloads.Portability), as seguintes permissões são necessárias no escopo do grupo de recursos.

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/endGetAccess/action
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/virtualMachines/delete
Microsoft.Compute/virtualMachines/powerOff/action
Microsoft.Compute/virtualMachines/read
Microsoft.Compute/virtualMachines/write
Microsoft.Network/networkInterfaces/delete
Microsoft.Network/networkInterfaces/join/action
Microsoft.Network/networkInterfaces/read
Microsoft.Network/networkInterfaces/write
Microsoft.Network/networkSecurityGroups/delete
Microsoft.Network/networkSecurityGroups/join/action
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/networkSecurityGroups/write
Microsoft.Resources/deployments/operationStatuses/read
Microsoft.Resources/deployments/read
Microsoft.Resources/deployments/write
Microsoft.Resources/subscriptions/resourcegroups/read
<!--NeedCopy-->

Quando o grupo de recursos a ser usado para o Compositing Engine é deixado sem especificação, as seguintes permissões são necessárias no escopo da assinatura.

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/endGetAccess/action
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/virtualMachines/powerOff/action
Microsoft.Compute/virtualMachines/read
Microsoft.Compute/virtualMachines/write
Microsoft.Network/networkInterfaces/join/action
Microsoft.Network/networkInterfaces/read
Microsoft.Network/networkInterfaces/write
Microsoft.Network/networkSecurityGroups/join/action
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/networkSecurityGroups/write
Microsoft.Resources/deployments/operationStatuses/read
Microsoft.Resources/deployments/read
Microsoft.Resources/deployments/write
Microsoft.Resources/subscriptions/resourceGroups/delete
Microsoft.Resources/subscriptions/resourceGroups/write
Microsoft.Authorization/roleAssignments/read
Microsoft.Authorization/roleDefinitions/read
<!--NeedCopy-->

As seguintes permissões são necessárias no escopo do grupo de recursos de destino especificado (ou seja, o grupo de recursos especificado na propriedade targetDiskResourceGroupName em uma solicitação REST ou no parâmetro -TargetResourceGroup ao usar o PowerShell).

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/snapshots/delete
Microsoft.Compute/snapshots/read
Microsoft.Compute/snapshots/write
<!--NeedCopy-->

As seguintes permissões são necessárias no escopo do grupo de recursos de rede virtual especificado (ou seja, o grupo de recursos especificado na propriedade virtualNetworkResourceGroupName em uma solicitação REST ou no parâmetro -AzureVirtualNetworkResourceGroupName ao usar o PowerShell).

Microsoft.Network/virtualNetworks/read
Microsoft.Network/virtualNetworks/subnets/join/action
<!--NeedCopy-->

Importante:

A opção ceVmSku para trabalhos de ‘preparar’ e ‘preparar e publicar’ controla o tipo de VM do Azure para o qual o disco gerenciado resultante é adequado. Você deve selecionar um ceVmSku com a mesma família e versão das VMs que pretende provisionar a partir da imagem de saída. O valor padrão de Standard_D2S_v3 é adequado para ser executado em todas as máquinas da família D v3. A especificação de SKUs de máquina que não incluem um disco temporário não é suportada.

Permissões necessárias do Google Cloud

O Image Portability exige que sua conta de serviço do Google Cloud tenha as seguintes permissões:

cloudbuild.builds.create
cloudbuild.builds.get
cloudbuild.builds.list
compute.disks.create
compute.disks.delete
compute.disks.get
compute.disks.list
compute.disks.setLabels
compute.disks.use
compute.disks.useReadOnly
compute.globalOperations.get
compute.images.create
compute.images.delete
compute.images.get
compute.images.list
compute.images.setLabels
compute.images.useReadOnly
compute.instances.create
compute.instances.delete
compute.instances.get
compute.instances.setLabels
compute.instances.setMetadata
compute.instances.setServiceAccount
compute.instances.setTags
compute.instances.stop
compute.instances.updateDisplayDevice
compute.networks.get
compute.networks.list
compute.subnetworks.use
compute.zoneOperations.get
compute.zones.get
compute.zones.list
iam.serviceAccounts.actAs
iam.serviceAccounts.get
iam.serviceAccounts.list
resourcemanager.projects.get
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
<!--NeedCopy-->

Permissões necessárias do AWS

O Image Portability exige que você anexe um documento de política JSON com a seguinte configuração ao usuário do Identity and Access Management (IAM):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ebs:CompleteSnapshot",
                "ebs:PutSnapshotBlock",
                "ebs:StartSnapshot",
                "ec2:CreateImage",
                "ec2:CreateSnapshot",
                "ec2:CreateTags",
                "ec2:DeleteImage",
                "ec2:DeleteSnapshot",
                "ec2:DeleteVolume",
                "ec2:DeregisterImage",
                "ec2:DescribeImages",
                "ec2:DescribeImportImageTasks",
                "ec2:DescribeInstances",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:ImportImage",
                "ec2:RebootInstances",
                "ec2:RegisterImage",
                "ec2:RunInstances",
                "ec2:TerminateInstances",
                "iam:GetRole"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Nota:

Você pode querer reduzir ainda mais o escopo do Recurso conforme necessário.

Permissões necessárias do Nutanix AHV

O Image Portability exige que você seja um Administrador de Cluster em sua configuração Nutanix AHV.

Permissões necessárias do XenServer

O Image Portability exige que você tenha, no mínimo, a função de ‘Administrador de VM’ para o pool em que o host XenServer está.

Rede

O Image Portability Service (IPS) cria uma VM de trabalho chamada compositing engine (CE) para realizar operações de imagem. Todos os connector appliances no local de recurso associado devem ser capazes de se comunicar via HTTPS com o CE. Toda a comunicação entre um connector appliance (CA) e o CE é iniciada pelo CA, exceto por uma única exceção no caso do vSphere, onde há comunicação HTTPS bidirecional entre o CE e o CA.

Em ambientes de nuvem (Azure, AWS, Google Cloud), o CE é criado com um endereço IP privado. Assim, o CE deve estar na mesma rede virtual que o CA ou em uma rede virtual acessível a partir do CA.

Além disso, para trabalhos que envolvem arquivos em um compartilhamento SMB (por exemplo, trabalhos de exportação), o CE deve estar em uma rede com conectividade com o compartilhamento SMB.

Consulte a documentação da API do Image Portability Service para obter detalhes sobre como especificar a rede a ser usada para o CE em cada plataforma suportada.

Para trabalhos de ‘preparação’, o sistema operacional contido na imagem é inicializado (no CE) para fazer especialização e outras tarefas. Se a imagem contiver agentes de gerenciamento ou segurança que se comunicam com um servidor de controle, esses processos podem interferir no processo de preparação.

Se a opção de desassociação de domínio for especificada, a conectividade de rede pode afetar os resultados. Se a VM do compositing engine puder alcançar o controlador de domínio do Active Directory pela rede, a desassociação removerá a conta do computador do domínio. Isso quebra a associação de domínio para a VM de origem da qual a imagem foi extraída.

Portanto, recomendamos isolar a rede fornecida para a operação de outros recursos de rede. Isso pode ser feito por isolamento de sub-rede ou com regras de firewall. Consulte Isolamento de rede para obter detalhes.

Em alguns ambientes de hipervisor no local, o hipervisor pode ser configurado com um certificado de servidor TLS, que não é confiável pelo conjunto de autoridades de certificação raiz confiáveis do CA, ou não corresponde ao nome do host do servidor. Para tais situações, o IPS fornece propriedades de solicitação de trabalho que podem ser usadas para contornar o problema. Consulte Certificados TLS para obter detalhes.

Proxies de rede

Se o tráfego de rede entre o CA e a internet atravessar um proxy que realiza inspeção TLS, pode ser necessário adicionar a Autoridade de Certificação Raiz do proxy (ou seja, o certificado que o proxy usa para assinar os certificados TLS que ele gera) ao conjunto de autoridades de certificação raiz do CA. Consulte Registrar seu Connector Appliance com o Citrix Cloud para obter mais informações.

Isolamento de rede
  • Azure

    No Azure, o CE é por padrão criado com um grupo de segurança de rede (NSG) anexado à sua NIC se o service principal do Azure usado na operação tiver as permissões necessárias do Azure 1.

    • Microsoft.Network/networkSecurityGroups/join/action
    • Microsoft.Network/networkSecurityGroups/read
    • Microsoft.Network/networkSecurityGroups/write

      Caso contrário, as seguintes permissões no escopo da assinatura se nenhum grupo de recursos explícito estiver sendo usado:

      • Microsoft.Network/networkSecurityGroups/delete
      • Microsoft.Network/networkSecurityGroups/join/action
      • Microsoft.Network/networkSecurityGroups/read
      • Microsoft.Network/networkSecurityGroups/write

    Este NSG é configurado para bloquear todo o tráfego de entrada/saída do CE, exceto para:

    • SMB (porta 445) de saída
    • HTTPS (porta 443) de entrada
    • o que é necessário para serviços internos do Azure

    O uso do NSG pode ser forçado definindo a propriedade networkIsolation na solicitação de trabalho como true. Neste caso, o trabalho falha se o service principal usado na operação não tiver as permissões necessárias. O uso do NSG pode ser desabilitado definindo a propriedade networkIsolation como false.

  • AWS

No AWS, para obter o isolamento de rede do CE, você pode criar um ou mais grupos de segurança de rede que bloqueiam todo o tráfego indesejado e, em seguida, na solicitação de trabalho, atribuir os grupos de segurança à instância do CE usando o parâmetro de solicitação securityGroupIds, que aceita uma lista de IDs de grupo de segurança como valor.

  • Google Cloud

No Google Cloud, para obter o isolamento de rede do CE, você pode criar regras de firewall que bloqueiam todo o tráfego indesejado e, em seguida, aplicar essas regras ao CE por meio de tags de rede. O IPS cria o CE com a tag de rede compositing-engine e você pode atribuir outras tags de rede a ele usando o parâmetro de solicitação de trabalho networkTags, que aceita uma lista de tags como valor.

Certificados TLS

Se o certificado do servidor do hipervisor for assinado por uma autoridade não confiável pelo CA, duas abordagens alternativas podem ser usadas para resolver o problema.

  1. Especifique na solicitação de trabalho um certificado de Autoridade de Certificação Raiz adicional para usar na verificação do certificado. Este certificado deve ser a Autoridade de Certificação Raiz usada para assinar o certificado do servidor do hipervisor.
  2. Especifique na solicitação de trabalho a impressão digital SHA-1 do certificado do servidor do hipervisor. Neste caso, a validação do certificado é feita verificando se a impressão digital SHA-1 do certificado retornado pelo hipervisor corresponde à fornecida na solicitação de trabalho. Este método pode não funcionar se houver um proxy de interceptação TLS entre o CE e o hipervisor.

Os parâmetros de solicitação de trabalho para o acima, dados respectivamente abaixo para cada plataforma, são:

  • vSphere
    1. vCenterSslCaCertificate
    2. vCenterSslFingerprint
  • Nutanix
    1. prismSslCaCertificate
    2. prismSslFingerprint
  • XenServer
    1. xenSslCaCertificate
    2. xenSslFingerprint

Consulte a documentação da API do Image Portability Service para obter mais detalhes.

Erros de validação de certificado também podem ocorrer quando há uma incompatibilidade entre o nome do host do servidor do hipervisor e o nome do host em seu certificado. Neste caso, a correspondência de nome do host pode ser desabilitada definindo o seguinte parâmetro como true na solicitação de trabalho:

  • vSphere
    • vCenterSslNoCheckHostname
  • Nutanix
    • prismSslNoCheckHostname
  • XenServer
    • xenSslNoCheckHostname

Documentação relacionada

  1. Se um grupo de recursos explícito estiver sendo usado para a operação, as seguintes permissões no escopo do grupo de recursos: 

Migrar cargas de trabalho entre locais de recursos usando o Image Portability Service