Conexão com o Microsoft Azure Resource Manager

Last published : Nov 03, 2026
(/pt-br/citrix-daas/install-configure/connections.html) descreve os assistentes que criam uma conexão. As informações a seguir cobrem detalhes específicos para ambientes de nuvem do Azure Resource Manager.
Nota:
Antes de criar uma conexão com o Microsoft Azure, você deve concluir a configuração da sua conta do Azure como um local de recurso. Consulte Ambientes de virtualização do Microsoft Azure Resource Manager.

Criar entidades de serviço e conexões

Antes de criar conexões, você deve configurar entidades de serviço que as conexões usam para acessar 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 Studio
  • Criar uma conexão usando uma entidade de serviço criada anteriormente
Esta seção mostra como concluir estas tarefas:

Considerações

Antes de começar, esteja ciente destas considerações:
  • A Citrix® recomenda o uso de service principals com uma função de Colaborador. No entanto, consulte a seção Permissões Mínimas 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. Para futuras conexões, você ainda deve autenticar, mas o Azure se lembrará do seu consentimento anterior e não exibirá o prompt novamente.
  • Depois de autenticar com o Azure pela primeira vez, um aplicativo multi-tenant de propriedade da Citrix (ID: 08b70dc3-76c5-4611-ba7d-3312ba36cb2b) é convidado para o seu Microsoft Entra ID em nome da conta autenticada.
  • As contas usadas para autenticação devem ter permissões para atribuir funções na assinatura usando o Azure RBAC. Exemplo: Proprietário, Administrador de Controle de Acesso Baseado em Função ou Administrador de Acesso de Usuário da assinatura.
  • A conta usada para autenticação deve ser membro do diretório da assinatura. Existem dois tipos de contas a serem observados: 'Work or School' e 'personal Microsoft account'. Consulte CTX219211 para obter detalhes.
  • Embora você possa usar uma conta Microsoft existente adicionando-a como membro do diretório da assinatura, podem ocorrer complicações se o usuário tiver recebido anteriormente acesso de convidado a um dos recursos do diretório. Nesse caso, ele pode ter uma entrada de espaço reservado no diretório que não concede as permissões necessárias, e um erro é retornado.
    Corrija isso removendo os recursos do diretório e adicionando-os novamente explicitamente. No entanto, use esta opção com cuidado, pois ela pode ter efeitos indesejados em outros recursos que esta conta pode acessar.
  • Existe um problema conhecido em que certas contas são detectadas como convidados do diretório quando na verdade são membros. Configurações como esta geralmente ocorrem com contas de diretório mais antigas e estabelecidas. Solução alternativa: adicione uma conta ao diretório, que assume o valor de associação adequado.
  • Grupos de recursos são simplesmente contêineres para recursos, e eles podem conter recursos de regiões diferentes da sua própria região. Isso pode ser potencialmente confuso se você esperar que os recursos exibidos na região de um grupo de recursos estejam disponíveis.
  • Certifique-se de que sua rede e sub-rede sejam grandes o suficiente para hospedar o número de máquinas que você precisa. Isso requer alguma previsão, mas a Microsoft ajuda você a especificar os valores corretos, com orientação sobre a capacidade do espaço de endereço.

Criar um service principal e uma conexão usando o Studio

Importante:
Este recurso ainda não está disponível para assinaturas do Azure China.
Com o Studio, você pode criar um service principal e uma conexão em um único fluxo de trabalho. Os service principals concedem às conexões acesso aos recursos do Azure. Quando você autenticar no Azure para criar um service principal, um aplicativo é registrado no Azure. Uma chave secreta (chamada client secret ou application secret) é criada para o aplicativo registrado. O aplicativo registrado (uma conexão neste caso) usa o client secret para autenticar no Microsoft Entra ID.
Antes de começar, certifique-se de ter cumprido estes pré-requisitos:
  • Você tem uma conta de usuário no locatário do Microsoft Entra da sua assinatura.
  • As contas usadas para autenticação devem ter permissões para atribuir funções na assinatura usando o Azure RBAC. Exemplo: Proprietário, Administrador de Controle de Acesso Baseado em Função ou Administrador de Acesso de Usuário da assinatura.
  • Você tem permissões de administrador global, administrador de aplicativo ou desenvolvedor de aplicativo para autenticação. As permissões podem ser revogadas depois de criar uma conexão de host. Para obter mais informações sobre funções, consulte Funções internas do Microsoft Entra.
Use o assistente Adicionar Conexão e Recursos para criar um principal de serviço e uma conexão juntos:
  1. Na página Conexão, selecione Criar uma nova conexão, o tipo de conexão Microsoft Azure e seu ambiente Azure.
  2. Selecione quais ferramentas usar para criar as máquinas virtuais e, em seguida, selecione Avançar.
  3. Na página Detalhes da Conexão, selecione o modo de autenticação Segredo do cliente do aplicativo, crie um principal de serviço e defina o nome da conexão da seguinte forma:
    1. Insira seu ID de assinatura do Azure e um nome para a conexão. Depois de inserir o ID da assinatura, o botão Criar novo é ativado.
    Nota:
    O nome da conexão pode conter 1 a 64 caracteres e não pode conter apenas espaços em branco ou os caracteres \/;:#.*?=<>|[]{}"'()'.
    1. Selecione Criar novo e, em seguida, insira o nome de usuário e a senha da conta do Microsoft Entra.
    2. Selecione Entrar.
    3. Selecione Aceitar para conceder ao Citrix DaaS™ as permissões listadas. O Azure cria um principal de serviço que permite ao Citrix DaaS gerenciar recursos do Azure em nome do usuário especificado.
      Nota:
      O Citrix DaaS requer as seguintes permissões para criar um novo principal de serviço:
      • Acessar o Gerenciamento de Serviços do Azure como você
      • Ler e gravar aplicativos
      • Fazer login e ler seu perfil
      • Manter o acesso aos dados aos quais você concedeu acesso
    4. Depois de selecionar Aceitar, você será levado de volta para a página Detalhes da Conexão.
      Observação:
      Depois de autenticar com sucesso no Azure, os botões Criar novo e Usar existente desaparecem. O texto Conexão bem-sucedida aparece com uma marca de seleção verde, indicando a conexão bem-sucedida à 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 Roteie o tráfego por meio dos Citrix Cloud Connectors. Quando os Cloud Connectors não têm acesso direto à Internet, você pode selecionar Usar o proxy configurado nos Citrix Cloud Connectors para garantir que a conectividade do Azure funcione corretamente por meio dos Citrix Cloud Connectors.
      Alternativamente, você pode habilitar esse recurso usando o PowerShell. Para obter mais informações, consulte Criar um ambiente seguro para tráfego gerenciado pelo Azure.
      Observação:
      Esta opção está disponível apenas quando há Citrix Cloud Connectors ativos em sua implantação. Atualmente, esse recurso não é compatível com Connector Appliances.
    6. Selecione Avançar.
    Observação:
    Você não pode prosseguir para a próxima página até que autenticar com sucesso no Azure e consinta em conceder as permissões necessárias.
  4. Configure os recursos para a conexão da seguinte forma:
    • Na página Região, selecione uma região.
    • Na página Rede, 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 fornece 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 Resumo, visualize um resumo das configurações e selecione Concluir para finalizar a configuração.

