Citrix Virtual Apps and Desktops

Conexão com o Microsoft Azure

Nota:

Desde julho de 2023, a Microsoft renomeou o Azure Active Directory (Azure AD) para Microsoft Entra ID. Neste documento, qualquer referência ao Azure Active Directory, Azure AD ou AAD agora se refere ao Microsoft Entra ID.

Criar e gerenciar conexões e recursos descreve os assistentes que criam uma conexão. As informações a seguir abrangem detalhes específicos dos ambientes de nuvem do Azure Resource Manager.

Nota:

Antes de criar uma conexão com o Microsoft Azure, você precisa concluir a configuração da sua conta do Azure como um local de recursos. Consulte Ambientes de nuvem do Microsoft Azure Resource Manager.

Criar entidades de serviço e conexões

Antes de criar conexões, você deve configurar as entidades de serviço que as conexões usam para acessar os recursos do Azure. Você pode criar uma conexão de duas maneiras:

  • Criar uma entidade de serviço e uma conexão juntas usando o Web Studio
  • Criar uma conexão usando uma entidade de serviço criada anteriormente

Esta seção mostra como realizar essas tarefas:

Considerações

  • A Citrix recomenda usar o Service Principal com a função de colaborador. No entanto, consulte a seção Minimum permissions para obter a lista de permissões mínimas.
  • Ao criar a primeira conexão, o Azure solicita que você conceda as permissões necessárias. Em conexões futuras, ainda será necessário que você se autentique, mas o Azure se lembra do seu consentimento anterior e não exibe o prompt novamente.
  • As contas usadas para autenticação devem ser coadministradores da assinatura.
  • A conta usada para autenticação deve ser um membro do diretório da assinatura. É preciso distinguir dois tipos de conta: ‘Trabalho ou escola’ e ‘conta pessoal da Microsoft’. Veja CTX219211 para obter mais detalhes
  • Embora você possa usar uma conta Microsoft existente adicionando-a como membro do diretório da assinatura, pode haver complicações se o usuário tiver recebido anteriormente acesso de convidado a um dos recursos do diretório. Nesse caso, eles podem ter uma entrada de espaço reservado no diretório que não lhes concede as permissões necessárias e é retornado um erro.

    Retifique isso removendo os recursos do diretório e adicione-os de volta explicitamente. No entanto, use essa opção com cuidado, pois ela tem efeitos não intencionais em outros recursos que a conta pode acessar.

  • Há um problema conhecido em que determinadas contas são detectadas como convidados do diretório quando na verdade são membros. Configurações como essa geralmente ocorrem com contas de diretório estabelecidas mais antigas. Solução alternativa: adicione uma conta ao diretório, que recebe o valor de associação adequado.
  • Os grupos de recursos são simplesmente contêineres de recursos e podem conter recursos de regiões diferentes da sua própria região. Isso pode ser confuso se você espera que os recursos exibidos na região de um grupo de recursos estejam disponíveis.
  • Sua rede e sub-rede devem ser grandes o suficiente para hospedar o número de máquinas necessárias. Isso requer alguma previsão, mas a Microsoft ajuda você a especificar os valores corretos, com orientações sobre a capacidade do espaço de endereço.

Criar uma entidade de serviço e uma conexão usando o Web Studio

Importante:

Esse recurso ainda não está disponível para assinaturas do Azure China.

No Web Studio, você pode criar uma entidade de serviço e uma conexão em um único fluxo de trabalho. As entidades de serviço dão às conexões o acesso aos recursos do Azure. Quando você se autentica no Azure para criar uma entidade de serviço, um aplicativo é registrado no Azure. Uma chave secreta (chamada segredo do cliente ou segredo do aplicativo) é criada para o aplicativo registrado. O aplicativo registrado (nesse caso, uma conexão) usa o segredo do cliente para se autenticar no Azure AD.

