Ambientes de nuvem AWS
Este artigo o orienta na configuração de sua conta AWS como um local de recurso que você pode usar com o Citrix Virtual Apps and Desktops. O local de recurso inclui um conjunto básico de componentes, ideal para uma prova de conceito ou outra implantação que não exija recursos espalhados por várias zonas de disponibilidade. Depois de concluir essas tarefas, você pode instalar VDAs, provisionar máquinas, criar catálogos de máquinas e criar Delivery Groups.
Ao concluir as tarefas neste artigo, seu local de recurso inclui os seguintes componentes:
-
Uma nuvem privada virtual (VPC) com sub-redes públicas e privadas dentro de uma única zona de disponibilidade.
-
Uma instância que funciona como um Controlador de Domínio do Active Directory e servidor DNS, localizada na sub-rede privada da VPC.
-
Uma instância que atua como um host bastion na sub-rede pública de sua VPC. Esta instância é usada para iniciar conexões RDP com as instâncias na sub-rede privada para fins de administração. Depois de concluir a configuração do seu local de recurso, você pode desligar esta instância para que ela não seja mais facilmente acessível. Quando você precisar gerenciar outras instâncias na sub-rede privada, como instâncias VDA, você pode reiniciar a instância do host bastion.
Limitação
A partir do Citrix Virtual Apps and Desktops 2203 LTSR e posterior, o plug-in MCS AWS faz a chamada de API AWS
DescribeInstanceTypes e, se for bem-sucedida, o MCS usa o nome de inventário criado a partir da resposta da API.
Portanto, ao fazer upgrade do CVAD 1912 para 2203 ou posterior, desabilite a permissão
DefineInstanceType no AWS e, em seguida, atualize o catálogo existente usando o comando Set-ProvScheme para corresponder ao esquema de nomenclatura do AWS. Em seguida, adicione as permissões DescribeInstanceType de volta após a conclusão da atualização do catálogo e o serviço oferecido corresponder ao esquema de nomenclatura do AWS.
Visão geral da tarefa
Configure uma nuvem privada virtual (VPC) com sub-redes públicas e privadas. Ao concluir esta tarefa, o AWS implanta um gateway NAT com um endereço IP Elástico na sub-rede pública. Esta ação permite que as instâncias na sub-rede privada acessem a Internet. As instâncias na sub-rede pública são acessíveis ao tráfego público de entrada, enquanto as instâncias na sub-rede privada não são.
Configurar grupos de segurança. Os grupos de segurança atuam como firewalls virtuais que controlam o tráfego para as instâncias em sua VPC. Você adiciona regras aos seus grupos de segurança que permitem que as instâncias em sua sub-rede pública se comuniquem com as instâncias em sua sub-rede privada. Você também associa esses grupos de segurança a cada instância em sua VPC.
Crie um conjunto de opções DHCP. Com uma VPC da Amazon, os serviços DHCP e DNS são fornecidos por padrão, o que afeta como você configura o DNS em seu controlador de domínio do Active Directory. O DHCP da Amazon não pode ser desabilitado e o DNS da Amazon pode ser usado apenas para resolução de DNS público, não para resolução de nomes do Active Directory. Para especificar o domínio e os servidores de nomes entregues às instâncias via DHCP, crie um conjunto de opções DHCP. O conjunto atribui o sufixo de domínio do Active Directory e especifica o servidor DNS para todas as instâncias em sua VPC. Para garantir que os registros Host (A) e Reverse Lookup (PTR) sejam registrados automaticamente quando as instâncias ingressarem no domínio, você configura as propriedades do adaptador de rede para cada instância que você adiciona à sub-rede privada.
Adicione um host bastion e um controlador de domínio à VPC. Através do host bastion, você pode fazer logon em instâncias na sub-rede privada para configurar o domínio e unir instâncias ao domínio.
Tarefa 1: Configurar a VPC
-
No console de gerenciamento da AWS, selecione VPC.
-
No Painel da VPC, selecione Criar VPC.
-
Selecione VPC e mais.
-
Em NAT gateways ($), selecione Em 1 AZ ou 1 por AZ.
-
Em opções de DNS, deixe Habilitar nomes de host DNS selecionado.
-
Selecione Criar VPC. A AWS cria as sub-redes públicas e privadas, o gateway de Internet, as tabelas de rotas e o grupo de segurança padrão.
Tarefa 2: Configurar grupos de segurança
Esta tarefa cria e configura os seguintes grupos de segurança para sua VPC:
-
Um grupo de segurança público para associar às instâncias em sua sub-rede pública.
-
Um grupo de segurança privado para associar às instâncias em sua sub-rede privada.
Para criar os grupos de segurança:
-
No Painel da VPC, selecione Grupos de Segurança.
-
Crie um grupo de segurança para o grupo de segurança público. Selecione Criar Grupo de Segurança e insira uma tag de nome e uma descrição para o grupo. Em VPC, selecione a VPC que você criou anteriormente. Selecione Sim, Criar.
Configurar o grupo de segurança público
-
Na lista de grupos de segurança, selecione o grupo de segurança público.
-
Selecione a guia Inbound Rules e selecione Edit para criar as seguintes regras:
Tipo Origem TODO o Tráfego Selecione o grupo de segurança Privado. TODO o Tráfego Selecione o grupo de segurança Público. ICMP 0.0.0.0/0 22 (SSH) 0.0.0.0/0 80 (HTTP) 0.0.0.0/0 443 (HTTPS) 0.0.0.0/0 1494 (ICA/HDX) 0.0.0.0/0 2598 (Confiabilidade da Sessão) 0.0.0.0/0 3389 (RDP) 0.0.0.0/0 -
Quando terminar, selecione Salvar.
-
Selecione a guia Outbound Rules e selecione Edit para criar as seguintes regras:
Tipo Destino TODO o Tráfego Selecione o grupo de segurança Privado. TODO o Tráfego 0.0.0.0/0 ICMP 0.0.0.0/0 -
Quando terminar, selecione Salvar.
Configurar o grupo de segurança privado
-
Na lista de grupos de segurança, selecione o grupo de segurança Privado.
-
Se você não configurou o tráfego do grupo de segurança público, você deve definir as portas TCP; selecione a guia Inbound Rules e selecione Edit para criar as seguintes regras:
Tipo Origem TODO o Tráfego Selecione o grupo de segurança Privado. TODO o Tráfego Selecione o grupo de segurança Público. ICMP Selecione o grupo de segurança Público. TCP 53 (DNS) Selecione o grupo de segurança Público. UDP 53 (DNS) Selecione o grupo de segurança Público. 80 (HTTP) Selecione o grupo de segurança Público. TCP 135 Selecione o grupo de segurança Público. TCP 389 Selecione o grupo de segurança Público. UDP 389 Selecione o grupo de segurança Público. 443 (HTTPS) Selecione o grupo de segurança Público. TCP 1494 (ICA/HDX) Selecione o grupo de segurança Público. TCP 2598 (Confiabilidade da Sessão) Selecione o grupo de segurança Público. 3389 (RDP) Selecione o grupo de segurança Público. TCP 49152–65535 Selecione o grupo de segurança Público. -
Quando terminar, selecione Salvar.
-
Selecione a guia Outbound Rules e selecione Edit para criar as seguintes regras:
Tipo Destino TODO o Tráfego Selecione o grupo de segurança Privado. TODO o Tráfego 0.0.0.0/0 ICMP 0.0.0.0/0 UDP 53 (DNS) 0.0.0.0/0 -
Quando terminar, selecione Salvar.
Tarefa 3: Iniciar instâncias
Execute as seguintes etapas para criar duas instâncias EC2 e descriptografar a senha padrão do Administrador que a Amazon gera:
-
No console de gerenciamento da AWS, selecione EC2.
-
No Painel do EC2, selecione Iniciar Instância.
-
Selecione uma imagem de máquina do Windows Server e o tipo de instância.
-
Na página Configure Instance Details, insira um nome para a instância e selecione a VPC que você configurou anteriormente.
-
Em Sub-rede, faça as seguintes seleções para cada instância:
-
Host bastion: Selecione a sub-rede Pública
-
Controlador de Domínio: Selecione a sub-rede Privada
-
-
Em Atribuir automaticamente endereço IP público, faça as seguintes seleções para cada instância:
-
Host de bastião: Selecione Habilitar.
-
Controlador de Domínio: Selecione Usar configuração padrão ou Desabilitar.
-
-
Em Interfaces de Rede, insira um endereço IP primário dentro do intervalo de IP da sua sub-rede privada para o Controlador de Domínio.
-
Se necessário, na página Adicionar Armazenamento, modifique o tamanho do disco.
-
Na página Marcar Instância, insira um nome amigável para cada instância.
-
Na página Configurar Grupos de Segurança, selecione Selecionar um grupo de segurança existente e, em seguida, faça as seguintes seleções para cada instância:
-
Host bastion: Selecione o grupo de segurança Público.
-
Controlador de Domínio: Selecione o grupo de segurança Privado.
-
-
Revise suas seleções e, em seguida, selecione Iniciar.
-
Crie um novo par de chaves ou selecione um existente. Se você criar um novo par de chaves, baixe seu arquivo de chave privada (.pem) e mantenha-o em um local seguro. Você deve fornecer sua chave privada ao adquirir a senha de Administrador padrão para a instância.
-
Selecione Iniciar Instâncias. selecione Visualizar Instâncias para exibir uma lista de suas instâncias. Aguarde até que a instância recém-iniciada tenha passado em todas as verificações de status antes de acessá-la.
-
Adquira a senha de Administrador padrão para cada instância:
-
Na lista de instâncias, selecione a instância e, em seguida, selecione Conectar.
-
Vá para a guia Cliente RDP, selecione Obter Senha e carregue seu arquivo de chave privada (
.pem) quando solicitado. -
Selecione Descriptografar Senha para obter a senha legível. A AWS exibe a senha padrão.
-
-
Repita as etapas a partir da etapa 2 até que você tenha criado duas instâncias:
-
Uma instância de host bastion em sua sub-rede pública
-
Uma instância em sua sub-rede privada que será usada como um Controlador de Domínio.
-
Tarefa 4: Criar um conjunto de opções DHCP
-
No Painel da VPC, selecione Conjuntos de Opções DHCP.
-
Insira as seguintes informações:
-
Tag de nome: Insira um nome amigável para o conjunto.
-
Nome de domínio: Insira o nome de domínio totalmente qualificado que você usa ao configurar a instância do Controlador de Domínio.
-
Servidores de nome de domínio: Insira o endereço IP privado que você atribuiu à instância do Controlador de Domínio e a string AmazonProvidedDNS, separados por vírgulas.
-
Servidores NTP: Deixe este campo em branco.
-
Servidores de nome NetBIOS: Insira o endereço IP privado da instância do Controlador de Domínio.
-
Tipo de nó NetBIOS: Insira 2.
-
-
Selecione Sim, Criar.
-
Associe o novo conjunto à sua VPC:
-
No Painel da VPC, selecione Suas VPCs e, em seguida, selecione a VPC que você configurou anteriormente.
-
Selecione Ações > Editar Conjunto de Opções DHCP.
-
Quando solicitado, selecione o novo conjunto que você criou e então selecione Salvar.
-
Tarefa 5: Configurar as instâncias
-
Usando um cliente RDP, conecte-se ao endereço IP público da instância do host bastion. Quando solicitado, insira as credenciais da conta de Administrador.
-
Da instância do host de bastião, inicie a Conexão de Área de Trabalho Remota e conecte-se ao endereço IP privado da instância que você deseja configurar. Quando solicitado, insira as credenciais de Administrador para a instância.
-
Para todas as instâncias na sub-rede privada, configure as configurações de DNS:
-
Selecione Iniciar > Painel de Controle > Rede e Internet > Central de Rede e Compartilhamento > Alterar configurações do adaptador. Clique duas vezes na conexão de rede exibida.
-
Selecione Propriedades > Protocolo de Internet Versão 4 (TCP/IPv4) > Propriedades.
-
Selecione Avançado > DNS. Certifique-se de que as seguintes configurações estejam habilitadas e selecione OK:
-
Registrar os endereços desta conexão no DNS
-
Usar o sufixo DNS desta conexão no registro DNS
-
-
-
Para configurar o Controlador de Domínio:
-
Usando o Gerenciador de Servidores, adicione a função Serviços de Domínio Active Directory com todos os recursos padrão.
-
Promova a instância a um Controlador de Domínio. Durante a promoção, habilite o DNS e use o nome de domínio que você especificou ao criar o conjunto de opções DHCP. Reinicie a instância quando solicitado.
-
Criar uma conexão
Ao criar uma conexão a partir do Studio:
-
Você deve fornecer os valores da chave de API e da chave secreta. Você pode exportar o arquivo de chave contendo esses valores do 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 do AWS (recuperado do console do AWS) não é formatado da mesma forma que os arquivos de credenciais baixados para usuários padrão do 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).
Nota:
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 de endpoint de serviço de 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.
Locação AWS
O AWS oferece as seguintes opções de locação: locação compartilhada (o tipo padrão) e locação dedicada. Locação compartilhada significa que várias instâncias do Amazon EC2 de diferentes clientes podem residir na mesma peça de hardware físico. Locação dedicada significa que suas instâncias EC2 são executadas apenas em hardware com outras instâncias que você implantou. Outros clientes não usam a mesma peça de hardware.
Você pode usar o MCS para provisionar hosts dedicados da AWS usando o PowerShell.
Configurar a locação de host dedicado do AWS usando o PowerShell
Você pode criar um catálogo de máquinas com locação de host definida através do PowerShell.
Um host dedicado Amazon é um servidor físico com capacidade de instância que é totalmente dedicado, permitindo que você use licenças de software existentes por soquete ou por VM.
Hosts dedicados têm utilização predefinida com base no tipo de instância. Por exemplo, um único host dedicado alocado de tipos de instância C4 Large é limitado a executar 16 instâncias. Consulte o site da AWS para obter mais informações.
Os requisitos para provisionamento em hosts da AWS incluem:
-
Uma imagem BYOL (traga sua própria licença) importada (AMI). Com hosts dedicados, use e gerencie suas licenças existentes.
-
Uma alocação de hosts dedicados com utilização suficiente para satisfazer as solicitações de provisionamento.
-
habilitar auto-placement.
Para provisionar para um host dedicado na AWS usando PowerShell, use o cmdlet New-ProvScheme com o parâmetro TenancyType definido como Host.
Consulte a Citrix Developer Documentation para obter mais informações.
Captura de propriedades de instância AWS
Ao criar um catálogo para provisionar máquinas usando o Machine Creation Services (MCS) na AWS, você seleciona uma AMI para representar a imagem mestre/dourada desse catálogo. Dessa AMI, o MCS usa um instantâneo do disco. Em versões anteriores, se você quisesse funções ou tags em suas máquinas, você usaria o console da AWS para configurá-las individualmente. Essa funcionalidade é habilitada por padrão.
Dica:
Para usar a captura de propriedades de instância AWS, você deve ter uma VM associada à AMI.
Para melhorar esse processo, o MCS lê as propriedades da instância da qual a AMI foi tirada e aplica a função e as tags do Identity Access Management (IAM) da máquina às máquinas provisionadas para um determinado catálogo. Ao usar esse recurso opcional, o processo de criação do catálogo encontra a instância de origem da AMI selecionada, lendo um conjunto limitado de propriedades. Essas propriedades são então armazenadas em um Modelo de Inicialização da AWS, que é usado para provisionar máquinas para esse catálogo. Qualquer máquina no catálogo herda as propriedades da instância capturadas.
As propriedades capturadas incluem:
-
Funções IAM – aplicadas a instâncias provisionadas.
-
Tags - aplicadas a instâncias provisionadas, seus discos e NICs. Essas tags são aplicadas a recursos transitórios do Citrix®, incluindo: bucket e objetos S3, recursos de volume e worker, e AMIs, instantâneos e modelos de inicialização.
Dica:
A marcação de recursos transitórios do Citrix é opcional e configurável usando a propriedade personalizada
AwsOperationalResourcesTagging.
Capturando a propriedade da instância AWS
Você pode usar esse recurso especificando uma propriedade personalizada,
AwsCaptureInstanceProperties, ao criar um esquema de provisionamento para uma conexão de hospedagem AWS:
New-ProvScheme -CustomProperties “AwsCaptureInstanceProperties,true” …<standard provscheme parameters
Consulte a Citrix Developer Documentation para obter mais informações.
Aplicando propriedades de instância AWS e marcando recursos operacionais
Ao criar um catálogo para provisionar máquinas na AWS usando o MCS, você pode controlar se as propriedades de função IAM e tag serão aplicadas a essas máquinas. Você também pode controlar se as tags da máquina serão aplicadas aos recursos operacionais.
Marcação de recursos operacionais AWS
Uma Amazon Machine Image (AMI) representa um tipo de appliance virtual usado para criar uma máquina virtual dentro do ambiente Amazon Cloud, comumente referido como EC2. Você usa uma AMI para implantar serviços que usam o ambiente EC2. Ao criar um catálogo para provisionar máquinas usando o MCS para AWS, você seleciona a AMI para atuar como a imagem dourada para esse catálogo.
Importante:
A criação de catálogos capturando uma propriedade de instância e um modelo de inicialização é necessária para usar a marcação de recursos operacionais.
Para criar um catálogo AWS, você deve primeiro criar uma AMI para a instância que deseja que seja a imagem dourada. O MCS lê as tags dessa instância e as incorpora ao modelo de inicialização. As tags do modelo de inicialização são então aplicadas a todos os recursos Citrix criados em seu ambiente AWS, incluindo:
-
Máquinas Virtuais
-
Discos de VM
-
Interfaces de rede de VM
-
Buckets S3
-
Objetos S3
-
Modelos de inicialização
-
AMIs
Marcando um recurso operacional
Para usar o PowerShell para marcar recursos:
-
Abra uma janela do PowerShell a partir do host DDC.
-
Execute o comando
asnp citrixpara carregar os módulos PowerShell específicos da Citrix.
Para marcar um recurso para uma VM provisionada, use a nova propriedade personalizada
AwsOperationalResourcesTagging. A sintaxe para esta propriedade é:
New-ProvScheme -CustomProperties “AwsCaptureInstanceProperties,true; AwsOperationalResourcesTagging,true” …<standard provscheme parameters>
Definindo permissões IAM
Use as informações nesta seção para definir permissões IAM para o Citrix DaaS no 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 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:
-
Faça login no console de gerenciamento da AWS e selecione o serviço IAM na lista suspensa.
-
Selecione Criar um Novo Grupo de Usuários.
-
Digite um nome para o novo grupo de usuários e selecione Continuar.
-
Na página Permissões, escolha Política Personalizada. Selecione Selecionar.
-
Digite um nome para a política de Permissões.
-
Na seção Documento de Política, insira as permissões relevantes.
Após inserir as informações da política, selecione Continuar para concluir o grupo de usuários. Os usuários do grupo recebem permissões para executar apenas as ações necessárias para o Citrix DaaS.
Importante:
Use o texto da política fornecido no exemplo acima para listar as ações que um Citrix DaaS usa para executar ações em 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 mais restrições aos recursos.
Adicionando permissões IAM
Defina as permissões na seção IAM do Console de Gerenciamento da AWS:
-
No painel Resumo, selecione a guia Permissões.
-
Selecione Adicionar permissões.
Na tela Adicionar Permissões a, conceda permissões:
Use o seguinte como exemplo na guia 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 obter mais informações.
Sobre permissões AWS
Esta seção contém a lista completa de permissões da 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 obtidas da 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"
],
"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:DescribeLaunchTemplates",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"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 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.
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.
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 nova VM a catálogos de máquinas existentes sem qualquer operação de volume worker, como volume worker AMI e volume worker VM.
-
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 obter mais informações, consulte a 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 Definindo permissões do IAM ou você também pode usar a autenticação baseada em função usando a chave de segurança role_based_auth e a chave secreta.
Importante:
Para usar role_based_auth, primeiro configure a função IAM desejada na instância EC2 do conector de nuvem ao configurar o conector de nuvem. Usando o Citrix 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 usa então a 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:DescribeLaunchTemplates",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"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: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.