Visualizar o ID do aplicativo

Depois de criar uma conexão, você pode visualizar o ID do aplicativo que a conexão usa para acessar os recursos do Azure.
Na lista Conexão e Recursos, selecione a conexão para visualizar os detalhes. A guia Detalhes mostra o ID do Aplicativo.
ID do Aplicativo na página Adicionar Conexão e Recursos

Criar um principal de serviço usando PowerShell

Para criar um principal de serviço usando PowerShell, conecte-se à sua assinatura do Azure Resource Manager e use os cmdlets do PowerShell fornecidos nas seções a seguir.
Certifique-se de ter estes 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 com o Microsoft Entra ID.
  • ApplicationName: Nome para o aplicativo a ser criado no Microsoft Entra ID.
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 onde 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, anote o ApplicationId. Você fornece esse ID ao criar a conexão de host.

Obtenha o segredo do aplicativo no Azure

Para criar uma conexão usando uma entidade de serviço existente, você deve primeiro 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 Studio ou usando o PowerShell.
  2. Faça login no portal do Azure.
  3. No Azure, selecione Microsoft Entra ID.
  4. Em Registros de aplicativo no Microsoft Entra ID, selecione seu aplicativo.
  5. Vá para Certificados e segredos.
  6. Clique em Segredos do cliente.
Segredo do aplicativo no portal do Azure

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

Se você já tiver uma entidade de serviço, poderá usá-la para criar uma conexão usando o Studio.
Certifique-se de ter estes 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 Adicionar Conexão e Recursos:
  1. Na página Conexão, selecione Criar uma nova conexão, o tipo de conexão Microsoft Azure e seu ambiente Azure.
  2. Selecione quais ferramentas usar para criar as máquinas virtuais e, em seguida, selecione Avançar.
  3. Na página Detalhes da Conexão, selecione o modo de autenticação Segredo do cliente do aplicativo, em seguida, 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 Usar existente. Na janela Detalhes do Principal de Serviço Existente, insira as seguintes configurações para o principal de serviço existente. Depois de inserir os detalhes, o botão Salvar é ativado. Selecione Salvar. Você não pode prosseguir além desta página até fornecer detalhes válidos.
    • ID da Assinatura. Insira seu ID de assinatura do Azure. Para obter seu ID de assinatura, faça login no portal do Azure e navegar para Assinaturas > Visão geral.
    • ID do Active Directory (ID do locatário). Insira o ID do Diretório (locatário) do aplicativo que você registrou com o Microsoft Entra ID.
    • ID do Aplicativo. Insira o ID do Aplicativo (cliente) do aplicativo que você registrou com o Microsoft Entra ID.
    • Segredo do aplicativo. Insira uma chave secreta (segredo do cliente). O aplicativo registrado usa a chave para autenticar no Microsoft Entra ID. Recomendamos que você altere as chaves regularmente por motivos de segurança. Certifique-se de salvar a chave, pois você não poderá recuperá-la mais tarde.
    • Data de expiração do segredo. Insira a data após a qual o segredo do aplicativo expira. Você receberá um alerta no console a partir de 14 dias antes da expiração da chave secreta. No entanto, se a chave secreta expirar, você receberá erros.
      Nota:
      Para fins de segurança, o período de expiração não pode ser superior a dois anos a partir de agora.
    • URL de autenticação. Este campo é preenchido automaticamente e não é editável.
    • URL de gerenciamento. Este campo é preenchido automaticamente e não é editável.
    • Sufixo de armazenamento. Este campo é preenchido automaticamente e não é editável.
    • Endpoint de armazenamento de blobs do Azure para upload ou download de discos ou snapshots. Este campo é preenchido automaticamente e não é editável.
    • Serviço Key Vault. Este campo é preenchido automaticamente e não é editável.
    • Sufixo do barramento de serviço. Este campo é preenchido automaticamente e não é editável.
      O acesso aos seguintes endpoints é necessário para criar um catálogo MCS no Azure. O acesso a esses endpoints otimiza a conectividade entre sua rede e o portal do Azure e seus serviços.
      • URL de autenticação: https://login.microsoftonline.com
      • URL de gerenciamento: https://management.azure.com. Esta é uma URL de solicitação para APIs do provedor do Azure Resource Manager. O endpoint para gerenciamento depende do ambiente. Por exemplo, para o Azure Global, é https://management.azure.com, e para o Azure US Government, é https://management.usgovcloudapi.net.
      • Sufixo de armazenamento: https://*.core.windows.net. Este (*) é um caractere curinga para sufixo de armazenamento. Por exemplo, https://demo.table.core.windows.net.
      • Endpoint de armazenamento de blobs do Azure para upload ou download de discos ou snapshots: https://*.storage.azure.net. Este (*) é um caractere curinga para operações de importação e exportação de armazenamento de blobs. Por exemplo, https://md-impexp-xxxxx.z[00-50].blob.storage.azure.net.
      • Serviço Key Vault: https://*.vault.azure.net. Este (*) é um caractere curinga para o nome do cofre de chaves. Por exemplo, https://<your-key-vault-name>.vault.azure.net.
      • Sufixo do barramento de serviço: https://*.servicebus.windows.net. Este (*) é um caractere curinga para namespaces criados na nuvem global do Azure. Por exemplo, https://{serviceNamespace}.servicebus.windows.net/{path}.
  5. Após selecionar Salvar, você será redirecionado para a página Detalhes da Conexão. Selecione Avançar para prosseguir para a próxima página.
  6. Configure os recursos para a conexão da seguinte forma:
    • Na página Região, selecione uma região.
    • Na página Rede, 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 fornece 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 Resumo, visualize um resumo das configurações e selecione Concluir para finalizar a configuração.

Gerenciar entidades de serviço e conexões

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

Configurar as definições de limitação do Azure