Antes de começar, verifique se você atende aos seguintes pré-requisitos:

  • Você tem uma conta de usuário no locatário do Azure Active Directory da sua assinatura.
  • A conta de usuário do Azure AD também é coadministradora da assinatura do Azure que você deseja usar para provisionar recursos.
  • Você tem permissões de administrador global, administrador de aplicativo ou desenvolvedor de aplicativos para autenticação. Essas permissões podem ser revogadas após a criação da conexão com o host. Para obter mais informações sobre funções, consulte Funções internas do Azure AD.

Use o assistente Add Connection and Resources. para criar uma entidade de serviço e uma conexão juntas:

  1. Na página Connection, selecione Create a new connection, o tipo de conexão Microsoft Azure e seu ambiente do Azure.

  2. Selecione quais ferramentas usar para criar as máquinas virtuais e, em seguida, selecione Next.

  3. Na página Connection Details, insira seu ID de assinatura do Azure e um nome para a conexão. Depois de inserir o ID da assinatura, o botão Create new será ativado.

    Nota:

    O nome da conexão pode conter de 1 a 64 caracteres e não pode conter apenas espaços em branco nem os caracteres \/;:#.*?=<>|[]{}"'()'.

  4. Selecione Create new e insira o nome de usuário e a senha da conta do Azure Active Directory.

  5. Selecione Sign in.

  6. Selecione Accept para conceder ao Citrix Virtual Apps and Desktops as permissões listadas. O Citrix Virtual Apps and Desktops cria uma entidade de serviço que permite gerenciar recursos do Azure em nome do usuário especificado.

  7. Depois de selecionar Accept, você retorna à página Connection no assistente.

    Nota:

    Depois de autenticar com êxito no Azure, os botões Create new e Use existing desaparecem. O texto Connection successful aparece, com uma marca de seleção verde, indicando a conexão bem-sucedida com sua assinatura do Azure.

  8. Na página Connection Details, selecione Next.

    Nota:

    Você não pode prosseguir para a próxima página até que você se autentique com êxito no Azure e faça a concessão das permissões necessárias.

  9. Configure recursos para a conexão. Os recursos compreendem a região e a rede.

    • Na página Region, selecione uma região.
    • Na página Network, faça o seguinte:
      • Digite um nome de recurso de 1 a 64 caracteres para ajudar a identificar a combinação de região e rede. Um nome de recurso não pode conter apenas espaços em branco nem os caracteres \/;:#.*?=<>|[]{}"'()'.
      • Selecione um par de rede virtual/grupo de recursos. (Se você tiver mais de uma rede virtual com o mesmo nome, o emparelhamento do nome da rede com o grupo de recursos fornecerá combinações exclusivas.) Se a região selecionada na página anterior não tiver nenhuma rede virtual, retorne a essa página e selecione uma região que tenha redes virtuais.
  10. Na página Summary, exiba um resumo das configurações e selecione Finish para concluir a configuração.

Exibir o ID do aplicativo

Depois de criar uma conexão, você pode ver o ID do aplicativo que a conexão usa para acessar os recursos do Azure.

Na lista Add Connection and Resources, selecione a conexão para exibir os detalhes. A guia Details mostra a ID do aplicativo.

Criar uma entidade de serviço usando o PowerShell

Para criar uma entidade de serviço usando o PowerShell, conecte-se à sua assinatura do Azure Resource Manager e use os cmdlets do PowerShell fornecidos nas seções a seguir.

Verifique se você tem esses itens prontos:

  • SubscriptionId: SubscriptionID do Azure Resource Manager para a assinatura onde você deseja provisionar VDAs.
  • ActiveDirectoryID: ID do locatário do aplicativo que você registrou no Azure AD.
  • ApplicationName: Nome do aplicativo a ser criado no Azure AD.

As etapas detalhadas são as seguintes:

Conecte-se à sua assinatura do Azure Resource Manager.

