Conexão com Instâncias Gerenciadas do Amazon WorkSpaces Core
Criar e gerenciar conexões e recursos descreve os assistentes que criam uma conexão. As informações a seguir abrangem detalhes específicos das Instâncias Gerenciadas do Amazon WorkSpaces Core.
Pré-requisitos
Faça o seguinte antes de criar uma conexão com as Instâncias Gerenciadas do Amazon WorkSpaces Core:
- Conclua a configuração da sua AWS como um local de recurso. Consulte Ambientes de virtualização da AWS.
 - Defina a política de permissões do IAM do usuário ou função do IAM para que o Citrix® gerencie os recursos da AWS em seu nome.
 - Crie uma função vinculada ao serviço.
 
Definir permissões do IAM
Antes de criar uma conexão de host, uma política de permissões do IAM precisa ser definida corretamente para um usuário ou função do IAM que conceda ao Citrix as permissões adequadas para provisionar e gerenciar recursos em sua conta da AWS em seu nome. Use as informações nesta seção para definir as permissões do IAM para o Citrix DaaS em Instâncias Gerenciadas do Amazon WorkSpaces Core. O serviço IAM da Amazon permite que contas tenham vários usuários, que podem ser organizados em grupos. Esses usuários podem ter permissões diferentes para controlar sua capacidade de realizar operações associadas à conta. Para obter mais informações sobre as permissões do IAM, consulte a referência da política JSON do IAM.
Nota:
Como o Citrix provisiona e gerencia recursos e automação em sua conta da AWS em seu nome, a configuração de políticas de permissões do IAM com base em tags específicas ou convenções de nomenclatura de recursos não é compatível.
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”.`
 - Digite um nome para a “Política de Permissões”.`
 - Na seção “Documento de Política”, insira as permissões relevantes.
 
Depois de inserir as informações da política, selecione “Continuar” para concluir a aplicação da política de permissões do IAM ao grupo de usuários. Os usuários do grupo recebem permissões para realizar apenas as ações necessárias para o Citrix DaaS.
Importante:
Use o texto da política fornecido no exemplo deste artigo para listar as ações que o Citrix DaaS usa para realizar ações em uma conta da AWS sem restringir essas ações a recursos específicos. O 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.
Adicionar permissões do IAM
Adicione 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 as permissões.`
 - Na seção JSON, inclua as Permissões da AWS necessárias para seu ambiente.
 
Criar uma função vinculada ao serviço
Para cada uma de suas contas da AWS das quais o Citrix chamará as APIs Core V2, crie uma função vinculada ao serviço (SLR).
As etapas para criar a função:
- Abra uma Interface de Linha de Comando (CLI) no console de gerenciamento da AWS.
 - 
    
Execute o seguinte comando na CLI:
aws iam create-service-linked-role --aws-service-name workspaces-instances.amazonaws.com <!--NeedCopy--> 
Você também pode configurar a função vinculada ao serviço usando o console de gerenciamento do Amazon WorkSpaces Core. Consulte Criar uma função vinculada ao serviço (console).
Criar uma conexão
Você pode criar uma conexão com as Instâncias Gerenciadas do Amazon WorkSpaces Core usando:
Nota:
Verifique as restrições do seu servidor proxy ou firewall e certifique-se de que os seguintes endereços estejam acessíveis:
https://*.amazonaws.comehttps://*.api.aws. Além disso, certifique-se de que todos os endereços mencionados em Conectividade do serviço Citrix Gateway estejam acessíveis.Se eles não estiverem acessíveis, isso pode causar falha ao criar ou atualizar a conexão do host.
Criar uma conexão usando o Studio
- Navegue até a página “Hospedagem > Adicionar Conexão e Recursos”.`
 - 
    