O Azure Resource Manager limita as solicitações para assinaturas e locatários, roteando o tráfego com base em limites definidos, adaptados às necessidades específicas do provedor. Consulte Limitação de solicitações do Resource Manager 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 que contém muitas máquinas pode apresentar problemas de desempenho relacionados a operações de energia.
Dica:
Para obter mais informações, consulte Melhorando o desempenho do Azure com o Machine Creation Services.
Para ajudar a mitigar esses problemas, o Citrix DaaS permite 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 ligar ou desligar VMs em grandes assinaturas, por exemplo, aquelas que contêm 1.000 VMs:
  • Operações simultâneas absolutas: 500
  • Máximo de novas operações por minuto: 2000
  • Concorrência máxima de operações: 500
Use o Studio para configurar as operações do Azure para uma determinada conexão de host:
  1. No Studio, selecione Hospedagem 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 Avançado, 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
O MCS suporta um máximo de 500 operações simultâneas por padrão. Alternativamente, você pode usar o SDK do PowerShell Remoto 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 de provisionamento simultâneas do Azure. Ao usar esta propriedade, considere:
  • O valor padrão de MaximumConcurrentProvisioningOperations é 500.
  • Configure o parâmetro MaximumConcurrentProvisioningOperations usando o comando PowerShell Set-item.

Gerenciar o principal de serviço de uma conexão de hospedagem existente

Depois de criar uma conexão de hospedagem usando um principal de serviço, você pode optar por editar a conexão de hospedagem para ter:
  • Novo principal de serviço
  • Usar outro principal de serviço existente
  1. No Studio, selecione Hospedagem no painel esquerdo.
  2. Selecione a conexão e, em seguida, selecione Editar Conexão na barra de ações.
  3. Selecione Propriedades da Conexão no painel esquerdo.
  4. Na página Propriedades da Conexão que aparece, clique em Editar configurações de conexão. Agora você pode optar por criar um novo principal de serviço ou usar outro principal de serviço existente.
    Editar configurações
    • Clique em Criar principal de serviço para criar um novo principal de serviço. Siga as instruções para fazer login em sua conta de usuário do Microsoft Entra. A Citrix usa o ID de aplicativo multi-tenant 08b70dc3-76c5-4611-ba7d-3312ba36cb2b para criar um novo principal de serviço para a conexão de host existente e conceder as permissões adequadas.
    • Clique em Usar existente para usar outro principal de serviço existente para essa conexão de hospedagem.

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 e assinaturas do Azure (compartilhadas por meio da Galeria de Computação do Azure). Para habilitar o compartilhamento de imagens dentro ou entre locatários, você deve fazer as configurações necessárias no Azure:

Compartilhar imagens dentro de um locatário (entre assinaturas)

Para selecionar uma imagem na Galeria de Computação do Azure que pertence a uma assinatura diferente, a imagem deve ser compartilhada com o principal de serviço (SPN) dessa assinatura.
Por exemplo, se houver um principal de serviço (SPN 1), que está configurado no Studio como:
Principal de serviço: SPN 1
Assinatura: assinatura 1
Locatário: locatário 1
A imagem está em uma assinatura diferente, que está configurada no Studio como:
Assinatura: assinatura 2
Locatário: locatário 1
Se você quiser compartilhar a imagem na assinatura 2 com a assinatura 1 (SPN 1), vá para a assinatura 2 e compartilhe o grupo de recursos com o SPN1.
A imagem deve ser compartilhada com outro SPN usando o controle de acesso baseado em função do Azure (RBAC). O RBAC do Azure é o sistema de autorização usado para gerenciar o acesso aos recursos do Azure. Para obter mais informações sobre o RBAC do Azure, consulte o documento da Microsoft O que é o controle de acesso baseado em função do Azure (RBAC do Azure). Para conceder acesso, você atribui funções a principais de serviço no escopo do grupo de recursos com a função de Colaborador. Para atribuir funções do Azure, você deve ter a 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 o Azure Compute Gallery, crie ou atualize o registro do aplicativo e use este aplicativo para criar a conexão de hospedagem.
Por exemplo, se houver dois locatários (Locatário 1 e Locatário 2) e você quiser compartilhar sua galeria de imagens com o Locatário 1, então:
  1. Crie um registro de aplicativo para o Locatário 1. Para obter mais informações, consulte Criar o registro do aplicativo.
  2. Conceda ao Locatário 2 acesso ao aplicativo solicitando um login usando um navegador. Substitua Tenant2 ID pelo ID do locatário do Locatário 1. Substitua Application (client) ID pelo ID do aplicativo do registro do aplicativo que você criou. Ao concluir as substituições, cole o URL em um navegador e siga os prompts de login para entrar no Locatário 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
    Para obter mais informações, consulte Conceder acesso ao Locatário 2.
  3. Conceda ao aplicativo acesso ao grupo de recursos do Locatário 2. Faça login como Locatário 2 e conceda ao registro do aplicativo acesso ao grupo de recursos que contém a imagem da galeria. Para obter mais informações, consulte autenticar requests across tenants.

Adicionar locatários compartilhados a uma conexão usando o Studio

Ao criar ou atualizar catálogos de máquinas no Studio, você pode selecionar imagens compartilhadas de diferentes locatários e assinaturas do Azure (compartilhadas através do Azure Compute Gallery). O recurso exige que você forneça informações de locatário e assinatura compartilhados para as conexões de host associadas.
Nota:
Certifique-se de ter configurado as configurações necessárias no Azure para habilitar o compartilhamento de imagens entre locatários. Para obter mais informações, consulte Compartilhar imagens entre locatários.
Conclua as seguintes etapas para uma conexão:
  1. No Studio, selecione Hospedagem no painel esquerdo.
  2. Selecione a conexão e, em seguida, selecione Editar Conexão na barra de ações.
    Locatários compartilhados
  3. Em Locatários Compartilhados, faça o seguinte:
    1. Forneça o ID do aplicativo e o segredo do aplicativo associados à assinatura da conexão. O DaaS usa essas informações para autenticar no Microsoft Entra ID.
    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 Aplicar 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

Selecionar uma imagem de uma assinatura diferente

Você pode selecionar uma imagem na Galeria de Computação do Azure que pertence 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, o 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"
  3. Selecione uma assinatura compartilhada e, em seguida, liste todos os grupos de recursos compartilhados dessa assinatura compartilhada.
    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription"
  4. Selecione um grupo de recursos e, em seguida, liste todas as galerias desse grupo de recursos.
    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup"
  5. Selecione uma galeria e, em seguida, liste todas as definições de imagem dessa galeria.
    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\testgallery.gallery"
  6. Selecione uma definição de imagem e, em seguida, liste todas as versões de imagem dessa definição de imagem.
    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\sigtestdef.imagedefinition"
  7. Crie e atualize um catálogo MCS usando os seguintes elementos:
    • Grupo de recursos
    • Galeria
    • Definição de imagem da galeria
    • Versão da imagem da galeria

