Citrix DaaS

Conexão com o Microsoft Azure

Create and manage connections 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 Full Configuration
  • Criar uma conexão usando uma entidade de serviço criada anteriormente

Esta seção mostra como realizar essas tarefas:

Considerações

Antes de começar, fique atento às seguintes considerações:

  • A Citrix recomenda usar as entidades de serviço com a função 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 adicionando-os de volta explicitamente. No entanto, use essa opção com cuidado, pois ela tem efeitos não intencionais em outros recursos que essa 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 Full Configuration

Importante:

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

Em Full Configuration, 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. As 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, crie uma entidade de serviço e defina o nome da conexão da seguinte forma:

    1. Para conceder a permissão de conexão para eliminar automaticamente dispositivos obsoletos ingressados no Azure AD, selecione Enable Azure AD joined device management. Recomendamos que você selecione essa opção se quiser criar máquinas ingressados no Azure AD por meio dessa conexão. Para obter mais informações, consulte Habilitar o gerenciamento de dispositivos ingressados no Azure AD.

    2. Insira seu ID de assinatura do Azure e um nome para a sua 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 ou os caracteres \/;:#.*?=<>|[]{}"'()'.

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

    2. Selecione Sign in.

    3. Selecione Accept para dar ao Citrix DaaS as permissões listadas. O Azure cria uma entidade de serviço que permite ao Citrix DaaS gerenciar recursos do Azure em nome do usuário especificado.

    4. Depois de selecionar Accept, você é levado de volta à página Connection Details.

      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.

    5. Para rotear solicitações de API para o Azure por meio dos Citrix Cloud Connectors, marque a caixa de seleção Route traffic through Citrix Cloud Connectors.

      Como alternativa, você pode ativar esse recurso usando o PowerShell. Para obter mais informações, consulte Criar um ambiente seguro para o tráfego gerenciado do Azure.

      Nota:

      Essa opção está disponível somente quando há Citrix Cloud Connectors ativos em sua implantação. Atualmente, esse recurso não é suportado por Connector Appliances.

    6. 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.

  4. Configure os recursos para a conexão da seguinte forma:

    • 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 ou 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.
  5. 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.

ID do aplicativo na página Add Connection and Resources

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:

  1. Conecte-se à sua assinatura do Azure Resource Manager.

    Connect-AzAccount

  2. Selecione a assinatura do Azure Resource Manager na qual você deseja criar a entidade de serviço.

    Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription

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

    $AzureADApplication = New-AzADApplication -DisplayName $ApplicationName

  4. Crie uma entidade de serviço.

    New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId

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

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

  6. 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 na interface Full Configuration 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.

Segredo do aplicativo no portal do Azure

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 Full Configuration.

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 ou 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. Insira 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ê é levado de volta à página Connection Details. Selecione Next para prosseguir para a próxima página.

  6. Configure os recursos para a conexão da seguinte forma:

    • 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 ou 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, o Citrix DaaS permite que você remova 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 a interface Full Configuration para configurar as operações do Azure para uma determinada conexão de host:

  1. Em Manage > Full Configuration, selecione Hosting no painel esquerdo.
  2. Selecione uma conexão relacionada ao Azure para editá-la.
  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 gerenciamento de dispositivos ingressados no Azure AD

Dispositivos ingressados no Azure AD obsoletas no Azure podem impedir que novas máquinas ingressem no Azure AD, fazendo com que funcionem incorretamente. Para evitar possíveis problemas, você pode conceder permissão de conexões para gerenciar os dispositivos ingressados no Azure AD. Com essa permissão, as conexões podem eliminar automaticamente os dispositivos obsoletos ingressados no Azure AD.

Nota:

Os dispositivos ingressados no Azure AD não podem ser excluídos do Azure AD quando você exclui máquinas ou catálogos de máquinas.

  1. Em Manage > Full Configuration, selecione Hosting no painel esquerdo.
  2. Selecione a conexão e selecione Edit Connection na barra de ações.
  3. Selecione Connection Properties no painel esquerdo.
  4. Na página Connection Properties exibida, siga estas etapas:

    1. Selecione Enable Azure AD joined device management.
    2. Clique em Salvar.
    3. Na janela de login do Azure exibida, insira sua senha de assinatura e clique em Sign in.

      Depois que o login for concluído, você será levado de volta à lista de conexões e recursos de hospedagem. Clique na conexão na lista e, em seguida, clique na guia Details no painel inferior. Você pode ver que o campo Azure AD joined device management mostra Enabled.

Ao habilitar o gerenciamento de dispositivos ingressados no Azure AD com Full Configuration, você deve se autenticar no Azure AD, independentemente do método de criação de conexão de host escolhido (criar uma nova ou usar a existente). A função Cloud Device Administrator interna do Azure AD é atribuída à entidade de serviço. Para adotar as permissões mínimas de dispositivos ingressados no Azure AD para gerenciamento, você pode remover manualmente a atribuição da função Cloud Device Administrator da entidade de serviço e criar uma função personalizada do Azure AD que inclua apenas as permissões mínimas e atribuí-la à entidade de serviço.

Nota:

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.

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.

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

Ao criar ou atualizar catálogos de máquinas na interface Full Configuration, 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. Em Manage > Full Configuration, 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:
    1. Forneça o ID do aplicativo e o segredo do aplicativo associado à assinatura da conexão. O DaaS usa essas informações para se autenticar no Azure AD.
    2. Adicione locatários e assinaturas que compartilham a Galeria de Computação do Azure com a assinatura da conexão. Você pode adicionar até oito locatários compartilhados e oito 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/.