Na página “Conexão”, siga estas etapas para configurar a conexão:
- Selecione “Criar uma nova conexão”.`
 - Em “Zona”, selecione o local do recurso que você configurou para seu ambiente AWS.`
 - Selecione “Amazon WorkSpaces Core” como o tipo de conexão.`
 - 
        
Selecione “Usar chave de acesso de usuário IAM” ou “Usar função IAM”.`
Para a chave de acesso de usuário IAM, forneça sua chave de API e chave secreta para o usuário IAM que tem a política de permissões IAM adequada para o Citrix gerenciar recursos em sua conta da AWS.
Para a função IAM, certifique-se de ter atribuído uma função IAM à instância do Citrix Cloud Connector com a política de permissões IAM adequada para o Citrix gerenciar recursos em sua conta da AWS. Consulte o guia de autenticação baseada em função para obter mais informações.
 - Insira um nome de conexão e clique em “Avançar”.`
 
 - Na página “Local da Máquina Virtual”, especifique o local onde as VMs devem ser provisionadas. Selecione a região da nuvem, VPC e zona de disponibilidade para criar novas VMs.
 - 
    
Na página “Rede”:
- Insira um nome para os recursos que você selecionou anteriormente na Zona de disponibilidade.
 - Selecione uma ou mais sub-redes na VPC que você configurou no menu anterior.
 
 - Clique nas páginas restantes até a página “Resumo”.`
 - Clique em “Concluir” para criar a conexão de host com as Instâncias Gerenciadas do Amazon WorkSpaces Core.
 
Considerações importantes
Ao criar conexões de host no Studio:
- Defina as permissões IAM adequadas para o Citrix gerenciar seus recursos da AWS.
 - Se você usar uma chave de acesso de usuário IAM para o Citrix gerenciar seus recursos da AWS, deverá 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.
 - Se você usar uma função IAM para o Citrix gerenciar seus recursos da AWS, deverá certificar-se de atribuir uma função com as permissões IAM adequadas a todos os seus Cloud Connectors. Consulte o guia de autenticação baseada em função para obter mais informações.
 - 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 Citrix DaaS 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).
 
Criar uma conexão usando o PowerShell
- Abra uma janela do PowerShell.
 - Execute 
asnp citrix*para carregar os módulos do PowerShell específicos do Citrix. - 
    
Execute os seguintes comandos. A seguir, um exemplo:
$connectionName = "demo-hostingconnection" $cloudRegion = "us-east-1" $apiKey = "aaaaaaaaaaaaaaaaaaaa" $apiSecret = “bbbbb” $secureKey = ConvertTo-SecureString -String $apiSecret $zoneUid = "00000000-0000-0000-0000-000000000000" $connectionPath = "XDHyp:\Connections\" + $connectionName $connection = New-Item -Path $connectionPath -ConnectionType "AmazonWorkSpacesCoreMachineManagerFactory" -HypervisorAddress " "https://workspaces-instances.$($cloudRegion).api.aws"" -Persist -Scope @() -UserName $apiKey -SecurePassword $secureKey -ZoneUid $zoneUid New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid $hostingUnitName = "demo-hostingunit" $availabilityzone = "us-east-1a" $vpcName = "Default VPC" $jobGroup = [Guid]::NewGuid() $hostingUnitPath = "XDHyp:\HostingUnits\" + $HostingUnitName $rootPath = $connectionPath + "\" + $vpcName + ".virtualprivatecloud\" $availabilityZonePath = @($rootPath + $availabilityzone + ".availabilityzone") $networkPaths = (Get-ChildItem $availabilityZonePath[0] | Where ObjectType -eq "Network") | Select-Object -ExpandProperty FullPath # will select all the networks in the availability zone New-Item -Path $hostingUnitPath -AvailabilityZonePath $availabilityZonePath -HypervisorConnectionName $connectionName -JobGroup $jobGroup -PersonalvDiskStoragePath @() -RootPath $rootPath -NetworkPath $networkPaths <!--NeedCopy--> 
Nota:
Para criar uma conexão usando a Autenticação Baseada em Função, especifique apiKey e apiSecret como
role_based_auth.
Limitação
Se você alterar o nome de uma Nuvem Privada Virtual (VPC) da AWS no console da AWS, a unidade de hospedagem existente no Citrix Cloud™ será interrompida. Quando a unidade de hospedagem é interrompida, você não pode criar catálogos ou adicionar máquinas a catálogos existentes. Para resolver o problema, altere o nome da VPC da AWS de volta para o nome original.
Criar um ambiente seguro para o tráfego gerenciado pela AWS
Se você tiver um proxy configurado nos Cloud Connectors, deverá criar a conexão de host para usar o proxy, de modo que as chamadas de API feitas pelo MCS sejam roteadas corretamente através do proxy. O MCS permite que o tráfego de rede (chamadas de API do Citrix Cloud para o hipervisor da AWS) seja roteado através dos Cloud Connectors em seu ambiente.
A conexão de host pode ler o valor do proxy do sistema WinHTTP que é configurado durante a instalação do Cloud Connector. Atualmente, você pode configurar o proxy definindo a propriedade personalizada UseSystemProxyForHypervisorTrafficOnConnectors como True ao criar ou atualizar uma conexão de host usando o PowerShell.
Nota:
Se seu ambiente usar um proxy, certifique-se de que a inspeção SSL esteja desabilitada ou que a conexão SSL permaneça inalterada para https://workspaces-instances.*.api.aws/.
Criar uma conexão de host configurada com o proxy
- Abra uma janela do PowerShell.
 - Execute 