Atualizar propriedades personalizadas de conexão de hospedagem com IDs de locatário compartilhadas

Use Set-Item para atualizar as propriedades personalizadas da conexão de hospedagem com IDs de locatário e IDs de assinatura compartilhadas. 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"]}]
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
Nota:
Você pode adicionar mais de um locatário. Cada locatário pode ter mais de uma assinatura.

Selecione uma imagem de um locatário diferente

Você pode selecionar uma imagem na Galeria de Computação do Azure que pertence a um locatário diferente 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. Listar todas as assinaturas compartilhadas.
    Get-ChildItem XDHyp:\HostingUnits\azres\sharedsubscription.folder
  3. Selecione uma assinatura compartilhada e, em seguida, liste todos os grupos de recursos compartilhados dessa assinatura compartilhada.
    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription
  4. Selecione um grupo de recursos e, em seguida, liste todas as galerias desse grupo de recursos.
    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup
  5. Selecione uma galeria e, em seguida, liste todas as definições de imagem dessa galeria.
    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery
  6. Selecione uma definição de imagem e, em seguida, liste todas as versões de imagem dessa definição de imagem.
    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery\hij.imagedefinition
  7. Crie e atualize um catálogo MCS usando os seguintes elementos:
    • Grupo de recursos
    • Galeria
    • Definição de imagem da galeria
    • Versão da imagem da galeria

Crie um ambiente seguro para o tráfego gerenciado pelo Azure

O MCS permite que o tráfego de rede (chamadas de API do Citrix Cloud para o hipervisor do Azure) seja roteado por meio de Cloud Connectors em 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 políticas do Azure para ter acesso privado a discos gerenciados do Azure.
Se você configurar a política do Azure para criar Acessos de Disco automaticamente para cada novo disco usar pontos de extremidade privados, não poderá carregar ou baixar mais de cinco discos ou instantâneos ao mesmo tempo com o mesmo objeto de acesso a disco, conforme 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 de Disco automaticamente para cada novo disco usar pontos de extremidade privados, o limite de cinco operações simultâneas não será imposto.
Nota:
Atualmente, este recurso não é compatível com o Connector Appliance. Para limitações do Azure relacionadas a este recurso, consulte Restringir o acesso de importação/exportação para discos gerenciados usando o Azure Private Link.

Habilitar o proxy

Para habilitar o proxy, defina as propriedades personalizadas da seguinte forma na conexão do host:
  1. Abra uma janela do PowerShell usando o SDK do PowerShell Remoto. Para obter mais informações, consulte <https://docs.citrix.com/pt-br/citrix-daas/sdk-api.html#citrix-virtual-apps-and-desktops-remote-powershell-sdk/>.
  2. Execute os seguintes comandos:
    Add-PSSnapin citrix*.
    cd XDHyp:\Connections\
    dir
  3. Copie o CustomProperties da conexão para um bloco de notas e anexe a configuração de propriedade <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" /> ao CustomProperties para habilitar 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>
  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>'
  5. Execute $cred = Get-Credential. Se solicitado, forneça as credenciais de conexão. As credenciais são ID do Aplicativo Azure e segredo.
  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á faltando, substitua todas as aspas duplas (“) por um acento grave seguido de 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>
  7. Execute dir para verificar as configurações atualizadas de CustomProperties.

Opção para usar proxy de sistema nos Citrix Cloud Connectors para tráfego de API do Azure redirecionado

Para rotear todo o tráfego externo através de um proxy não transparente, configure a conexão do host com a propriedade personalizada UseSystemProxyForHypervisorTrafficOnConnectors. Isso redireciona o tráfego de internet da API do Azure nos Citrix Cloud Connectors através do proxy do sistema.
Siga os mesmos passos descritos em Habilitar o proxy para configurar a conexão do host com a propriedade personalizada. No entanto, certifique-se de anexar a configuração de propriedade <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" /> ao CustomProperties para habilitar o proxy.
<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />
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" />
<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />
</CustomProperties>
Nota:
Depois de definir esta propriedade, o proxy configurado nas configurações netsh winhttp nos Citrix Cloud Connectors é usado para tráfego de saída para o provedor de serviços em nuvem.

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

Certifique-se de alterar o segredo do aplicativo para uma conexão antes que o segredo expire. Você receberá um alerta no 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 através do portal do Azure.
  1. Selecione Microsoft Entra ID.
  2. Em Registros de aplicativo no Microsoft Entra ID, selecione seu aplicativo.
  3. Vá para Certificados e segredos.
  4. Clique em Segredos do cliente > Novo segredo do cliente.
    Criar segredo do aplicativo
  5. Forneça uma descrição do segredo e especifique uma duração. Quando terminar, selecione Adicionar.
    Nota:
    Certifique-se de salvar o segredo do cliente, pois você não poderá recuperá-lo mais tarde.
  6. Copie o valor do segredo do cliente e a data de expiração.
  7. No Studio, edite a conexão correspondente e substitua o conteúdo nos campos Segredo do aplicativo e Data de expiração do segredo pelos valores que você copiou.

Alterar a data de expiração do segredo

Você pode usar o Studio para adicionar ou modificar a data de expiração do segredo do aplicativo em uso.
  1. No assistente Adicionar Conexão e Recursos, clique com o botão direito do mouse em uma conexão e clique em Editar Conexão.
  2. Na página Propriedades da Conexão, clique em Data de expiração do segredo para adicionar ou modificar a data de expiração do segredo do aplicativo em uso.
Alterar data de expiração do segredo

Criar uma conexão de host usando a Identidade Gerenciada do Azure

Você pode criar uma conexão de host com o Microsoft Azure Resource Manager usando a Identidade Gerenciada do Azure. As identidades gerenciadas do Azure oferecem uma maneira segura e escalável de acessar os serviços do Azure sem a necessidade de gerenciar credenciais. Essa abordagem elimina os riscos associados ao armazenamento, rotação e gerenciamento de segredos.
O Modo de Autenticação tem três opções:
  • AppClientSecret
  • SystemAssignedManagedIdentity
  • UserAssignedManagedIdentity

Antes de começar