`Connect-AzAccount`
  1. Selecione a assinatura do Azure Resource Manager na qual você deseja criar a entidade de serviço.

    Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription

  2. Crie o aplicativo em seu locatário do AD.

    $AzureADApplication = New-AzADApplication -DisplayName $ApplicationName

  3. Crie uma entidade de serviço.

    New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId

  4. Atribua uma função à entidade de serviço.

    New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId

  5. Na janela de saída do console do PowerShell, observe o ApplicationId. Você fornece esse ID ao criar a conexão do host.

Obter o segredo do aplicativo no Azure

Para criar uma conexão usando uma entidade de serviço existente, primeiro você deve obter o ID do aplicativo e o segredo da entidade de serviço no portal do Azure.

As etapas detalhadas são as seguintes:

  1. Obtenha o ID do aplicativo no Web Studio ou usando o PowerShell.
  2. Faça login no portal do Azure.
  3. No Azure, selecione Azure Active Directory.
  4. Em App registrations no Azure AD, selecione o seu aplicativo.
  5. Acesse Certificates & secrets.
  6. Clique em Client secrets.

Criar uma conexão usando uma entidade de serviço existente

Se você já tem uma entidade de serviço, pode usá-la para criar uma conexão usando o Web Studio.

Verifique se você tem esses itens prontos:

  • SubscriptionId
  • ActiveDirectoryID (ID do locatário)
  • ID do aplicativo
  • Segredo do aplicativo

    Para obter mais informações, consulte Obter o segredo do aplicativo.

  • Data de expiração do segredo

As etapas detalhadas são as seguintes:

No assistente Add Connection and Resources:

  1. Na página Connection, selecione Create a new connection, o tipo de conexão Microsoft Azure e seu ambiente do Azure.

  2. Selecione quais ferramentas usar para criar as máquinas virtuais e, em seguida, selecione Next.

  3. Na página Connection Details, insira seu ID de assinatura do Azure e um nome para a conexão.

    Nota:

    O nome da conexão pode conter de 1 a 64 caracteres e não pode conter apenas espaços em branco nem os caracteres \/;:#.*?=<>|[]{}"'()'.

  4. Selecione Use existing. Na janela Existing Service Principal Details, insira as seguintes configurações para a entidade de serviço existente. Depois de inserir os detalhes, o botão Save é ativado. Selecione Save. Você não pode progredir além desta página até fornecer detalhes válidos.

    • Subscription ID. Insira seu ID de assinatura do Azure. Para obter sua ID de assinatura, entre no portal do Azure e navegue até Subscriptions > Overview.
    • ID do Active Directory (ID do locatário). Insira a ID do Diretório (locatário) do aplicativo que você registrou no Azure AD.
    • Application ID. Insira a ID do aplicativo (cliente) do aplicativo que você registrou no Azure AD.
    • Application secret. Crie uma chave secreta (segredo do cliente). O aplicativo registrado usa a chave para autenticar no Azure AD. Recomendamos que você altere as chaves regularmente por motivos de segurança. Lembre-se de salvar a chave porque você não poderá recuperá-la mais tarde.
    • Secret expiration date. Insira a data após a qual o segredo do aplicativo expira. Você recebe um alerta no console antes que a chave secreta expire. No entanto, se a chave secreta expirar, você receberá erros.

      Nota:

      Por motivos de segurança, o período de expiração não pode ser superior a dois anos a partir de agora.

    • Authentication URL. Esse campo é preenchido automaticamente e não é editável.
    • Management URL. Esse campo é preenchido automaticamente e não é editável.
    • Storage suffix. Esse campo é preenchido automaticamente e não é editável.

      O acesso aos seguintes pontos de extremidade é necessário para criar um catálogo MCS no Azure. O acesso a esses pontos de extremidade otimiza a conectividade entre sua rede e o portal do Azure e seus serviços.

  5. Depois de selecionar Save, você retornará à página Connection Details. Selecione Next para continuar na próxima página.

  6. Configure recursos para a conexão. Os recursos compreendem a região e a rede.

    • Na página Region, selecione uma região.
    • Na página Network, faça o seguinte:
      • Digite um nome de recurso de 1 a 64 caracteres para ajudar a identificar a combinação de região e rede. Um nome de recurso não pode conter apenas espaços em branco nem os caracteres \/;:#.*?=<>|[]{}"'()'.
      • Selecione um par de rede virtual/grupo de recursos. (Se você tiver mais de uma rede virtual com o mesmo nome, o emparelhamento do nome da rede com o grupo de recursos fornecerá combinações exclusivas.) Se a região selecionada na página anterior não tiver nenhuma rede virtual, retorne a essa página e selecione uma região que tenha redes virtuais.
  7. Na página Summary, exiba um resumo das configurações e selecione Finish para concluir a configuração.