asnp citrix*para carregar os módulos do PowerShell específicos do Citrix. - 
    
Execute os comandos do PowerShell para configurar o proxy. Por exemplo:
$connectionName = "demo-hostingconnection" $cloudRegion = "us-east-1" $apiKey = "aaaaaaaaaaaaaaaaaaaa" $zoneUid = "00000000-0000-0000-0000-000000000000" $securePassword = Read-Host 'Please enter your secret key' -AsSecureString $connectionPath = "XDHyp:\Connections\" + $connectionName $customProperties = @" <CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation"> <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" /> </CustomProperties> "@ <!--NeedCopy--> - 
    
Crie uma conexão de hospedagem. Por exemplo:
$connection = New-Item -Path $connectionPath ` -ConnectionType "Custom" -PluginId "AmazonWorkSpacesCoreMachineManagerFactory" ` -HypervisorAddress "https://workspaces-instances.$($cloudRegion).api.aws" ` -CustomProperties> $customProperties ` -Persist -Scope @()` -UserName $apiKey -SecurePassword $securePassword ` -ZoneUid $zoneUid New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid <!--NeedCopy--> 
Para habilitar o proxy para uma conexão de host existente, consulte Habilitar o proxy em uma conexão existente.
Editar uma conexão
Você pode editar uma conexão de host existente para:
- Modificar a opção de fornecer permissões IAM para o Citrix gerenciar recursos
 - Modificar o número máximo de ações simultâneas (ou máquinas concorrentes) por conexão de hospedagem
 - Modificar o escopo.
 - Configurar o número máximo de grupos de segurança permitidos por interface de rede elástica (ENI) usando o comando PowerShell
 - Habilitar o proxy para criar um ambiente seguro para o tráfego gerenciado pela AWS
 
Editar opções para fornecer permissões IAM
- Clique com o botão direito em uma conexão existente do Amazon WorkSpaces Core.
 - Na página “Propriedades da Conexão”, clique em “Editar configurações”.`
 - Selecione uma das opções para fornecer permissões IAM para o Citrix gerenciar recursos. Insira os detalhes necessários e clique em “Salvar”.`
 
Modificar o número máximo de ações simultâneas
Ao criar conexões de host no Studio para Instâncias Gerenciadas do Amazon WorkSpaces Core, 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 | 150 | n/a | 
| Máximo de operações de provisionamento simultâneas | 150 | n/a | 
O MCS suporta 150 operações de provisionamento simultâneas máximas por padrão.
Você pode configurar esses valores acessando a seção “Avançado” do Citrix Studio na tela “Editar Conexão”:`
Alternativamente, você pode usar o SDK do PowerShell Remoto para definir o número máximo de operações simultâneas para configurações ideais por ambiente.
Use a propriedade personalizada do PowerShell, MaximumConcurrentProvisioningOperations, para especificar o número máximo de operações de provisionamento simultâneas da AWS.
Antes da configuração:
- Certifique-se de ter instalado o SDK do PowerShell para a Nuvem.
 - Entenda que o valor padrão para 
MaximumConcurrentProvisioningOperationsé 150. 
Execute as seguintes etapas para personalizar o valor de MaximumConcurrentProvisioningOperations:
- Abra uma janela do PowerShell.`
 - Execute 
asnp citrix*para carregar os módulos do PowerShell específicos do Citrix. - Insira 
cd xdhyp:\Connections\. - Insira 
dirpara listar as conexões. - 
    
Altere ou inicialize a string de Propriedades Personalizadas:
- 
        
Se a string de Propriedades Personalizadas tiver um valor, copie as Propriedades Personalizadas para o Bloco de Notas. Em seguida, altere a propriedade
MaximumConcurrentProvisioningOperationspara o valor preferido. Você pode inserir um valor no intervalo de 1 a 1000. Por exemplo,<Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="xyz"/>. - 
        