A seguir estão as etapas que você deve seguir antes de criar a conexão de host usando a Identidade Gerenciada do Azure:
  1. Instale um Citrix Cloud Connector™ em uma VM do Azure.
  2. Habilite a Identidade Gerenciada do Azure nessa VM do Cloud Connector.
    • Para a identidade gerenciada atribuída pelo usuário:
      1. No portal do Azure, crie uma identidade gerenciada atribuída pelo usuário. Para obter informações, consulte Criar e atribuir uma Identidade Gerenciada Atribuída pelo Usuário.
      2. Atribua funções do Azure à identidade gerenciada. Consulte Permissões do Azure necessárias.
      3. Crie uma VM do Azure como um Cloud Connector e adicione a identidade atribuída pelo usuário a ela.
    • Para a identidade gerenciada atribuída ao sistema:
      1. Abra o portal do Azure e vá para sua VM.
      2. Selecione o painel Identidade nas configurações da VM.
      3. Na guia Atribuído ao sistema, defina o status como Ativado.
      4. Clique em Salvar.
      Nota:
      Se você habilitar a identidade gerenciada atribuída ao sistema em uma VM do Cloud Connector e usá-la para criar uma conexão de host, ainda poderá criar conexões de host com a identidade gerenciada atribuída ao sistema mesmo depois de desativá-la na VM do Cloud Connector. A criação de conexões de host pode ser bem-sucedida mesmo 24 horas após a identidade ter sido desativada. Isso acontece porque os tokens de identidade gerenciada são armazenados em cache pela infraestrutura subjacente do Azure. Para obter mais informações, consulte Os tokens de identidades gerenciadas são armazenados em cache?.

Crie a conexão de host com a Identidade Gerenciada do Azure usando o Studio

No assistente Adicionar Conexão e Recursos:
  1. Na página Conexão:
    1. Selecione Criar uma nova conexão, o tipo de conexão do Microsoft Azure e seu ambiente Azure.
    2. Selecione quais ferramentas usar para criar as máquinas virtuais e, em seguida, selecione Avançar.
  2. Na página Detalhes da Conexão, selecione o Modo de autenticação.
    • Para a Identidade gerenciada atribuída pelo usuário, insira as seguintes configurações. Depois de inserir os detalhes, selecione Avançar para prosseguir para as páginas seguintes. Você não pode avançar além desta página até fornecer detalhes válidos.
      • ID da Assinatura: Insira seu ID da assinatura do Azure. Para obter seu ID da assinatura, faça login no portal do Azure e navegar para Assinaturas > Visão geral.
      • ID do Active Directory (ID do locatário): Insira o ID do Diretório (locatário) do aplicativo que você registrou no Microsoft Entra ID.
      • ID do Cliente: Insira o ID do Cliente da Identidade Gerenciada que você criou no portal do Azure.
      • URL de Autenticação: Este campo é preenchido automaticamente e não é editável.
      • URL de Gerenciamento: Este campo é preenchido automaticamente e não é editável.
      • Sufixo de armazenamento: Este campo é preenchido automaticamente e não é editável.
    • Para a Identidade gerenciada atribuída ao sistema, insira as seguintes configurações. Depois de inserir os detalhes, selecione Avançar para prosseguir para as páginas seguintes. Você não pode avançar além desta página até fornecer detalhes válidos.
      • ID da Assinatura: Insira seu ID da assinatura do Azure. Para obter seu ID da assinatura, faça login no portal do Azure e navegar para Assinaturas > Visão geral.
      • ID do Active Directory (ID do locatário): Insira o ID do Diretório (locatário) do aplicativo que você registrou no Microsoft Entra ID.
      • URL de Autenticação: Este campo é preenchido automaticamente e não é editável.
      • URL de Gerenciamento: Este campo é preenchido automaticamente e não é editável.
      • Sufixo de armazenamento: Este campo é preenchido automaticamente e não é editável.

Criar a conexão de host com o Azure Managed Identity usando PowerShell

Você pode criar esta conexão de host usando uma nova CustomProperty AuthenticationMode. O AuthenticationMode tem três opções: AppClientSecret, SystemAssignedManagedIdentity e UserAssignedManagedIdentity. A seguir, a descrição das opções do modo de autenticação:
  • AppClientSecret: Este é o valor padrão. Isso requer um ID de Aplicativo e um segredo.
  • UserAssignedManagedIdentity: Isso requer que um ID de cliente seja fornecido através de um UserName.
  • SystemAssignedManagedIdentity: Isso não requer nenhuma entrada. Mesmo que você forneça um ID de cliente, ele será ignorado.