Gerenciar entidades de serviço e conexões

Esta seção detalha como você pode gerenciar as entidades de serviço e conexões:

Definir as configurações de limitação do Azure

O Azure Resource Manager controla as solicitações de assinaturas e locatários, roteando o tráfego com base em limites definidos, adaptados às necessidades específicas do provedor. Consulte Throttling Resource Manager requests no site da Microsoft para obter mais informações. Existem limites para assinaturas e locatários, onde o gerenciamento de muitas máquinas pode se tornar problemático. Por exemplo, uma assinatura com muitas máquinas pode ter problemas de desempenho relacionados a operações de energia.

Dica:

Para obter mais informações, consulte Improving Azure performance with Machine Creation Services.

Para ajudar a mitigar esses problemas, você pode remover a limitação interna do MCS para usar mais da cota de solicitação disponível do Azure.

Recomendamos as seguintes configurações ideais ao ativar ou desativar VMs em assinaturas grandes, por exemplo, aquelas que contêm 1.000 VMs:

  • Operações simultâneas absolutas: 500
  • Máximo de novas operações por minuto: 2000
  • Simultaneidade máxima de operações: 500

Use o Web Studio para configurar as operações do Azure para uma determinada conexão do Azure:

  1. No Web Studio, selecione Hosting no painel esquerdo.
  2. Selecione a conexão.
  3. No assistente Editar conexão, selecione Avançado.
  4. Na página Advanced, use as opções de configuração para especificar o número de ações simultâneas e o máximo de novas ações por minuto e quaisquer opções de conexão adicionais.

Limitação do Azure

Por padrão, o MCS oferece suporte a 500 operações simultâneas no máximo. Como alternativa, você pode usar o SDK remoto do PowerShell para definir o número máximo de operações simultâneas.

Use a propriedade PowerShell, MaximumConcurrentProvisioningOperations, para especificar o número máximo de operações simultâneas de provisionamento do Azure. Ao usar essa propriedade, leve em consideração:

  • O valor padrão de MaximumConcurrentProvisioningOperations é 500.
  • Configure o parâmetro MaximumConcurrentProvisioningOperations por meio do comando do PowerShell Set-item.

Habilitar o compartilhamento de imagens no Azure

Ao criar ou atualizar catálogos de máquinas, você pode selecionar imagens compartilhadas de diferentes locatários do Azure e assinaturas (compartilhadas através da Galeria de Computação do Azure). Para habilitar o compartilhamento de imagens dentro ou entre locatários, você deve aplicar as configurações necessárias no Azure:

Compartilhar imagens com um locatário (entre assinaturas)

Para selecionar uma imagem na Galeria de Computação do Azure que pertença a uma assinatura diferente, a imagem deve ser compartilhada com a entidade de serviço (SPN) dessa assinatura.

Por exemplo, se houver uma entidade de serviço (SPN 1) configurada no Studio como:

Entidade de serviço: SPN 1

Assinatura: subscription 1

Locatário: tenant 1

A imagem está em uma assinatura diferente, configurada no Studio como:

Assinatura: subscription 2

Locatário: tenant 1

Se você quiser compartilhar a imagem em subscription 2 com subscription 1 (SPN 1), vá para subscription 2 e compartilhe o grupo de recursos com SPN1.