Se a string de Propriedades Personalizadas estiver vazia ou nula, você deverá inicializar a string inserindo a sintaxe adequada para o esquema e a propriedade
MaximumConcurrentProvisioningOperations. 
 - 
        
 - 
    
Na janela do PowerShell, cole as Propriedades Personalizadas modificadas do Bloco de Notas e atribua uma variável às Propriedades Personalizadas modificadas. Se você inicializou as Propriedades Personalizadas, adicione as seguintes linhas após a sintaxe:
$customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="100"/></CustomProperties>' <!--NeedCopy-->Esta string define a propriedade
MaximumConcurrentProvisioningOperationscomo 100. Na string de Propriedades Personalizadas, você deve definir a propriedadeMaximumConcurrentProvisioningOperationspara um valor que se alinhe às suas necessidades. - Insira 
Get-XDAuthentication, que solicitará suas credenciais. - Execute 
$cred = Get-Credential, que pode solicitar apenas uma senha (ou um nome e uma senha). Você também pode ser solicitado a fornecer o ID do aplicativo e o segredo associado. Para conexões que usam autenticação baseada em função, role_based_auth é o Nome e a Senha. Caso contrário, insira o ID da API da AWS e o segredo. - Execute 
set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password. Você deve definir o <connection-name> para o nome da conexão. - Insira 
dirpara verificar a string CustomProperties atualizada. 
Configurar grupos de segurança por interface de rede
Ao editar uma conexão de host, agora você pode configurar o número máximo de grupos de segurança permitidos por interface de rede elástica (ENI) usando um comando PowerShell. Para obter informações sobre os valores de cota de grupos de segurança da AWS, consulte Grupos de segurança.
Para configurar grupos de segurança por interface de rede:
- Abra uma janela do PowerShell.
 - Execute 
asnp citrix*para carregar os módulos do PowerShell específicos do Citrix. - Execute 
cd xdhyp:\Connections\. - Execute 
dirpara listar as conexões. - 
    
Execute o seguinte comando PowerShell para configurar grupos de segurança por interface de rede:
Set-HypHypervisorConnectionMetadata -HypervisorConnectionName aws -Name "Citrix_MachineManagement_Options" -Value " AwsMaxENISecurityGroupLimit=<number>" <!--NeedCopy-->Nota:
Se você não definir um valor para
AwsMaxENISecurityGroupLimit, ele assumirá o valor padrão de 5. 
Habilitar o proxy em uma conexão existente
- Abra uma janela do PowerShell.
 - 
    
Execute os seguintes comandos.
Add-PSSnapin citrix*. cd XDHyp:\Connections\ dir <!--NeedCopy--> - Copie as 
CustomPropertiesda conexão para um bloco de notas e anexe a configuração da propriedade<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />àsCustomPropertiespara habilitar o proxy. - 
    
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="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" /> </CustomProperties>' <!--NeedCopy--> - Insira 
Get-XDAuthentication, que solicitará suas credenciais. - 
    
Execute
$cred = Get-Credential, que pode solicitar apenas uma senha (ou um nome e uma senha). Você também pode ser solicitado a fornecer o ID do aplicativo e o segredo associado. Para conexões que usam autenticação baseada em função,role_based_authé o Nome e a Senha. Caso contrário, insira o ID da API da AWS e o segredo. - Execute 
set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password. Você deve definir o<connection-name>para o nome da conexão. - Insira 
dirpara verificar a stringCustomPropertiesatualizada. 
URL do endpoint de serviço
URL do endpoint de serviço da zona padrão
Ao usar o MCS, uma nova conexão de Instâncias Gerenciadas do Amazon WorkSpaces Core é 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 de Instâncias do Workspace https://workspaces-instances.us-east-1.api.aws. Use o MCS para selecionar a zona para a conexão na lista de zonas suportadas. A URL de endpoint de serviço da AWS preferida é 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.
URL do endpoint de serviço não padrão
Pode haver situações em que você não precise da URL de Endpoint de Serviço da AWS escolhida automaticamente para a conexão. Nesses casos, você pode usar o SDK do Citrix Cloud e o PowerShell para criar uma conexão com uma URL de endpoint de serviço não padrão. Por exemplo, para criar uma conexão usando a URL de endpoint de serviço https://ec2.cn-north-1.amazonaws.com.cn:
- Configure o Cloud Connector hospedado na AWS e certifique-se de que ele tenha conectividade.
 - 
    
