Connessione ad AWS
Creare e gestire connessioni e risorse descrive le procedure guidate che creano una connessione. Le seguenti informazioni riguardano i dettagli specifici degli ambienti cloud AWS.
Nota:
Prima di creare una connessione ad AWS, è prima necessario completare la configurazione del proprio account AWS come posizione delle risorse. Vedere Ambienti cloud AWS.
Creare una connessione
Quando si crea una connessione da Web Studio:
- È necessario fornire la chiave API e i valori della chiave segreta. È possibile esportare il file chiave contenente tali valori da AWS e quindi importarli. È inoltre necessario fornire la regione, la zona di disponibilità, il nome del VPC, gli indirizzi delle subnet, il nome di dominio, i nomi dei gruppi di sicurezza e le credenziali.
- Il file delle credenziali per l’account AWS radice (recuperato dalla console AWS) non è formattato come i file delle credenziali scaricati per gli utenti AWS standard. Pertanto, la gestione di Citrix Virtual Apps and Desktops non può utilizzare il file per popolare i campi della chiave API e della chiave segreta. Assicurarsi di utilizzare i file delle credenziali di AWS Identity Access Management (IAM).
Nota:
Dopo aver creato una connessione, i tentativi di aggiornamento della chiave API e della chiave segreta potrebbero non riuscire. Per risolvere il problema, controllare le restrizioni del server proxy o del firewall e assicurarsi che il seguente indirizzo sia contattabile:
https://*.amazonaws.com
.
Valori predefiniti della connessione host
Quando si creano connessioni host in ambienti cloud AWS, vengono visualizzati i seguenti valori predefiniti:
| Opzione | Valore assoluto | Percentuale | |— | — | —| | Azioni simultanee (tutti i tipi) | 125 | 100 | | Numero massimo di nuove azioni al minuto | 125 |
MCS supporta 100 operazioni di provisioning simultanee massime per impostazione predefinita.
URL dell’endpoint del servizio
URL dell’endpoint del servizio di zona standard
Quando si utilizza MCS, viene aggiunta una nuova connessione AWS con una chiave API e un segreto API. Con queste informazioni, insieme all’account autenticato, MCS interroga AWS per le zone supportate utilizzando la chiamata API EC2 AWS DescribeRegions. La query viene effettuata utilizzando un URL generico dell’endpoint del servizio EC2 https://ec2.amazonaws.com/
. Utilizzare MCS per selezionare la zona per la connessione dall’elenco delle zone supportate. L’URL dell’endpoint del servizio AWS preferito viene selezionato automaticamente per la zona. Tuttavia, dopo aver creato l’URL dell’endpoint del servizio, non è più possibile impostarlo o modificarlo.
Definire le autorizzazioni IAM
Utilizzare le informazioni in questa sezione per definire le autorizzazioni IAM per Citrix Virtual Apps and Desktops in AWS. Il servizio IAM di Amazon consente account con più utenti, che possono essere ulteriormente organizzati in gruppi. Questi utenti possono disporre di autorizzazioni diverse per controllare la loro capacità di eseguire operazioni associate all’account. Per ulteriori informazioni sulle autorizzazioni IAM, vedere Riferimento alla policy JSON IAM.
Per applicare la policy delle autorizzazioni IAM a un nuovo gruppo di utenti:
- Accedere alla Console di gestione AWS e selezionare il servizio IAM dall’elenco a discesa.
- Selezionare Create a New Group of Users (Crea un nuovo gruppo di utenti).
- Digitare un nome per il nuovo gruppo di utenti e selezionare Continue (Continua).
- Nella pagina Permissions (Autorizzazioni), scegliere Custom Policy (Criterio personalizzato). Selezionare Select (Seleziona).
- Digitare un nome per il criterio Permissions (Autorizzazioni).
- Nella sezione Policy Document (Documento del criterio), immettere le autorizzazioni pertinenti.
Dopo aver inserito le informazioni sul criterio, selezionareContinue (Continua) per completare il gruppo di utenti. Agli utenti del gruppo vengono concesse le autorizzazioni per eseguire solo le azioni richieste per Citrix Virtual Apps and Desktops.
Importante:
Utilizzare il testo del criterio fornito nell’esempio precedente per elencare le azioni utilizzate da Citrix Virtual Apps and Desktops per eseguire azioni all’interno di un account AWS senza limitare tali azioni a risorse specifiche. Citrix consiglia di utilizzare l’esempio a scopo di test. Per gli ambienti di produzione, è possibile scegliere di aggiungere ulteriori restrizioni sulle risorse.
Impostare le autorizzazioni IAM
Impostare le autorizzazioni nella sezione IAM della Console di gestione AWS:
- Nel pannello Summary (Riepilogo), selezionare la scheda Permissions (Autorizzazioni).
- Selezionare Add permissions (Aggiungi autorizzazioni).
Nella schermata Add Permissions to (Aggiungi autorizzazioni a), concedere le autorizzazioni:
Utilizzare il seguente come esempio nella scheda JSON:
Suggerimento:
L’esempio JSON indicato potrebbe non includere tutte le autorizzazioni per l’ambiente. Per ulteriori informazioni, consultare l’articolo su come definire le autorizzazioni di gestione delle identità e degli accessi che eseguono Citrix Virtual Apps and Desktops su AWS.
Autorizzazioni AWS richieste
Questa sezione contiene l’elenco completo delle autorizzazioni AWS.
Nota:
L’autorizzazione iam:PassRole è necessaria solo per role_based_auth.
Creazione di una connessione host
Viene aggiunta una nuova connessione host utilizzando le informazioni provenienti da AWS.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeAvailabilityZones",
"ec2:DescribeImages",
"ec2:DescribeInstances",
"ec2:DescribeInstanceTypes",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Gestione dell’alimentazione delle macchine virtuali
Le istanze delle macchine sono accese o spente.
{
"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": "*"
}
]
}
<!--NeedCopy-->
Creazione, aggiornamento o eliminazione di macchine virtuali
Un catalogo delle macchine viene creato, aggiornato o eliminato con macchine virtuali di cui viene eseguito il provisioning come istanze 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": "*"
}
]
}
<!--NeedCopy-->
Nota:
La sezione EC2 relativa ai gruppi di sicurezza è necessaria solo se occorre creare un gruppo di sicurezza di isolamento per la macchina virtuale di preparazione durante la creazione del catalogo. Una volta completata questa operazione, queste autorizzazioni non sono necessarie.
Caricamento e download diretti del disco
Il caricamento diretto del disco elimina il requisito del Volume Worker per il provisioning del catalogo delle macchine e utilizza invece le API pubbliche fornite da AWS. Questa funzionalità riduce i costi associati agli account di archiviazione aggiuntivi e alla complessità di gestire le operazioni di Volume Worker.
Le seguenti autorizzazioni devono essere aggiunte al criterio:
ebs:StartSnapshot
ebs:GetSnapshotBlock
ebs:PutSnapshotBlock
ebs:CompleteSnapshot
ebs:ListSnapshotBlocks
ebs:ListChangedBlocks
ec2:CreateSnapshot
ec2:DeleteSnapshot
ec2:DescribeLaunchTemplates
Importante:
- È possibile aggiungere una macchina virtuale ai cataloghi delle macchine esistenti senza alcuna operazione di Volume Worker, come l’AMI Volume Worker e la macchina virtuale del Volume Worker.
- Se si elimina un catalogo esistente che utilizzava Volume Worker in precedenza, vengono eliminati tutti gli artefatti, inclusi quelli correlati a Volume Worker.
Crittografia EBS dei volumi creati
EBS può crittografare automaticamente i volumi appena creati se l’AMI è crittografata o EBS è configurato per crittografare tutti i nuovi volumi. Tuttavia, per implementare la funzionalità, è necessario includere le seguenti autorizzazioni nel criterio IAM.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:Decrypt",
"kms:DescribeKey",
"kms:GenerateDataKeyWithoutPlainText",
"kms:ReEncryptTo",
"kms:ReEncryptFrom"
],
"Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
Le autorizzazioni possono essere limitate a chiavi specifiche includendo un blocco di risorse e condizioni a discrezione dell’utente. Ad esempio autorizzazioni KMS con condizione:
{
"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
}
}
}
]
}
<!--NeedCopy-->
La seguente dichiarazione dei criteri chiave è l’intero criterio chiave predefinito per le chiavi KMS necessario per consentire all’account di utilizzare i criteri IAM per delegare l’autorizzazione per tutte le azioni (kms:*) sulla chiave KMS.
{
"Sid": "Enable IAM policies",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:",
"Resource": ""
}
<!--NeedCopy-->
Per ulteriori informazioni, consultare la documentazione ufficiale di AWS Key Management Service.
Autenticazione basata su ruoli IAM
Le seguenti autorizzazioni vengono aggiunte per supportare l’autenticazione basata sui ruoli.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::*:role/*"
}
]
}
<!--NeedCopy-->
Criteri minimi delle autorizzazioni IAM
Il seguente JSON può essere utilizzato per tutte le funzionalità attualmente supportate. È possibile creare connessioni host, creare, aggiornare o eliminare macchine virtuali ed eseguire la gestione dell’alimentazione utilizzando questo criterio. Il criterio può essere applicato agli utenti come spiegato nelle sezioni Definizione delle autorizzazioni IAM oppure è anche possibile utilizzare l’autenticazione basata su ruoli utilizzando la chiave di sicurezza role_based_auth e la chiave segreta.
Importante:
Per utilizzare role_based_auth, configurare innanzitutto il ruolo IAM desiderato su tutti i Delivery Controller del nostro sito. Utilizzando Web Studio, aggiungere la connessione di hosting e fornire role_based_auth per la chiave di autenticazione e il segreto. Una connessione di hosting con queste impostazioni utilizza quindi l’autenticazione basata su ruoli.
{
"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:GenerateDataKey",
"kms:ReEncryptTo",
"kms:ReEncryptFrom"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::*:role/*"
}
]
}
<!--NeedCopy-->
Nota:
- La sezione EC2 relativa a SecurityGroups è necessaria solo se occorre creare un gruppo di sicurezza di isolamento per la macchina virtuale di preparazione durante la creazione del catalogo. Una volta completata questa operazione, queste autorizzazioni non sono necessarie.
- La sezione KMS è necessaria solo quando si utilizza la crittografia del volume EBS.
- La sezione delle autorizzazioni iam:PassRole è necessaria solo per role_based_auth.
- È possibile aggiungere autorizzazioni specifiche a livello di risorsa anziché l’accesso completo in base ai requisiti e all’ambiente. Per maggiori dettagli, consultare i documenti AWS Demystifying EC2 Resource-Level Permissions (Sfatare i miti relativi alle autorizzazioni a livello di risorsa EC2) e Gestione degli accessi per le risorse AWS.
Passaggi successivi
- Se ci si trova nel processo di distribuzione iniziale, vedere Creare cataloghi delle macchine
- Per informazioni specifiche su AWS, vedere Creare un catalogo di AWS