A imagem deve ser compartilhada com outro SPN usando o controle de acesso baseado em função (RBAC) do Azure. O Azure RBAC é o sistema de autorização usado para gerenciar o acesso aos recursos do Azure. Para obter mais informações sobre o Azure RBAC, consulte o documento da Microsoft O que é o RBAC do Azure (controle de acesso baseado em função do Azure)?. Para conceder acesso, você atribui funções às entidades de serviço no escopo do grupo de recursos com a função de Colaborador. Para atribuir funções do Azure, você deve ter permissão Microsoft.Authorization/roleAssignments/write, como Administrador de Acesso do Usuário ou Proprietário. Para obter mais informações sobre como compartilhar imagens com outro SPN, consulte o documento da Microsoft Atribuir funções do Azure usando o portal do Azure.

Para obter informações sobre como selecionar uma imagem de uma assinatura diferente, consulte Selecionar uma imagem de uma assinatura diferente.

Compartilhar imagens entre locatários

Para compartilhar imagens entre locatários com a Galeria de Computação do Azure, crie um registro de aplicativo.

Por exemplo, se houver dois locatários (locatário 1 e locatário 2) e você quiser compartilhar sua galeria de imagens com Tenant 1:

  1. Crie um registro de aplicativo para Tenant 1. Para obter mais informações, consulte Criar o registro do aplicativo.

  2. Dê ao Tenant 2 acesso ao aplicativo solicitando um login usando um navegador. Substitua Tenant2 ID pelo ID do locatário Tenant 1. Substitua Application (client) ID pelo ID do aplicativo do registro de aplicativo que você criou. Quando terminar de fazer as substituições, cole a URL em um navegador e siga as instruções de login para entrar no Tenant 2. Por exemplo:

    https://login.microsoftonline.com/<Tenant 2 ID>/oauth2/authorize?client_id=<Application (client) ID>&response_type=code&redirect_uri=https%3A%2F%2Fwww.microsoft.com%2F
    <!--NeedCopy-->
    

    Para obter mais informações, consulte Dar acesso ao locatário 2.

  3. Dê ao aplicativo acesso ao grupo de recursos em Tenant 2. Faça login como Tenant 2 e dê ao registro do aplicativo acesso ao grupo de recursos que tem a imagem da galeria. Para obter mais informações, consulte Autenticar solicitações entre locatários.

Para criar um catálogo usando uma imagem de um locatário diferente usando os comandos do PowerShell:

  1. Atualize as propriedades personalizadas da conexão de hospedagem com IDs de locatários compartilhados.
  2. Selecione uma imagem de um locatário diferente.

Adicionar locatários compartilhados a uma conexão usando Full Configuration

Ao criar ou atualizar catálogos de máquinas no Web Studio, você pode selecionar imagens compartilhadas de diferentes locatários do Azure e assinaturas (compartilhadas através da Galeria de Computação do Azure). O recurso exige que você forneça informações compartilhadas de locatário e assinatura para as conexões de host associadas.

Nota:

Verifique se você definiu as configurações necessárias no Azure para permitir o compartilhamento de imagens entre locatários. Para obter mais informações, consulte Compartilhar imagens entre locatários.

Siga estas etapas para a conexão:

  1. No Web Studio, selecione Hosting no painel esquerdo.
  2. Selecione a conexão e selecione Edit Connection na barra de ações.

    Locatários compartilhados

  3. Em Shared Tenants, faça o seguinte:

    • Forneça o ID do aplicativo e o segredo do aplicativo associado à assinatura da conexão. O Citrix Virtual Apps and Desktops usa essas informações para se autenticar no Azure AD.
    • Adicione locatários e assinaturas que compartilham a Galeria de Computação do Azure com a assinatura da conexão. Você pode adicionar até 8 locatários compartilhados e 8 assinaturas para cada locatário.
  4. Quando terminar, selecione Apply para aplicar as alterações feitas e manter a janela aberta, ou selecione OK para aplicar as alterações e fechar a janela.

Implementar o compartilhamento de imagens usando o PowerShell