Execute os seguintes comandos do PowerShell para ver a lista de Cloud Connectors.
PS C:\> asnp citrix.* PS C:\> Get-XDAuthentication PS C:\> Get-ConfigEdgeServer <!--NeedCopy--> - 
    
Encontre o ZoneUid do Cloud Connector recém-criado e insira-o nos seguintes comandos do PowerShell. Substitua os itens em itálico pelos respectivos valores.
PS C:\> $hyp= New-Item -Path xdhyp:\Connections -ZoneUid ZoneUid -Name “My New Connection” -ConnectionType "Custom" -HypervisorAddress @("https://workspaces-instances.$($cloudRegion).api.aws")-PluginId "AmazonWorkSpacesCoreMachineManagerFactory" -UserName “APIkey” -Password “API Secret” -Persist PS C:\> New-BrokerHypervisorConnection -HypHypervisorConnectionUid $hyp. HypervisorConnectionUid <!--NeedCopy--> - Atualize a guia “Hospedagem” para verificar se a conexão EC2 foi criada.
 - Adicione um local de recurso usando a nova conexão.
 
Permissões da AWS necessárias
Esta seção contém a lista completa de permissões da AWS. Use o conjunto completo de permissões conforme fornecido na seção para que a funcionalidade funcione corretamente.
Nota:
A permissão
iam:PassRoleé necessária apenas para usar funções IAM para o Citrix gerenciar recursos.
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:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:DescribeRegions",
                "workspaces-instances:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->
Gerenciamento de energia de VMs
As VMs são ligadas ou desligadas.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeInstances",,
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances",
                "ec2:DescribeInstanceStatus"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
           "Action": [
               "workspaces-instances:*"
           ],
           "Effect": "Allow",
            "Resource": "*"
       }
    ]
}
<!--NeedCopy-->
Criar, atualizar ou excluir VMs
Um catálogo de máquinas é criado, atualizado ou excluído com VMs provisionadas como instâncias da 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:DescribeInstanceStatus",
                "ec2:DescribeInstanceTypes",
                "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:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:GetSnapshotBlock",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ec2:CreateSnapshot"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "workspaces-instances:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->
Nota:
- 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
As seguintes permissões devem ser adicionadas à política:
ebs:StartSnapshotebs:GetSnapshotBlockebs:PutSnapshotBlockebs:CompleteSnapshotebs:ListSnapshotBlocksebs:ListChangedBlocksec2:CreateSnapshotec2:DeleteSnapshotec2:DescribeLaunchTemplates
Criptografia EBS de volumes criados
O EBS pode criptografar automaticamente volumes recém-criados se a AMI estiver 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:GenerateDataKey",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->
Nota:
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:GenerateDataKey",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": [
                "arn:aws:kms:us-east-2:123456789012:key/abcd1234-a123-456d-a12b-a123b4cd56ef"
            ],
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}
<!--NeedCopy-->
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 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": ""
}
<!--NeedCopy-->
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/*"
        }
    ]
}
<!--NeedCopy-->
Política de permissões IAM mínima
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 o gerenciamento de energia usando esta política.
A política pode ser aplicada aos usuários conforme explicado nas seções Definir permissões do IAM ou você também pode usar a autenticação baseada em função selecionando “Usar função IAM” ao configurar uma conexão de host.
Importante:
Para usar funções IAM para o Citrix gerenciar recursos, primeiro configure a função IAM desejada na instância ec2 do Cloud Connector ao configurar o Cloud Connector. Usando o Citrix Studio, adicione a conexão de hospedagem e selecione a opção “Usar função IAM”. 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: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:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "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/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "workspaces-instances:*"
            ],
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->
Nota:
- 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 usar funções IAM para o Citrix gerenciar recursos.- 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 Desmistificando as permissões em nível de recurso do EC2 e Gerenciamento de acesso para recursos da AWS para obter mais detalhes.
 - Use as permissões
 ec2:CreateNetworkInterfaceeec2:DeleteNetworkInterfaceapenas se você estiver usando o método de worker de volume.
Onde ir em seguida
- Para criar imagens preparadas, consulte Criar uma imagem preparada para Instâncias Gerenciadas do Amazon WorkSpaces Core
 
Mais informações
- Criar e gerenciar conexões e recursos
 - Ambientes de virtualização da AWS
 - Para exemplos do PowerShell do GitHub do Amazon WorkSpaces Core, consulte citrix-mcs-sdk-samples-Amazon WorkSpaces Core.