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, è necessario completare la configurazione di AWS come posizione delle risorse. Vedere Ambienti di virtualizzazione AWS.
Creare una connessione
Quando si crea una connessione utilizzando Studio:
- È necessario fornire i valori della chiave API e della chiave segreta. È possibile esportare il file della chiave contenente tali valori da AWS e quindi importarli. È inoltre necessario fornire la regione, la zona di disponibilità, il nome VPC, gli indirizzi delle sottoreti, il nome di dominio, i nomi dei gruppi di sicurezza e le credenziali.
- Il file delle credenziali per l’account AWS root (recuperato dalla console AWS) non è formattato allo stesso modo dei file delle credenziali scaricati per gli utenti AWS standard. Pertanto, Citrix DaaS™ 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 aggiornare la chiave API e la 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 raggiungibile:
https://*.amazonaws.com
.
Limitazione
Se si modifica il nome di un AWS Virtual Private Cloud (VPC) nella console AWS, l’unità di hosting esistente in Citrix Cloud™ si interrompe. Quando l’unità di hosting è interrotta, non è possibile creare cataloghi o aggiungere macchine a cataloghi esistenti. Per risolvere il problema, modificare il nome del VPC AWS riportandolo al nome originale.
Valori predefiniti della connessione host
Quando si creano connessioni host in Studio per l’ambiente cloud AWS, vengono visualizzati i seguenti valori predefiniti:
Opzione | Assoluto | Percentuale |
---|---|---|
Azioni simultanee (tutti i tipi) | 125 | 100 |
Numero massimo di nuove azioni al minuto | 150 | n/d |
Numero massimo di operazioni di provisioning simultanee | 100 | n/d |
MCS supporta 100 operazioni di provisioning simultanee massime per impostazione predefinita.
È possibile configurare questi valori accedendo alla sezione Avanzate di Citrix Studio nella schermata Modifica connessione:
In alternativa, è possibile utilizzare l’SDK PowerShell remoto per impostare il numero massimo di operazioni simultanee per ottenere impostazioni ottimali per il proprio ambiente.
Utilizzare la proprietà personalizzata di PowerShell, MaximumConcurrentProvisioningOperations
, per specificare il numero massimo di operazioni di provisioning AWS simultanee.
Prima della configurazione:
- Assicurarsi di aver installato l’SDK PowerShell per Cloud.
- Comprendere che il valore predefinito per
MaximumConcurrentProvisioningOperations
è 100.
Eseguire i seguenti passaggi per personalizzare il valore di MaximumConcurrentProvisioningOperations
:
- Aprire una finestra di PowerShell.
- Eseguire
asnp citrix*
per caricare i moduli PowerShell specifici di Citrix. - Immettere
cd xdhyp:\Connections\
. - Immettere
dir
per elencare le connessioni. -
Modificare o inizializzare la stringa delle proprietà personalizzate:
-
Se la stringa delle proprietà personalizzate ha un valore, copiare le proprietà personalizzate in Blocco note. Quindi, modificare la proprietà
MaximumConcurrentProvisioningOperations
con il valore preferito. È possibile immettere un valore compreso tra 1 e 1000. Ad esempio,<Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="xyz"/>
. -
Se la stringa delle proprietà personalizzate è vuota o null, è necessario inizializzare la stringa immettendo la sintassi corretta sia per lo schema che per la proprietà
MaximumConcurrentProvisioningOperations
.
-
-
Nella finestra di PowerShell, incollare le proprietà personalizzate modificate dal Blocco note e assegnare una variabile alle proprietà personalizzate modificate. Se sono state inizializzate le proprietà personalizzate, aggiungere le seguenti righe dopo la sintassi:
$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>'
.Questa stringa imposta la proprietà
MaximumConcurrentProvisioningOperations
su 100. Nella stringa delle proprietà personalizzate, è necessario impostare la proprietàMaximumConcurrentProvisioningOperations
su un valore che si allinei alle proprie esigenze. - Immettere
Get-XDAuthentication
, che richiederà le credenziali. - Eseguire
$cred = Get-Credential
, che potrebbe richiedere solo una password (o un nome utente e una password). Potrebbe anche essere richiesto l’ID dell’applicazione e il segreto associato. Per le connessioni che utilizzano l’autenticazione basata sui ruoli, role_based_auth è sia il nome utente che la password. In caso contrario, immettere l’ID API AWS e il segreto. - Eseguire
set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password
. È necessario impostare <connection-name> sul nome della connessione. - Immettere
dir
per verificare la stringa CustomProperties aggiornata.
Configurare i gruppi di sicurezza per interfaccia di rete
Quando si modifica una connessione host, è ora possibile configurare il numero massimo di gruppi di sicurezza consentiti per interfaccia di rete elastica (ENI) utilizzando un comando PowerShell. Per informazioni sui valori di quota dei gruppi di sicurezza AWS, vedere Gruppi di sicurezza.
Per configurare i gruppi di sicurezza per interfaccia di rete:
- Aprire una finestra di PowerShell.
- Eseguire
asnp citrix*
per caricare i moduli PowerShell specifici di Citrix. - Eseguire
cd xdhyp:\Connections\
. - Eseguire
dir
per elencare le connessioni. -
Eseguire il seguente comando PowerShell per configurare i gruppi di sicurezza per interfaccia di rete:
Set-HypHypervisorConnectionMetadata -HypervisorConnectionName aws -Name "Citrix_MachineManagement_Options" -Value " AwsMaxENISecurityGroupLimit=<number>" <!--NeedCopy-->
Nota:
Se non si imposta un valore per
AwsMaxENISecurityGroupLimit
, verrà utilizzato il valore predefinito di 5.
Provisioning tra account
Esistono casi d’uso in cui i Cloud Connector desiderano essere posizionati in un account AWS separato (account di servizi condivisi o account di componenti del sito) con ruoli IAM che hanno accesso tra account (ruolo IAM tra account) e cataloghi di macchine con provisioning MCS in un account AWS secondario separato (account di carichi di lavoro), senza la necessità di Cloud Connector aggiuntivi negli account separati. Per supportare tali scenari, questa funzionalità utilizza il peering VPC e l’accesso tra account tramite ruoli IAM per rendere possibile il provisioning tra diversi account AWS per le aziende che gestiscono più account AWS.
Con il peering VPC, è possibile che il Cloud Connector e le VM con provisioning in diverse regioni o account siano in grado di comunicare tra loro.
Con l’accesso tra account tramite ruoli IAM, si consente all’account primario (account Cloud Connector) di assumere un ruolo IAM per accedere alle risorse AWS nell’account secondario (VM del catalogo macchine).
Per consentire al Cloud Connector di accedere alle risorse dell’account secondario, creare una connessione host dopo aver assunto il ruolo IAM dall’account secondario.
Per consentire ai Cloud Connector di accedere alle risorse dell’account secondario, creare una connessione host dopo aver assunto il ruolo IAM dall’account secondario.
Prerequisiti
Configurare quanto segue prima di creare una connessione host per il provisioning tra account:
- Configurare il peering VPC e configurare i gruppi di sicurezza in entrambe le regioni o account. Vedere Configurare il peering VPC.
- Delegare l’accesso tra account utilizzando i ruoli IAM. Vedere Delegare l’accesso tra account utilizzando i ruoli IAM.
Configurare il peering VPC
Supponiamo che il VPC A si trovi nell’account primario (Account A) e che contenga i Cloud Connector e Active Directory. Il VPC B si trova nell’account secondario (Account B) dove si desidera eseguire il provisioning delle VM.
Per configurare una connessione di peering VPC tra l’Account A e l’Account B, eseguire le seguenti operazioni:
-
Creare una connessione di peering VPC. Vedere:
- Andare al VPC A e alla tabella di routing associata alla sottorete pubblica.
- Fare clic su Modifica route > Aggiungi route. Aggiungere il blocco CIDR del VPC B nella colonna Destinazione e aggiungere il peering VPC creato nella colonna Target.
- Ripetere i passaggi 2 e 3, ma con le sottoreti private per VPC A e VPC B (aggiungere il blocco CIDR del VPC A). Vedere Aggiornare le tabelle di routing per una connessione di peering VPC.
- Andare al gruppo di sicurezza privato associato al VPC A.
- Selezionare Azioni, quindi Modifica regole in entrata.
-
Selezionare Aggiungi regola. Per il tipo, selezionare Tutto il traffico, quindi nella Colonna origine aggiungere:
- Se si tratta di una regione diversa, aggiungere il blocco CIDR del VPC B.
- Se si tratta di un account diverso ma della stessa regione, aggiungere l’ID dell’account e l’ID del gruppo di sicurezza privato del VPC B separati da una barra (Esempio, 123456789012/sg-1a2b3c4d)
- Ripetere i passaggi da 5 a 7, ma con il gruppo di sicurezza privato per il VPC B (ma aggiungere il blocco CIDR del VPC A o l’ID dell’account del VPC A e l’ID del gruppo di sicurezza privato della stessa regione, ma di un account diverso). Vedere Aggiornare i gruppi di sicurezza per fare riferimento ai gruppi di sicurezza peer.
Nota:
Non è previsto alcun costo per la creazione di una connessione di peering VPC. Tuttavia, mentre il peering VPC all’interno di una zona di disponibilità è gratuito, si applicano costi quando il trasferimento di dati su una connessione di peering VPC avviene tra più zone di disponibilità e regioni. Vedere Prezzi per una connessione di peering VPC.
Delegare l’accesso tra account utilizzando i ruoli IAM
Dopo aver configurato il peering VPC tra account, si delega l’accesso tra account utilizzando i ruoli IAM.
Con l’accesso tra account tramite ruoli IAM, si consente all’account primario (account Cloud Connector) di assumere un ruolo IAM per accedere alle risorse AWS nell’account secondario (VM del catalogo macchine).
Per accedere alle risorse tra account, eseguire le seguenti operazioni:
Ricorda:
Si presume che il VPC A si trovi nell’account primario (Account A) e che contenga il Cloud Connector e Active Directory. Il VPC B si trova nell’account secondario (Account B) dove si desidera eseguire il provisioning delle VM
- Configurare il peering VPC tra account con i passaggi menzionati in precedenza.
- Creare un ruolo e una policy IAM nell’Account B con autorizzazioni IAM Citrix minime. Vedere Tutorial IAM: Delegare l’accesso tra account AWS utilizzando i ruoli IAM. Supponiamo che l’ARN di questo ruolo sia “arn:aws:iam::5678:role/citrix-role”.
- Aggiungere la policy di attendibilità al ruolo “arn:aws:iam::5678:role/citrix-role” in modo che sia consentito l’accesso da parte del ruolo dell’Account A “arn:aws:iam::1234:role/primary-account-citrix-role” come da - Accesso alle risorse tra account in IAM.
- Creare il ruolo e la policy IAM nell’Account A con il nome menzionato in precedenza “primary-account-citrix role”, che può assumere il ruolo IAM e passare il ruolo IAM dall’Account B (arn:aws:iam::5678:role/citrix-role).
- Assegnare il ruolo “arn:aws:iam::1234:role/primary-account-citrix-role” a tutti i Cloud Connector nell’Account A.
I Cloud Connector possono ora assumere il ruolo dall’Account B (“arn:aws:iam::5678:role/citrix-role”).
Creare una connessione host per il provisioning tra account
Creare una connessione host nell’account secondario (Account B) dove si desidera eseguire il provisioning delle VM. Ciò consente ai Cloud Connector dell’Account A di accedere alle risorse nell’Account B dopo aver assunto il ruolo dall’Account B.
Utilizzare i comandi PowerShell per creare la connessione host e aggiungere le due seguenti proprietà personalizzate:
-
CrossAccountRoleArn
: Se non si fornisce la proprietàCrossAccountRoleArn
, viene creata la connessione host regolare. In questo caso,MaximumAssumeRoleDurationInSeconds
viene ignorato anche se fornito. -
MaximumAssumeRoleDurationInSeconds
:DurationInSeconds
deve essere compreso tra 900 e 3600 secondi. Il valore predefinito è 900 secondi. Se si fornisce un valore superiore a 3600,DurationInSeconds
viene impostato su 3600.
Esempio:
$connectionName = "cross-account-conn"
$cloudRegion = "us-east-1"
$apiKey = "role_based_auth"
$secretKey = "role_based_auth"
$zoneUid = "xxxxxx"
$secureKey = (ConvertTo-SecureString -String $secretKey -AsPlainText -Force)
$connectionPath = "XDHyp:\Connections\" + $connectionName
$customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="CrossAccountRoleArn" Value="arn:aws:iam::5678:role/citrix-role" /><Property xsi:type="StringProperty" Name="MaximumAssumeRoleDurationInSeconds" Value="3600" />
"</CustomProperties>'
$connection = New-Item -Path $connectionPath -ConnectionType "AWS" -HypervisorAddress "https://ec2.$($cloudRegion).amazonaws.com" -Persist -Scope @() -UserName $apiKey -SecurePassword $secureKey -ZoneUid $zoneUid -CustomProperties $customProperties
New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid
<!--NeedCopy-->
Dopo aver creato la connessione host, creare unità di hosting utilizzando Studio o PowerShell. Tuttavia, selezionare VPC e Reti.
URL dell’endpoint del servizio
URL dell’endpoint del servizio della 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 AWS DescribeRegions EC2. 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 impostare o modificare l’URL.
URL dell’endpoint del servizio non standard
Possono esserci situazioni in cui potrebbe non essere necessario l’URL dell’endpoint del servizio AWS scelto automaticamente per la connessione. In questi casi, è possibile utilizzare Citrix Cloud SDK e PowerShell per creare una connessione con un URL dell’endpoint del servizio non standard. Ad esempio, per creare una connessione utilizzando l’URL dell’endpoint del servizio https://ec2.cn-north-1.amazonaws.com.cn
:
- Configurare il Cloud Connector ospitato su AWS e assicurarsi che abbia connettività.
-
Eseguire i seguenti comandi PowerShell per visualizzare l’elenco dei Cloud Connector.
PS C:\> asnp citrix.* PS C:\> Get-XDAuthentication PS C:\> Get-ConfigEdgeServer <!--NeedCopy-->
-
Trovare il ZoneUid dal Cloud Connector appena creato e inserirlo nei seguenti comandi PowerShell. Sostituire gli elementi in corsivo con i rispettivi valori.
PS C:\> $hyp= New-Item -Path xdhyp:\Connections -ZoneUid
ZoneUid-Name
“My New Connection”-ConnectionType "AWS" -HypervisorAddress @("https://ec2.cn-north-1.amazonaws.com.cn") -UserName
“APIkey”-Password
“API Secret”-Persist
PS C:\> New-BrokerHypervisorConnection -HypHypervisorConnectionUid $hyp. HypervisorConnectionUid
- Aggiornare la scheda Hosting per verificare che la connessione EC2 sia stata creata.
- Aggiungere una posizione delle risorse utilizzando la nuova connessione.
Definire le autorizzazioni IAM
Utilizzare le informazioni in questa sezione per definire le autorizzazioni IAM per Citrix DaaS su AWS. Il servizio IAM di Amazon consente agli account di avere più utenti, che possono essere ulteriormente organizzati in gruppi. Questi utenti possono possedere diverse autorizzazioni per controllare la loro capacità di eseguire operazioni associate all’account. Per ulteriori informazioni sulle autorizzazioni IAM, vedere il 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 Crea un nuovo gruppo di utenti.
- Digitare un nome per il nuovo gruppo di utenti e selezionare Continua.
- Nella pagina Autorizzazioni, scegliere Policy personalizzata quindi Seleziona.
- Digitare un nome per la Policy delle autorizzazioni.
- Nella sezione Documento della policy, immettere le autorizzazioni pertinenti.
Dopo aver immesso le informazioni sulla policy, selezionare Continua per completare l’applicazione della policy delle autorizzazioni IAM al gruppo di utenti. Agli utenti del gruppo vengono concesse le autorizzazioni per eseguire solo le azioni richieste per Citrix DaaS.
Importante:
Utilizzare il testo della policy fornito nell’esempio presente in questo articolo per elencare le azioni che un Citrix DaaS utilizza 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, si potrebbe scegliere di aggiungere ulteriori restrizioni sulle risorse.
Aggiungere autorizzazioni IAM
Aggiungere le autorizzazioni nella sezione IAM della console di gestione AWS:
- Nel pannello Riepilogo, selezionare la scheda Autorizzazioni.
- Selezionare Aggiungi autorizzazioni.
Nella schermata Aggiungi autorizzazioni a, concedere le autorizzazioni:
Utilizzare quanto segue come esempio nella scheda JSON:
Suggerimento:
L’esempio JSON indicato potrebbe non includere tutte le autorizzazioni per il proprio ambiente. Vedere Informazioni sulle autorizzazioni AWS per ulteriori informazioni.
Autorizzazioni AWS richieste
Questa sezione contiene l’elenco completo delle autorizzazioni AWS. Utilizzare il set completo di autorizzazioni come indicato nella sezione affinché la funzionalità funzioni correttamente.
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 ottenute da AWS.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeAvailabilityZones",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"ec2:DescribeRegions"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Gestione dell’alimentazione delle VM
Le VM vengono accese o spente.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeInstances",
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:RebootInstances"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Creazione, aggiornamento o eliminazione di VM
Un catalogo macchine viene creato, aggiornato o eliminato con VM di cui è stato 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: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": "*"
}
]
}
<!--NeedCopy-->
Nota:
- La sezione EC2 relativa ai SecurityGroup è necessaria solo se deve essere creato un gruppo di sicurezza di isolamento per la VM di preparazione durante la creazione del catalogo. Una volta fatto ciò, queste autorizzazioni non sono più richieste.
Importazione di VM
Un catalogo macchine viene creato importando VM.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeSecurityGroups",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeSubnets",
"ec2:DescribeVolumes",
"ec2:DescribeSpotInstanceRequests"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
L’autorizzazione
ec2:DescribeSpotInstanceRequests
è necessaria solo se è presente un’istanza spot nella regione AWS da cui verranno importate le VM.
Caricamento e download diretto del disco
Il caricamento diretto del disco elimina il requisito del volume worker per il provisioning del catalogo macchine e utilizza invece le API pubbliche fornite da AWS. Questa funzionalità riduce i costi associati agli account di archiviazione aggiuntivi e la complessità per il mantenimento delle operazioni del volume worker.
Nota:
Il supporto per il volume worker è stato rimosso. Le autorizzazioni di caricamento e download diretto del disco sono richieste per il provisioning del catalogo macchine.
Le seguenti autorizzazioni devono essere aggiunte alla policy:
ebs:StartSnapshot
ebs:GetSnapshotBlock
ebs:PutSnapshotBlock
ebs:CompleteSnapshot
ebs:ListSnapshotBlocks
ebs:ListChangedBlocks
ec2:CreateSnapshot
ec2:DeleteSnapshot
ec2:DescribeLaunchTemplates
Importante:
- È possibile aggiungere una nuova VM a cataloghi macchine esistenti senza alcuna risorsa di volume worker, come AMI del volume worker e VM del volume worker.
- Se si elimina un catalogo esistente che in precedenza utilizzava un volume worker, tutti gli artefatti correlati al volume worker vengono eliminati.
Crittografia EBS dei volumi creati
EBS può crittografare automaticamente i volumi appena creati se l’AMI è crittografata o se EBS è configurato per crittografare tutti i nuovi volumi. Tuttavia, per implementare la funzionalità, le seguenti autorizzazioni devono essere incluse nella policy 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:
Le autorizzazioni possono essere limitate a chiavi specifiche includendo un blocco Risorsa e Condizione 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: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-->
La seguente istruzione di policy della chiave è l’intera policy della chiave predefinita per le chiavi KMS che è richiesta per consentire all’account di utilizzare le policy 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, vedere la documentazione ufficiale di AWS Key Management Service.
Autenticazione basata sui 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-->
Policy di autorizzazioni IAM minime
Il seguente JSON può essere utilizzato per tutte le funzionalità attualmente supportate. È possibile creare connessioni host, creare, aggiornare o eliminare VM ed eseguire la gestione dell’alimentazione utilizzando questa policy. La policy può essere applicata agli utenti come spiegato nelle sezioni Definizione delle autorizzazioni IAM oppure è possibile utilizzare l’autenticazione basata sui ruoli utilizzando la chiave di sicurezza e la chiave segreta role_based_auth.
Importante:
Per utilizzare role_based_auth, configurare prima il ruolo IAM desiderato sull’istanza EC2 del Cloud Connector durante la configurazione del Cloud Connector. Utilizzando Citrix 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 sui 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: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/*"
}
]
}
<!--NeedCopy-->
Nota:
- La sezione EC2 relativa ai SecurityGroup è necessaria solo se deve essere creato un gruppo di sicurezza di isolamento per la VM di preparazione durante la creazione del catalogo. Una volta fatto ciò, queste autorizzazioni non sono più richieste.
- La sezione KMS è richiesta 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. Fare riferimento ai documenti AWS Demystifying EC2 Resource-Level Permissions e Access management for AWS resources per maggiori dettagli.
- Utilizzare le autorizzazioni
ec2:CreateNetworkInterface
eec2:DeleteNetworkInterface
solo se si utilizza il metodo del volume worker.
Convalidare le autorizzazioni sulla connessione host
È possibile convalidare le autorizzazioni su una connessione host per eseguire attività relative alla creazione e gestione dei cataloghi macchine MCS. Questa implementazione aiuta a individuare in anticipo le autorizzazioni mancanti richieste per diversi scenari, come la creazione, l’eliminazione e l’aggiornamento di VM, la gestione dell’alimentazione delle VM e la crittografia EBS, in modo da evitare blocchi in momenti critici.
È possibile convalidare le autorizzazioni su una connessione host utilizzando il comando PowerShell Test-HypHypervisorConnection
. Il risultato del comando viene acquisito come un elenco in cui ogni elemento dell’elenco è suddiviso in tre sezioni.
- Categoria: l’azione o l’attività che un utente può eseguire per creare e gestire un catalogo macchine MCS.
- Azione correttiva: il passaggio che un amministratore deve eseguire per risolvere una discrepanza di autorizzazioni mancanti degli utenti.
- Autorizzazione mancante: l’elenco delle autorizzazioni mancanti per una categoria.
Per convalidare le autorizzazioni, eseguire le seguenti operazioni:
- Creare una connessione host ad AWS.
- Aprire una finestra PowerShell dall’host Delivery Controller™.
- Eseguire
asnp citrix*
per caricare i moduli PowerShell specifici di Citrix. -
Eseguire il seguente comando per verificare se si dispone delle autorizzazioni richieste per cercare le proprie autorizzazioni.
Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon" <!--NeedCopy-->
-
Dopo aver aggiunto le autorizzazioni mancanti richieste per cercare le proprie autorizzazioni, eseguire il seguente comando per verificare se si dispone delle autorizzazioni nelle seguenti categorie:
- Crea, aggiorna, elimina
- Gestione dell’alimentazione
- Crittografia EBS
Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon" [-SecurePassword -Password] "password" -UserName "" -CustomProperties "" <!--NeedCopy-->
Per ulteriori informazioni sull’aggiunta di autorizzazioni, vedere Aggiungere autorizzazioni IAM.
Dove andare dopo
- Se si è nel processo di distribuzione iniziale, vedere Creare cataloghi macchine.
- Per informazioni specifiche su AWS, vedere Creare un catalogo AWS.
Ulteriori informazioni
In questo articolo
- Creare una connessione
- Configurare i gruppi di sicurezza per interfaccia di rete
- Provisioning tra account
- URL dell’endpoint del servizio
- Definire le autorizzazioni IAM
- Aggiungere autorizzazioni IAM
- Autorizzazioni AWS richieste
- Convalidare le autorizzazioni sulla connessione host
- Dove andare dopo
- Ulteriori informazioni