Conexão com a AWS

Last published : Nov 13, 2026
Criar e gerenciar conexões e recursos descreve os assistentes que criam uma conexão. As informações a seguir cobrem detalhes específicos para ambientes de nuvem AWS.
Observação:
Antes de criar uma conexão com a AWS, você precisa primeiro concluir a configuração da sua conta AWS como um local de recurso. Consulte Ambientes de nuvem AWS.

Criar uma conexão

Ao criar uma conexão a partir do Web Studio:
  • Você deve fornecer os valores da chave de API e da chave secreta. Você pode exportar o arquivo de chave contendo esses valores da AWS e depois importá-los. Você também deve fornecer a região, zona de disponibilidade, nome da VPC, endereços de sub-rede, nome de domínio, nomes de grupos de segurança e credenciais.
  • O arquivo de credenciais para a conta raiz da AWS (recuperado do console da AWS) não está formatado da mesma forma que os arquivos de credenciais baixados para usuários padrão da AWS. Portanto, o gerenciamento do Citrix Virtual Apps and Desktops™ não pode usar o arquivo para preencher os campos de chave de API e chave secreta. Certifique-se de que você está usando arquivos de credenciais do AWS Identity Access Management (IAM).
Observação:
Depois de criar uma conexão, as tentativas de atualizar a chave de API e a chave secreta podem falhar. Para resolver o problema, verifique as restrições do seu servidor proxy ou firewall e certifique-se de que o seguinte endereço pode ser contatado: https://*.amazonaws.com.

Valores padrão de conexão de host

Ao criar conexões de host em ambientes de nuvem AWS, os seguintes valores padrão são exibidos:
Opção Absoluto Porcentagem
Ações simultâneas (todos os tipos) 125 100
Máximo de novas ações por minuto 125
O MCS suporta 100 operações de provisionamento simultâneas máximas por padrão.

URL do endpoint de serviço

URL do endpoint de serviço da zona padrão

Ao usar o MCS, uma nova conexão AWS é adicionada com uma chave de API e um segredo de API. Com essas informações, juntamente com a conta autenticada, o MCS consulta a AWS para as zonas suportadas usando a chamada de API AWS DescribeRegions EC2. A consulta é feita usando uma URL de endpoint de serviço EC2 genérica https://ec2.amazonaws.com/. Use o MCS para selecionar a zona para a conexão na lista de zonas suportadas. A URL de endpoint de serviço AWS preferencial é selecionada automaticamente para a zona. No entanto, depois de criar a URL do endpoint de serviço, você não pode mais definir ou modificar a URL.

Definir permissões do IAM

Use as informações nesta seção para definir permissões IAM para Citrix Virtual Apps and Desktops na AWS. O serviço IAM da Amazon permite contas com vários usuários, que podem ser ainda mais organizados em grupos. Esses usuários podem possuir diferentes permissões para controlar sua capacidade de realizar operações associadas à conta. Para obter mais informações sobre permissões IAM, consulte a referência de política JSON do IAM.
Para aplicar a política de permissões do IAM a um novo grupo de usuários:
  1. Faça login no console de gerenciamento da AWS e selecione o serviço IAM na lista suspensa.
  2. Selecione Criar um Novo Grupo de Usuários.
  3. Digite um nome para o novo grupo de usuários e selecione Continuar.
  4. Na página Permissões, escolha Política Personalizada. Selecione Selecionar.
  5. Digite um nome para a política de Permissões.
  6. Na seção Documento de Política, insira as permissões relevantes.
Após inserir as informações da política, selecione Continuar para completar o grupo de usuários. Os usuários do grupo recebem permissões para executar apenas as ações necessárias para o Citrix Virtual Apps and Desktops.
Importante:
Use o texto da política fornecido no exemplo anterior para listar as ações que o Citrix Virtual Apps and Desktops usa para executar ações dentro de uma conta AWS sem restringir essas ações a recursos específicos. A Citrix recomenda que você use o exemplo para fins de teste. Para ambientes de produção, você pode optar por adicionar restrições adicionais aos recursos.

Definir permissões IAM

Defina as permissões na seção IAM do Console de Gerenciamento da AWS:
  1. No painel Resumo, selecione a guia Permissões.
  2. Selecione Adicionar permissões.