Criar um ambiente seguro para o tráfego gerenciado do Azure

O MCS permite que o tráfego de rede (chamadas de API do Citrix Cloud para o hipervisor do Azure) seja roteado através de Cloud Connectors no seu ambiente. Essa implementação ajuda você a bloquear sua assinatura do Azure para permitir o tráfego de rede de endereços IP específicos. Para fazer isso, adicione ProxyHypervisorTrafficThroughConnector em CustomProperties. Depois de definir as propriedades personalizadas, você pode configurar as políticas do Azure para ter acesso ao disco privado aos discos gerenciados do Azure.

Se você configurar a política do Azure para criar Acessos ao disco automaticamente para cada novo disco para usar pontos de extremidade privados, você não poderá carregar ou baixar mais de cinco discos ou instantâneos ao mesmo tempo com o mesmo objeto de acesso ao disco imposto pelo Azure. Esse limite é para cada catálogo de máquinas, se você configurar a política do Azure no nível do grupo de recursos, e para todos os catálogos de máquinas, se você configurar a política do Azure no nível da assinatura. Se você não configurar a política do Azure para criar Acessos ao disco automaticamente para cada novo disco para usar pontos de extremidade privados, o limite de cinco operações simultâneas não será imposto.

Nota:

Atualmente, esse recurso não é suportado pelo Connector Appliance.

Limitações

Devido à limitação do Azure, esse recurso atualmente não é suportado quando os discos gerenciados têm criptografia no lado do servidor com chaves gerenciadas pelo cliente. Para outras limitações relacionadas, consulte Restringir o acesso de importação/exportação a discos gerenciados usando o Link Privado do Azure.

Para obter mais informações sobre criptografia no lado do servidor, consulte Criptografia do servidor do Azure.

Habilitar o proxy

Para ativar o proxy, defina as propriedades personalizadas da seguinte forma na conexão do host:

  1. Abra uma janela do PowerShell usando o SDK do Remote PowerShell. Para obter mais informações, consulte https://docs.citrix.com/en-us/citrix-daas/sdk-api.html#citrix-virtual-apps-and-desktops-remote-powershell-sdk/.
  2. Execute os seguintes comandos:

    1. Add-PSSnapin citrix*.
    2. cd XDHyp:\Connections\
    3. dir
  3. Copie CustomProperties da conexão para um bloco de notas e anexe a configuração da propriedade <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" /> a CustomProperties para ativar o proxy. Por exemplo:

    <CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="SubscriptionId" Value="4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx" />
    <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="5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx" />
    <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />
    </CustomProperties>
    <!--NeedCopy-->
    
  4. Na janela do PowerShell, atribua uma variável às propriedades personalizadas modificadas. Por exemplo:

    $customProperty = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="SubscriptionId" Value="4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx" />
    <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="5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx" />
    <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />
    </CustomProperties>'
    <!--NeedCopy-->
    
  5. Execute $cred = Get-Credential. Se solicitado, forneça as credenciais de conexão. As credenciais são ID e segredo do Aplicativo Azure.
  6. Execute Set-Item -PSPath XDHyp:\Connections\<Connection_Name> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password.

    Importante:

    Se você receber uma mensagem informando que SubscriptionId está ausente, substitua todas as aspas duplas (“) pelo sinal de crase seguido por aspas duplas (`”) na propriedade personalizada. Por exemplo:

    <CustomProperties xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`" xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`">
    <Property xsi:type=`"StringProperty`" Name=`"SubscriptionId`" Value=`"4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx`" />
    <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=`"5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx`" />
    <Property xsi:type=`"StringProperty`" Name=`"ProxyHypervisorTrafficThroughConnector`" Value=`"True`" />
    </CustomProperties>
    <!--NeedCopy-->
    
  7. Execute dir para verificar as configurações CustomProperties atualizadas.

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 na interface Full Configuration 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.

    Criar um segredo do aplicativo

  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. Na interface Full Configuration, 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 a interface Full Configuration 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.

Alterar a data de expiração do segredo

Permissões necessárias do Azure

Esta seção detalha as permissões mínimas e as permissões 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 se somente permissões mínimas forem concedidas. Esta seção lista as permissões mínimas por ação.

Criar uma conexão de host

Adicione uma 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 as imagens mestre são discos gerenciados ou instantâneos que 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 Computação do Azure (antiga 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, um instantâneo 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 Computação do Azure (antiga 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-->

Gerenciar dispositivos ingressados no Azure AD

A seguir encontra-se a lista de permissões mínimas necessárias para gerenciar os dispositivos ingressados no Azure AD:

microsoft.directory/devices/standard/read
microsoft.directory/devices/delete
<!--NeedCopy-->

Permissões gerais

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

Permissão do Azure AD

Se você criar catálogos de máquinas ingressados no Azure AD, o MCS será responsável por gerenciar os dispositivos do Azure AD quando você habilitar o gerenciamento de dispositivos ingressados no Azure AD. A função Cloud Device Administrator integrada do Azure AD oferece a melhor compatibilidade daqui para frente, embora inclua mais permissões do que o necessário com o conjunto de recursos atual.

O que fazer a seguir

Mais informações

Conexão com o Microsoft Azure