Nota:
Ao usar o PowerShell, o parâmetro ProxyHypervisorTrafficThroughConnector deve ser verdadeiro para usar a identidade gerenciada.
  1. Abra uma janela do PowerShell.
  2. Execute asnp citrix* para carregar os módulos PowerShell específicos da Citrix.
  3. Crie conexões de host. Por exemplo:
    • Para a identidade gerenciada atribuída ao usuário:
      $UserName = "should be the Client ID of the user-assigned managed identity"
      $Password = "It can be any string.Not used"

      $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="' + $SubscriptionId + '" />'`
      + '<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="' + $TenantId + '" />'`
      + '<Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />'`
      + '<Property xsi:type="StringProperty" Name="AuthenticationMode" Value="UserAssignedManagedIdentity" />'`
      + '</CustomProperties>'

      New-Item -ConnectionType "Custom" `
      -CustomProperties $CustomProperties `
      -HypervisorAddress @($HypervisorAddress) `
      -Path @("XDHyp:\Connections\$($ConnectionName)") `
      -Metadata $Metadata `
      -Persist `
      -PluginId "AzureRmFactory" `
      -Scope @() `
      -Password $Password `
      -UserName $UserName `
      -ZoneUid $zoneUid
    • Para a identidade gerenciada atribuída ao sistema:
      $UserName = "It can be any string. Not used"
      $Password = "It can be any string. Not used"  
      $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="' + $SubscriptionId + '" />'`
      + '<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="' + $TenantId + '" />'`
      + '<Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />'`
      + '<Property xsi:type="StringProperty" Name="AuthenticationMode" Value="SystemAssignedManagedIdentity" />'`
      + '</CustomProperties>'

      New-Item -ConnectionType "Custom" `
      -CustomProperties $CustomProperties `
      -HypervisorAddress @($HypervisorAddress) `
      -Path @("XDHyp:\Connections\$($ConnectionName)") `
      -Metadata $Metadata `
      -Persist `
      -PluginId "AzureRmFactory" `
      -Scope @() `
      -Password $Password `
      -UserName $UserName `
      -ZoneUid $zoneUid

Gerenciar o Azure Managed Identity de uma conexão de hospedagem existente

Usar o Studio

Após criar uma conexão de hospedagem, você pode optar por atualizar a conexão de hospedagem existente para ter:
  • Identidade gerenciada atribuída pelo sistema
  • Identidade gerenciada atribuída pelo usuário
  • Uma nova identidade gerenciada atribuída pelo usuário
  1. No Studio, selecione Hospedagem no painel esquerdo.
  2. Selecione a conexão e, em seguida, selecione Editar Conexão na barra de ações.
  3. Na página Propriedades da Conexão que aparece, clique em Editar modo de autenticação. Agora você pode optar por atualizar o modo de autenticação.
    • Clique em Identidade gerenciada atribuída pelo usuário para usar a identidade gerenciada atribuída pelo usuário para essa conexão de hospedagem. Siga o ID do Cliente a ser preenchido.
    • Clique em Identidade gerenciada atribuída pelo sistema para usar a identidade gerenciada atribuída pelo sistema para essa conexão de hospedagem.

Usar o PowerShell

Você também pode atualizar uma conexão de host existente usando o PowerShell para usar uma identidade atribuída pelo sistema ou uma identidade gerenciada atribuída pelo usuário. Por exemplo, execute os seguintes comandos do PowerShell:
  1. Abra uma janela do PowerShell.
  2. Execute asnp citrix* para carregar os módulos do PowerShell específicos da Citrix.
  3. Execute os seguintes comandos:
    $connName = "ConnectionName"
    $conn = get-item XDHyp:\Connections\$connName
    $conn.CustomProperties
  4. Mude ProxyHypervisorTrafficThroughConnector para True e adicione a propriedade personalizada para AuthenticationMode definida como SystemAssignedManagedIdentity ou UserAssignedManagedIdentity. Por exemplo:
    $customProps = '<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="subscriptionId" /><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="tenantId" /><Property xsi:type="StringProperty" Name="AzureAdDeviceManagement" Value="false" /><Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="true" /><Property xsi:type="StringProperty" Name="AuthenticationMode" Value="SystemAssignedManagedIdentity" /></CustomProperties>'
  5. Execute $cred = Get-Credential. Insira qualquer coisa aqui.
  6. Execute Set-Item -PSPath XDHyp:\Connections\$connName -CustomProperties $CustomProperties -username $cred.username -Securepassword $cred.password.

Zonas Estendidas do Azure

As Zonas Estendidas do Azure são extensões de pequena pegada de regiões existentes do Azure, permitindo que as organizações executem cargas de trabalho mais perto de seus usuários para melhorar o desempenho e a conformidade. O MCS no Azure agora oferece suporte ao provisionamento e gerenciamento de energia para VMs em Zonas Estendidas.
Para saber mais sobre as Zonas Estendidas do Azure, consulte a documentação da Microsoft: documentação das Zonas Estendidas do Azure.

Casos de uso

Este recurso é aplicável para catálogos persistentes e não persistentes:
  • VMs somente gerenciadas por energia: você pode importar suas VMs de zona estendida existentes para um catálogo somente gerenciado por energia e gerenciá-las com o Citrix MCS.
  • VMs provisionadas pelo MCS: você pode provisionar novas VMs em uma Zona Estendida e gerenciá-las com o MCS. Este recurso também inclui suporte para fluxos de trabalho de gerenciamento de imagens.

Limitações

Atualmente, existem várias limitações para o uso das Zonas Estendidas do Azure. Muitas dessas limitações são devido às restrições atuais do Azure:
  • Hosts dedicados não são suportados.
  • Reservas de capacidade não são suportadas.
  • Grupos de posicionamento por proximidade não são suportados.
  • VMs Spot não são suportadas.
  • Zonas de Disponibilidade não são suportadas em Zonas Estendidas.
  • Apenas os tipos de armazenamento StandardSSD_LRS e Premium_LRS são suportados.
  • Atualmente, você não pode usar o recurso UseSharedImageGallery para salvar uma imagem mestre em uma Galeria de Computação do Azure (ou Galeria de Imagens Compartilhadas) em uma Zona Estendida. Como um subproduto, os discos de SO efêmeros também não são suportados.
  • Se você estiver usando uma versão de imagem da Galeria de Computação do Azure como sua imagem mestre, certifique-se de que a replicação foi totalmente concluída na Zona Estendida antes de tentar usá-la. Tentar usar a versão da imagem antes que a replicação seja concluída pode resultar em falha na implantação.

Pré-requisitos

Antes de usar as Zonas Estendidas, certifique-se de ter concluído as seguintes etapas de pré-requisito:
  1. Registrar no Azure:
    1. As Zonas Estendidas não são habilitadas por padrão.
    2. Registre o provedor de recursos Microsoft.EdgeZones em sua assinatura do Azure: Registre sua assinatura para o provedor de recursos Microsoft.EdgeZones.
    3. Registre cada Zona Estendida necessária separadamente (ex: LosAngeles, Perth): Registrar para uma Zona Estendida do Azure.
  2. Preparar recursos Citrix:
    1. Crie uma rede virtual em sua Zona Estendida.
    2. Crie imagens mestre e instantâneos conforme necessário.

Permissões necessárias

Para criar um catálogo em uma Zona Estendida, seu principal de serviço deve ter a seguinte permissão: Microsoft.EdgeZones/extendedZones/read.
Para obter mais informações sobre as permissões mínimas necessárias, consulte Permissões mínimas.

Etapas de configuração

  1. Criar uma Unidade de Hospedagem em uma Zona Estendida
    As Zonas Estendidas, que usam o tipo .extendedzone, são listadas junto com as regiões no inventário do Citrix MCS. Para provisionar em uma zona estendida, você deve criar uma nova unidade de hospedagem vinculada a essa zona estendida.
    Exemplo: Para criar uma Unidade de Hospedagem na Zona Estendida de Los Angeles
    $RootPath = "XDHyp:\Connections\MyConnectionName\Los Angeles.extendedzone"

    $NetworkPath = "XDHyp:\Connections\MyConnectionName\Los Angeles.extendedzone\virtualprivatecloud.folder\MyResourceGroup.resourcegroup\MyExtendedZoneNetwork.virtualprivatecloud\MyExtendedZoneSubnet.network"

    $HostingUnitPath = "XDHyp:\HostingUnits\MyHostingUnitName"

    New-Item -HypervisorConnectionName MyConnectionName -NetworkPath @($NetworkPath) -Path @($HostingUnitPath) -RootPath $RootPath -StoragePath @()
  2. Criar um Catálogo MCS em uma Zona Estendida
    Após criar sua Unidade de Hospedagem, prossiga com a criação do catálogo usando o Studio ou o PowerShell. Certifique-se de que seu catálogo faça referência à Unidade de Hospedagem da Zona Estendida.

Solução de problemas

Se você encontrar problemas, verifique o seguinte:
  1. Certifique-se de que sua assinatura esteja registrada para zonas estendidas.
    1. Confirme se sua assinatura está registrada com o provedor de recursos Microsoft.EdgeZones.
    2. Certifique-se de que cada Zona Estendida seja registrada individualmente.
  2. Verifique se seu principal de serviço tem a nova permissão.
    1. Seu principal de serviço deve ter a permissão Microsoft.EdgeZones/extendedZones/read.
Itens de inventário em Zonas Estendidas podem ser mostrados como "Zona Estendida Desconhecida" se o registro ou as permissões estiverem faltando.
Nota:
Se você estiver criando um catálogo na região pai usando uma imagem mestre de uma Zona Estendida, o registro e as permissões para a Zona Estendida ainda serão necessários.

Usar um grupo de segurança de rede pré-criado

Crie um grupo de segurança de rede Deny-All para preparação de imagem em vez de solicitar que a Citrix crie e modifique o NSG. Edite as propriedades personalizadas da unidade de hospedagem usando um comando PowerShell Set-Item para incluir o parâmetro NsgForPreparation para fornecer o grupo de segurança de rede Deny-All.

Pré-requisitos

Configure as seguintes permissões necessárias para uma entidade de serviço:
  • Microsoft.Network/networkSecurityGroups/join/action: Associar um grupo de segurança de rede a uma sub-rede ou interface de rede
  • Microsoft.Network/networkSecurityGroups/read: Obtém o grupo de segurança de rede
  • Microsoft.Network/networkSecurityGroups/securityRules/read: Obtém a regra

Adicionar o grupo de segurança de rede Deny-All pré-criado

Para adicionar o grupo de segurança de rede Deny-All pré-criado, defina as propriedades personalizadas da seguinte forma na unidade de hospedagem:
  1. Abra uma janela do PowerShell usando o SDK do PowerShell Remoto.
  2. Execute os seguintes comandos:
    Add-PSSnapin citrix*.
    cd XDHyp:\HostingUnits\
    Dir
  3. Selecione uma unidade de hospedagem para recuperar os detalhes:
    Get-Item "XDHyp:\HostingUnits\<hostingunitname>"
  4. Copie as CustomProperties para um bloco de notas e anexe a configuração da propriedade <Property xsi:type="StringProperty" Name="NsgForPreparation" Value="{ResourceGroupName}/{NetworkSecurityGroupName}"/>. Por exemplo:
    <CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"NsgForPreparation`" Value=`{ResourceGroupName}/{NetworkSecurityGroupName}`"/></CustomProperties>
  5. Na janela do PowerShell, atribua uma variável às propriedades personalizadas modificadas. Por exemplo:
    $customProperty = "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"NsgForPreparation`" Value=`"{ResourceGroupName}/{NetworkSecurityGroupName}`"/></CustomProperties>"
  6. Execute $cred = Get-Credential. Se solicitado, forneça as credenciais de conexão. As credenciais são ID do Aplicativo Azure e segredo.
  7. Execute o seguinte comando.
    Set-Item -PSPath XDHyp:\HostingUnits\<hostingunitname> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password
    Importante:
    Se você receber uma mensagem informando que SubscriptionId está faltando, substitua todas as aspas duplas (“) por um acento grave seguido de aspas duplas (`”) na propriedade personalizada.
  8. Execute dir para verificar as configurações CustomProperties atualizadas.
Nota:
Leva mais de um minuto para que as atualizações sejam refletidas.

Recuperar detalhes do grupo de segurança de rede

Para recuperar os detalhes do grupo de segurança de rede, primeiro recupere os grupos de recursos que contêm o grupo de segurança de rede e, em seguida, recupere o grupo de segurança de rede com base no nome do grupo de recursos.
  1. Recupere os grupos de recursos que contêm o grupo de segurança de rede. Por exemplo:
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["networksecuritygroup"]}'
  2. Recupere o grupo de segurança de rede com base no nome do grupo de recursos. Por exemplo:
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType securitygroup -MaxRecords 5 -AdditionalDataFilter '{"location": ["eastus", "westus"], "resourcegroup":["resourcegroupname"]}'

Filtrar grupos de recursos vazios

Use o comando PowerShell Get-HypInventoryItem para filtrar grupos de recursos vazios ao selecionar uma imagem mestre, perfil de máquina ou imagem preparada durante a criação do catálogo de máquinas.
Exemplos:
  • Recuperar o número máximo de registros em uma página:
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5
  • Recuperar o número máximo de registros em uma página e filtrar para encontrar contêineres de recursos que tenham recursos específicos.
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}'
  • Recuperar com salto para indicar diretamente a página e filtrar para encontrar contêineres de recursos que tenham recursos específicos.
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -skip 20 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}'
  • Usar um token para recuperar a próxima página e filtrar para encontrar contêineres de recursos que tenham recursos específicos.
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}' -ContinuationToken 'ew0KICAiJGlkIjogIjEiLA0KICAiTWF4Um93cyI6IDUsDQogICJSb3dzVG9Ta2lwIjogMjUsDQogICJLdXN0b0NsdXN0ZXJVcmwiOiAiaHR0cHM6Ly9hcmctbmV1LTEzLXNmLmFyZy5jb3JlLndpbmRvd3MubmV0Ig0KfQ=='
  • Recuperar todos os grupos de recursos com a tag interna do Citrix e limitar o número máximo de registros com MaxRecords.
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5
  • Filtrar por perfil de máquina (imagem mestre) com a tag interna do Citrix e limitar o número máximo de registros com MaxRecords.
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}'
  • Filtrar por imagem preparada com a tag interna do Citrix e limitar o número máximo de registros com MaxRecords.
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion"]}'
  • Filtrar por perfil de máquina (imagem preparada) com a tag interna do Citrix e limitar o número máximo de registros com MaxRecords.
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}'
  • Filtrar por imagem com a tag interna do Citrix e limitar o número máximo de registros com MaxRecords e localização.
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"], "location": ["eastus", "westus"]}'
  • Recuperar todos os grupos de recursos sem considerar as tags CitrixResource.
    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 50 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"]}' -Force $true

Permissões do Azure necessárias

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

Criando 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",
"Microsoft.Resources/providers/read",
"Microsoft.Resources/subscriptions/locations/read",
"Microsoft.Resources/tenants/read",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/read",
"Microsoft.EdgeZones/extendedZones/read"

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",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",

Criando, atualizando ou excluindo VMs

Crie um catálogo de máquinas, 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 na mesma região da conexão de hospedagem.
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"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.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/write",
"Microsoft.Features/providers/features/read",
"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",
"Microsoft.Network/locations/usages/read",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read",
"Microsoft.Compute/capacityReservationGroups/deploy/action"
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 na mesma região da conexão de hospedagem:
    "Microsoft.Storage/storageAccounts/read",
    "Microsoft.Storage/storageAccounts/listKeys/action",
  • Se a imagem mestre for uma ImageVersion da Azure Compute Gallery (anteriormente Shared Image Gallery):
    "Microsoft.Compute/galleries/read",
    "Microsoft.Compute/galleries/images/read",
    "Microsoft.Compute/galleries/images/versions/read",
  • Se a imagem mestre for um disco gerenciado, 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",
    "Microsoft.Storage/checknameavailability/read",
    "Microsoft.Storage/locations/usages/read",
    "Microsoft.Storage/skus/read",
  • Se você usar o grupo de recursos gerenciado pela Citrix:
    "Microsoft.Resources/subscriptions/resourceGroups/write",
    "Microsoft.Resources/subscriptions/resourceGroups/delete",
  • Se você colocar a imagem mestre na Azure Compute Gallery (anteriormente Shared Image Gallery) em um locatário ou assinatura compartilhada:
    "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",
    "Microsoft.Resources/subscriptions/read",
  • Se você usar o suporte a host dedicado do Azure:
    "Microsoft.Compute/hostGroups/read",
    "Microsoft.Compute/hostGroups/write",
    "Microsoft.Compute/hostGroups/hosts/read",
  • Se você usar a Criptografia do Lado do Servidor (SSE) com Chaves Gerenciadas pelo Cliente (CMK):
    "Microsoft.Compute/diskEncryptionSets/read",
  • 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",
    "Microsoft.Insights/DataCollectionRuleAssociations/Read",
    "Microsoft.Insights/dataCollectionRules/read",
  • 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",

Criando, atualizando e excluindo 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 o grupo de recursos é fornecido pelo administrador:
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"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",
"Microsoft.Network/locations/usages/read"

Gerenciamento de Custos

A seguir está a permissão mínima necessária para recuperar o preço da VM:
"Microsoft.Consumption/pricesheets/read"
A seguir está a permissão mínima necessária para recuperar o custo da VM:
"Microsoft.CostManagement/query/read"
Nota:
Para visualizar a guia Cost Insights de um catálogo de máquinas do Azure, você deve ter a permissão Gerenciamento de Custos > Gerenciar > Ler custo (padrão para Administradores de Nuvem). Para obter informações sobre a guia Cost Insights, consulte Exibir detalhes do catálogo.

Permissões gerais

A função de Colaborador tem acesso total para gerenciar todos os recursos. Este conjunto de permissões não o impede de obter novos recursos.
O seguinte conjunto de permissões oferece 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.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/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.Network/locations/usages/read",
"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.Resources/providers/read",
"Microsoft.Resources/subscriptions/locations/read",
"Microsoft.Resources/subscriptions/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Resources/tenants/read",
"Microsoft.Resources/templateSpecs/read",
"Microsoft.Resources/templateSpecs/versions/read",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"Microsoft.Features/providers/features/read",
"Microsoft.Insights/DataCollectionRuleAssociations/Read",
"Microsoft.Insights/dataCollectionRules/read",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read",
"Microsoft.Consumption/pricesheets/read",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/read",
"Microsoft.Compute/capacityReservationGroups/deploy/action",
"Microsoft.EdgeZones/extendedZones/read"

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

Você pode configurar facilmente todas as permissões mínimas necessárias para uma entidade de serviço ou conta de usuário no Azure, vinculada a uma conexão de host, para executar todas as operações do MCS usando um modelo ARM. Este modelo 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 desta função a um Azure Service Principal existente no nível da assinatura.
Você pode implantar este modelo ARM usando o Portal do Azure ou comandos do PowerShell. Para obter mais informações, consulte Modelo ARM para Operações do Citrix Virtual Apps and Desktops.

Validar permissões na conexão do host

Você pode validar as permissões em uma conexão de host para realizar tarefas relacionadas à criação e gerenciamento de catálogos de máquinas MCS. Essa implementação ajuda você a descobrir as permissões ausentes necessárias para diferentes cenários, como criar, excluir e atualizar VMs, gerenciamento de energia de VMs, com antecedência para que você possa evitar ser bloqueado em momentos críticos.
Você pode validar as permissões em uma conexão de host usando o comando PowerShell Test-HypHypervisorConnection. O resultado do comando é capturado como uma lista onde cada item da lista é dividido em três seções.
  • Categoria: A ação ou tarefa que um usuário pode fazer para criar e gerenciar um catálogo de máquinas MCS.
  • Ação Corretiva: A etapa que um administrador deve realizar para resolver uma discrepância de permissões ausentes dos usuários.
  • Permissão ausente: A lista de permissões ausentes para uma categoria.
Para validar as permissões, faça o seguinte:
  1. Crie uma conexão de host com o Azure.
  2. Abra uma janela do PowerShell a partir do host do Delivery Controller™.
  3. Execute asnp citrix* para carregar os módulos PowerShell específicos da Citrix.
  4. Execute o seguinte comando para verificar se você tem as permissões necessárias para testar uma conexão.
    Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AzureCon"
    Permissão de nível de função necessária para o SPN:
    • Microsoft.Authorization/roleDefinitions/read (no nível da assinatura ou no nível do grupo de recursos, se o grupo de recursos for fornecido)
    • Microsoft.Authorization/roleAssignments/read (no nível da assinatura ou no nível do grupo de recursos, se o grupo de recursos for fornecido)
    Permissões de nível de API necessárias para o SPN:
    Microsoft.Graph:
    • Application.Read.All
    • Directory.Read.All
    • ServicePrincipalEndpoint.Read.All
  5. Depois de adicionar as permissões ausentes necessárias para pesquisar suas permissões, execute o seguinte comando para verificar se você tem permissões nas várias categorias.
    Exemplo:
    Para testar uma conexão no nível da assinatura com um nível mais alto de autorização necessário:
    Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\ AzureCon -SecurePassword $password -UserName 922e65d5-38ae-4cf5-xxxx-xxxxxxxxx
    Exemplo:
    Para testar uma conexão no nível do grupo de recursos sem um alto nível de autorização:
    Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\testles -CustomProperties $customProperties | Format-List
    Nota:
    O parâmetro CustomProperties é usado para fornecer o nível do grupo de recursos porque o grupo de recursos é uma informação específica da conexão.
    Exemplo:
    Para testar uma conexão com o nível mais alto de autorização no nível do grupo de recursos:
    Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\testles -SecurePassword $password -UserName 922e65d5-38ae-4cf5-832b-54122196b7dd -CustomProperties $customProperties
Para obter informações sobre permissões, consulte Permissões do Azure necessárias.

Onde ir em seguida

Mais informações