Gerenciamento de Identidade e Acesso (IAM)
Na tela Adicionar Permissões a, conceda permissões:
Conceder permissões para políticas IAM
Use o seguinte como exemplo na guia JSON:
Exemplo de JSON
Dica:
O exemplo JSON mencionado pode não incluir todas as permissões para o seu ambiente. Consulte Como Definir Permissões de Gerenciamento de Acesso de Identidade Executando Citrix Virtual Apps and Desktops no AWS para mais informações.

Permissões AWS necessárias

Esta seção contém a lista completa de permissões do AWS.
Observação:
A permissão iam:PassRole é necessária apenas para role_based_auth.

Criando uma conexão de host

Uma nova conexão de host é adicionada usando as informações do AWS.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs"
                "ec2:DescribeRegions",
                "ec2:DescribeSnapshots",
                "ec2:DescribeLaunchTemplates"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

Gerenciamento de energia de VMs

As instâncias de máquina são ligadas ou desligadas.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:AttachVolume",
                "ec2:CreateVolume",
                "ec2:DeleteVolume",
                "ec2:DescribeInstances",
                "ec2:DescribeVolumes",
                "ec2:DetachVolume",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:DescribeInstanceStatus"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

Criar, atualizar ou excluir VMs

Um catálogo de máquinas é criado, atualizado ou excluído com VMs provisionadas como instâncias AWS.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:AttachVolume",
                "ec2:AssociateIamInstanceProfile",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateImage",
                "ec2:CreateLaunchTemplate",
                "ec2:CreateSecurityGroup",
                "ec2:CreateTags",
                "ec2:CreateVolume",
                "ec2:DeleteVolume",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeIamInstanceProfileAssociations",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeInstanceStatus",
                "ec2:DescribeLaunchTemplates",
                "ec2:DescribeLaunchTemplateVersions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeSpotInstanceRequests",
                "ec2:DescribeInstanceCreditSpecifications",
                "ec2:DescribeInstanceAttribute",
                "ec2:GetLaunchTemplateData",
                "ec2:DescribeVolumes",
                "ec2:DescribeVpcs",
                "ec2:DetachVolume",
                "ec2:DisassociateIamInstanceProfile",
                "ec2:RunInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "s3:CreateBucket",
                "s3:DeleteBucket",
                "s3:PutBucketAcl",
                "s3:PutBucketTagging",
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:PutObjectTagging"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::citrix*"
        },
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:GetSnapshotBlock",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ec2:CreateSnapshot"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
Observação:
A seção EC2 relacionada a grupos de segurança é necessária apenas se um grupo de segurança de isolamento precisar ser criado para a VM de preparação durante a criação do catálogo. Uma vez feito isso, essas permissões não são mais necessárias.

Upload e download direto de disco

O upload direto de disco elimina o requisito de volume worker para provisionamento de catálogo de máquinas e, em vez disso, usa APIs públicas fornecidas pela AWS. Essa funcionalidade reduz o custo associado a contas de armazenamento extras e a complexidade de manter as operações de volume worker.
Observação:
O suporte para volume worker está obsoleto.
As seguintes permissões devem ser adicionadas à política:
  • ebs:StartSnapshot
  • ebs:GetSnapshotBlock
  • ebs:PutSnapshotBlock
  • ebs:CompleteSnapshot
  • ebs:ListSnapshotBlocks
  • ebs:ListChangedBlocks
  • ec2:CreateSnapshot
  • ec2:DeleteSnapshot
  • ec2:DescribeLaunchTemplates
Importante:
  • Você pode adicionar uma VM a catálogos de máquinas existentes sem qualquer operação de volume worker, como AMI de volume worker e VM de volume worker.
  • Se você excluir um catálogo existente que usava volume worker anteriormente, todos os artefatos, incluindo os relacionados ao volume worker, serão excluídos.

Criptografia EBS de volumes criados