Esta seção orienta você nos processos de compartilhamento de imagens usando o PowerShell:

Selecionar uma imagem de uma assinatura diferente

Você pode selecionar uma imagem na Galeria de Computação do Azure que pertença a uma assinatura compartilhada diferente no mesmo locatário do Azure para criar e atualizar catálogos MCS usando comandos do PowerShell.

  1. Na pasta raiz da unidade de hospedagem, a Citrix cria uma nova pasta de assinatura compartilhada chamada sharedsubscription.
  2. Liste todas as assinaturas compartilhadas em um locatário.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\sharedsubscription.folder"
    <!--NeedCopy-->
    
  3. Selecione uma assinatura compartilhada e, em seguida, liste todos os grupos de recursos compartilhados da assinatura compartilhada.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription"
    <!--NeedCopy-->
    
  4. Selecione um grupo de recursos e liste todas as galerias do grupo de recursos.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup"
    <!--NeedCopy-->
    
  5. Selecione uma galeria e liste todas as definições de imagem da galeria.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\testgallery.gallery"
    <!--NeedCopy-->
    
  6. Selecione uma definição de imagem e liste todas as versões da definição de imagem.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\sigtestdef.imagedefinition"
    <!--NeedCopy-->
    
  7. Crie e atualize um catálogo MCS usando os seguintes elementos:

    • Resource group
    • Gallery
    • Gallery image definition
    • Gallery image version

    Para obter informações sobre como criar um catálogo usando o Remote PowerShell SDK, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

Atualizar propriedades personalizadas da conexão de hospedagem com IDs de locatários compartilhados

Use Set-Item para atualizar as propriedades personalizadas da conexão de hospedagem com IDs de locatário e IDs de assinatura compartilhados. Adicione uma propriedade SharedTenants em CustomProperties. O formato de Shared Tenants é:

[{"Tenant":"94367291-119e-457c-bc10-25337231f7bd","Subscriptions":["7bb42f40-8d7f-4230-a920-be2781f6d5d9"]},{"Tenant":"50e83564-c4e5-4209-b43d-815c45659564","Subscriptions":["06ab8944-6a88-47ee-a975-43dd491a37d0"]}]
<!--NeedCopy-->

Por exemplo:

Set-Item -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
<Property xsi:type=`"StringProperty`" Name=`"SubscriptionId`" Value=`"123`" />
<Property xsi:type=`"StringProperty`" Name=`"ManagementEndpoint`" Value=`"https://management.azure.com/`" />
<Property xsi:type=`"StringProperty`" Name=`"AuthenticationAuthority`" Value=`"https://login.microsoftonline.com/`" />
<Property xsi:type=`"StringProperty`" Name=`"StorageSuffix`" Value=`"core.windows.net`" />
<Property xsi:type=`"StringProperty`" Name=`"TenantId`" Value=`"123abc`" />
<Property xsi:type=`"StringProperty`" Name=`"SharedTenants`" Value=`"`[ { 'Tenant':'123abc', 'Subscriptions':['345', '567'] } ]`"` />
</CustomProperties>"
-LiteralPath @("XDHyp:\Connections\aazure") -PassThru -UserName "advc345" -SecurePassword
$psd
<!--NeedCopy-->

Nota:

Você pode adicionar mais de um locatário. Cada locatário pode ter mais de uma assinatura.

Selecionar uma imagem de um locatário diferente

Você pode selecionar uma imagem na Galeria de Computação do Azure que pertença a um locatário do Azure diferente para criar e atualizar catálogos MCS usando comandos do PowerShell.

  1. Na pasta raiz da unidade de hospedagem, a Citrix cria uma nova pasta de assinatura compartilhada chamada sharedsubscription.
  2. Liste todas as assinaturas compartilhadas.

    Get-ChildItem XDHyp:\HostingUnits\azres\sharedsubscription.folder
    <!--NeedCopy-->
    
  3. Selecione uma assinatura compartilhada e, em seguida, liste todos os grupos de recursos compartilhados da assinatura compartilhada.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription
    <!--NeedCopy-->
    
  4. Selecione um grupo de recursos e liste todas as galerias do grupo de recursos.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup
    <!--NeedCopy-->
    
  5. Selecione uma galeria e liste todas as definições de imagem da galeria.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery
    <!--NeedCopy-->
    
  6. Selecione uma definição de imagem e liste todas as versões da definição de imagem.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery\hij.imagedefinition
    <!--NeedCopy-->
    
  7. Crie e atualize um catálogo MCS usando os seguintes elementos:

    • Resource group
    • Gallery
    • Gallery image definition
    • Gallery image version

    Para obter informações sobre como criar um catálogo usando o Remote PowerShell SDK, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

Gerenciar o segredo do aplicativo e data de expiração do segredo

Certifique-se de alterar o segredo do aplicativo para uma conexão antes que o segredo expire. Você recebe um alerta no Web Studio antes que a chave secreta expire.

Criar um segredo de aplicativo no Azure

Você pode criar um segredo de aplicativo para uma conexão por meio do portal do Azure.

  1. Selecione Azure Active Directory.
  2. Em App registrations no Azure AD, selecione o seu aplicativo.
  3. Acesse Certificates & secrets.
  4. Clique em Client secrets > New client secret.
  5. Forneça uma descrição do segredo e especifique uma duração. Quando terminar, selecione Add.

    Nota:

    Lembre-se de salvar o segredo do cliente porque você não pode recuperá-lo mais tarde.

  6. Copie o valor do segredo do cliente e a data de expiração.
  7. No Web Studio, edite a conexão correspondente e substitua o conteúdo no campo Application secret e Secret expiration date pelos valores copiados.

Alterar a data de expiração do segredo

Você pode usar o Web Studio para adicionar ou modificar a data de expiração do segredo do aplicativo em uso.

  1. No assistente Add Connection and Resources, clique com o botão direito do mouse em uma conexão e clique em Edit Connection.
  2. Na página Connection Properties, clique em Secret expiration date para adicionar ou modificar a data de expiração do segredo do aplicativo em uso.

Permissões necessárias do Azure

Esta seção contém as permissões mínimas e gerais necessárias para o Azure.

Permissões mínimas

As permissões mínimas oferecem melhor controle de segurança. No entanto, novos recursos que exigem permissões adicionais falham devido ao uso de permissões mínimas.

Criar uma conexão de host

Adicione uma nova conexão de host usando as informações obtidas do Azure.

"Microsoft.Network/virtualNetworks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/disks/read",
<!--NeedCopy-->

Gerenciamento de energia de VMs

Ligue ou desligue as instâncias da máquina.

"Microsoft.Compute/virtualMachines/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
<!--NeedCopy-->

Criar, atualizar ou excluir VMs

Crie um catálogo de máquinas e, em seguida, adicione, exclua, atualize máquinas e exclua o catálogo de máquinas.

A seguir está a lista de permissões mínimas necessárias quando a imagem mestre é um disco gerenciado ou os instantâneos estão localizados na mesma região da conexão de hospedagem.

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
<!--NeedCopy-->

Você precisa das seguintes permissões extras com base nas permissões mínimas para os seguintes recursos:

  • Se a imagem mestre for um VHD em uma conta de armazenamento localizada na mesma região da conexão de hospedagem:

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     <!--NeedCopy-->
    
  • Se a imagem mestre for uma ImageVersion da Galeria de Imagens Compartilhadas:

     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     <!--NeedCopy-->
    
  • Se a imagem mestre for um disco gerenciado, os instantâneos, ou VHD estiver em uma região diferente da região da conexão de hospedagem:

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     "Microsoft.Storage/storageAccounts/write",
     "Microsoft.Storage/storageAccounts/delete",
     <!--NeedCopy-->
    
  • Se você usar o grupo de recursos gerenciados pela Citrix:

     "Microsoft.Resources/subscriptions/resourceGroups/write",
     "Microsoft.Resources/subscriptions/resourceGroups/delete",
     <!--NeedCopy-->
    
  • Se você colocar a imagem mestre na Galeria de Imagens Compartilhadas:

     "Microsoft.Compute/galleries/write",
     "Microsoft.Compute/galleries/images/write",
     "Microsoft.Compute/galleries/images/versions/write",
     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     "Microsoft.Compute/galleries/delete",
     "Microsoft.Compute/galleries/images/delete",
     "Microsoft.Compute/galleries/images/versions/delete",
     <!--NeedCopy-->
    
  • Se você usar o suporte a host dedicado do Azure:

     "Microsoft.Compute/hostGroups/read",
     "Microsoft.Compute/hostGroups/write",
     "Microsoft.Compute/hostGroups/hosts/read",
     <!--NeedCopy-->
    
  • Se você usar a criptografia do lado do servidor (SSE) com chaves gerenciadas pelo cliente (CMK):

     "Microsoft.Compute/diskEncryptionSets/read",
     <!--NeedCopy-->
    
  • Se você implantar VMs usando modelos ARM (perfil de máquina):

     "Microsoft.Resources/deployments/write",
     "Microsoft.Resources/deployments/operationstatuses/read",
     "Microsoft.Resources/deployments/read",
     "Microsoft.Resources/deployments/delete",
     <!--NeedCopy-->
    
  • Se você usar a especificação de modelo do Azure como um perfil de máquina:

     "Microsoft.Resources/templateSpecs/read",
     "Microsoft.Resources/templateSpecs/versions/read",
     <!--NeedCopy-->
    

Criação, atualização e exclusão de máquinas com disco não gerenciado

A seguir está a lista de permissões mínimas necessárias quando a imagem mestre é VHD e usa o grupo de recursos conforme fornecido pelo administrador:

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Resources/deployments/validate/action",
"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.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action"
<!--NeedCopy-->

Permissão geral

A função de colaborador tem acesso total para gerenciar todos os recursos. Esse conjunto de permissões não impede que você obtenha novos recursos.

O conjunto de permissões a seguir fornece a melhor compatibilidade daqui para frente, embora inclua mais permissões do que o necessário com o conjunto de recursos atual:

"Microsoft.Compute/diskEncryptionSets/read",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/galleries/delete",
"Microsoft.Compute/galleries/images/delete",
"Microsoft.Compute/galleries/images/read",
"Microsoft.Compute/galleries/images/versions/delete",
"Microsoft.Compute/galleries/images/versions/read",
"Microsoft.Compute/galleries/images/versions/write",
"Microsoft.Compute/galleries/images/write",
"Microsoft.Compute/galleries/read",
"Microsoft.Compute/galleries/write",
"Microsoft.Compute/hostGroups/hosts/read",
"Microsoft.Compute/hostGroups/read",
"Microsoft.Compute/hostGroups/write",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/start/action",
"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.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Resources/deployments/operationstatuses/read",
"Microsoft.Resources/deployments/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/deployments/write",
"Microsoft.Resources/deployments/delete",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/subscriptions/resourceGroups/delete",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Resources/templateSpecs/read",
"Microsoft.Resources/templateSpecs/versions/read",
<!--NeedCopy-->

Configurar as permissões de conexão de host do Azure necessárias

Você pode configurar facilmente todas as permissões mínimas necessárias para uma conta de entidade de serviço ou de usuário no Azure vinculada a uma conexão de host para realizar todas as operações do MCS usando um modelo do ARM. Esse modelo do ARM automatiza o seguinte:

  • Criação de uma função do Azure com as permissões mínimas necessárias para as operações.
  • Atribuição dessa função a uma entidade de serviço existente do Azure no nível da assinatura.

Você pode implantar esse modelo do ARM usando o Portal do Azure ou os comandos do PowerShell. Para obter mais informações, consulte Modelo do ARM para operações do CVAD.

O que fazer a seguir

Mais informações

Conexão com o Microsoft Azure