O EBS pode criptografar automaticamente volumes recém-criados se a AMI for criptografada, ou se o EBS estiver configurado para criptografar todos os novos volumes. No entanto, para implementar a funcionalidade, as seguintes permissões devem ser incluídas na política do IAM.
{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": "*"
        }
    ]
}
Observação:
As permissões podem ser limitadas a chaves específicas, incluindo um bloco de Recurso e Condição a critério do usuário. Por exemplo, Permissões KMS com Condição:
{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": [
                "arn:aws:kms:us-east-2:123456789012:key/abcd1234-a123-456d-a12b-a123b4cd56ef"
            ],
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}
A seguinte declaração de política de chave é a política de chave padrão completa para chaves KMS que é necessária para permitir que a conta use políticas do IAM para delegar permissão para todas as ações (kms:*) na chave KMS.
{
"Sid": "Enable IAM policies",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:",
"Resource": ""
}
Para mais informações, consulte documentação oficial do AWS Key Management Service.

Autenticação baseada em função do IAM

As seguintes permissões são adicionadas para suportar a autenticação baseada em função.
{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*"
        }
    ]
}

Política de permissões mínimas do IAM

O JSON a seguir pode ser usado para todos os recursos atualmente suportados. Você pode criar conexões de host, criar, atualizar ou excluir VMs e fazer gerenciamento de energia usando esta política. A política pode ser aplicada aos usuários conforme explicado nas seções Definir permissões IAM ou você também pode usar autenticação baseada em função usando a chave de segurança e a chave secreta role_based_auth.
Importante:
Para usar role_based_auth, primeiro configure a função IAM desejada em todos os Delivery Controllers em nosso site. Usando o Web Studio, adicione a conexão de hospedagem e forneça o role_based_auth para a chave de autenticação e o segredo. Uma conexão de hospedagem com essas configurações então usa autenticação baseada em função.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:AttachVolume",
                "ec2:AssociateIamInstanceProfile",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateImage",
                "ec2:CreateLaunchTemplate",
                "ec2:CreateNetworkInterface",
                "ec2:CreateTags",
                "ec2:CreateVolume",
                "ec2:DeleteLaunchTemplate",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteSecurityGroup",
                "ec2:DeleteSnapshot",
                "ec2:DeleteTags",
                "ec2:DeleteVolume",
                "ec2:DeregisterImage",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeIamInstanceProfileAssociations",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeInstanceStatus",
                "ec2:DescribeLaunchTemplates",
                "ec2:DescribeLaunchTemplateVersions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeSpotInstanceRequests",
                "ec2:DescribeInstanceCreditSpecifications",
                "ec2:DescribeInstanceAttribute",
                "ec2:GetLaunchTemplateData",
                "ec2:DescribeVolumes",
                "ec2:DescribeVpcs",
                "ec2:DetachVolume",
                "ec2:DisassociateIamInstanceProfile",
                "ec2:RebootInstances",
                "ec2:RunInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "s3:CreateBucket",
                "s3:DeleteBucket",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutBucketAcl",
                "s3:PutObject",
                "s3:PutBucketTagging",
                "s3:PutObjectTagging"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::citrix*"
        },
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:GetSnapshotBlock",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ec2:CreateSnapshot"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:GenerateDataKey",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*"
        }
    ]
}
Observação:
  • A seção EC2 relacionada a SecurityGroups é necessária apenas se um Grupo de Segurança de Isolamento precisar ser criado para a VM de Preparação durante a criação do catálogo. Uma vez feito isso, essas permissões não são mais necessárias.
  • A seção KMS é necessária apenas ao usar a criptografia de volume EBS.
  • A seção de permissão iam:PassRole é necessária apenas para role_based_auth.
  • Permissões específicas em nível de recurso podem ser adicionadas em vez de acesso total, com base em seus requisitos e ambiente. Consulte os documentos da AWS Demystifying EC2 Resource-Level Permissions e Access management for AWS resources para obter mais detalhes.

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 criação, exclusão e atualização de VMs, gerenciamento de energia de VMs e criptografia EBS, 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 realizar 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 a AWS.
  2. Abra uma janela do PowerShell no 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 consultar suas permissões.
    Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon"
  5. Depois de adicionar as permissões ausentes necessárias para consultar suas permissões, execute o seguinte comando para verificar se você tem permissões nas seguintes categorias:
    • Criar Atualizar excluir
    • Gerenciamento de Energia
    • Criptografia EBS
    Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon" [-SecurePassword -Password] "password" -UserName "" -CustomProperties ""
Para mais informações sobre como adicionar permissões, consulte Definir permissões IAM.

Próximos passos

Mais informações