Cloud Execution for Desktop in Azure
Questa guida spiega come implementare il modulo Cloud Execution for Desktop per l'elaborazione privata dei dati in Azure.
Prerequisito
Prima di implementare il modulo Cloud Execution for Desktop, è necessario completare la procedura che segue nella pagina Configurazione dell'iscrizione Azure e della rete virtuale per l'elaborazione privata dei dati:
Configurazione di un gruppo di risorse dedicato a Alteryx One Platform, come spiegato nella sezione Creazione del gruppo di risorse.
Configurazione di una rete virtuale dedicata a Alteryx One, come indicato nella sezione Configurazione della rete virtuale.
Registrazione dell'app e associazione dei criteri IAM all'account di servizio, come indicato nella sezione Configurazione di IAM.
Attivazione corretta del provisioning dell'elaborazione dati privata, come indicato nella sezione Attivazione del provisioning dell'ambiente di elaborazione privata dei dati.
Configurazione dell'iscrizione
Passaggio 1: configurazione del modulo IAM
Passaggio 1a: creazione di un ruolo IAM personalizzato
Nota
Il nome del ruolo AAC_CEFD_SA_Role è solo un esempio. È possibile scegliere qualsiasi nome per il ruolo, purché cominci con AAC_CEFD.
È necessario creare un ruolo IAM personalizzato. Assegnagli il nome AAC_CEFD_SA_Role e usa il documento di ruoli seguente. È consigliabile utilizzare la scheda JSON al posto dell'editor visivo. Per l'esecuzione di Alteryx One sono necessarie alcune autorizzazioni *. Durante la creazione del ruolo verranno probabilmente visualizzati alcuni avvisi di sicurezza.
Importante
Aggiorna l'ambito assignableScopes di questo ruolo personalizzato, che deve coincidere con l'ID iscrizione.
{
"properties": {
"roleName": "AAC_CEFD_SA_Role",
"description": "Custom role for provisioning AAC private data handling",
"assignableScopes": [
"/subscriptions/<subscription ID>"
],
"permissions": [
{
"actions": [
"Microsoft.Authorization/*/read",
"Microsoft.Authorization/roleAssignments/delete",
"Microsoft.Authorization/roleAssignments/write",
"Microsoft.Compute/availabilitySets/*",
"Microsoft.Compute/cloudServices/*",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/locations/*",
"Microsoft.Compute/virtualMachineScaleSets/*",
"Microsoft.Compute/virtualMachines/*",
"Microsoft.Insights/autoScaleSettings/delete",
"Microsoft.Insights/autoScaleSettings/read",
"Microsoft.Insights/autoScaleSettings/write",
"Microsoft.KeyVault/*",
"Microsoft.ManagedIdentity/userAssignedIdentities/assign/action",
"Microsoft.ManagedIdentity/userAssignedIdentities/delete",
"Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/delete",
"Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/read",
"Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write",
"Microsoft.ManagedIdentity/userAssignedIdentities/read",
"Microsoft.ManagedIdentity/userAssignedIdentities/write",
"Microsoft.Network/applicationGateways/backendAddressPools/join/action",
"Microsoft.Network/loadBalancers/backendAddressPools/join/action",
"Microsoft.Network/loadBalancers/inboundNatPools/join/action",
"Microsoft.Network/loadBalancers/inboundNatRules/join/action",
"Microsoft.Network/loadBalancers/probes/join/action",
"Microsoft.Network/loadBalancers/read",
"Microsoft.Network/locations/*",
"Microsoft.Network/networkInterfaces/*",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/publicIPAddresses/join/action",
"Microsoft.Network/publicIPAddresses/read",
"Microsoft.Network/routeTables/read",
"Microsoft.Network/routeTables/routes/read",
"Microsoft.Network/routeTables/routes/write",
"Microsoft.Network/routeTables/write",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.RecoveryServices/locations/*",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/deployments/*",
"Microsoft.Resources/subscriptions/operationresults/read",
"Microsoft.Resources/subscriptions/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Web/serverFarms/write",
"Microsoft.Web/serverFarms/read",
"Microsoft.Web/serverFarms/delete",
"Microsoft.OperationalInsights/workspaces/read",
"Microsoft.OperationalInsights/workspaces/write",
"Microsoft.OperationalInsights/workspaces/delete",
"Microsoft.Insights/components/*",
"Microsoft.Web/sites/*"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}Passaggio 1b: associazione del ruolo personalizzato alla registrazione app nell'iscrizione
Aggiungi il ruolo IAM personalizzato AAC_CEFD_SA_Role all'account di servizio aac_automation_sa creato nella pagina Configurazione dell'iscrizione Azure e della rete virtuale per l'elaborazione privata dei dati.
Passaggio 1c: abilitazione della personalizzazione dell'ambiente Cloud Execution
La personalizzazione dell'ambiente Cloud Execution permette ai clienti di caricare driver e connettori personalizzati in un bucket S3.
Per abilitare la configurazione della personalizzazione, imposta feature.privateDataPlaneHandling.admin.cEFDEnvironmentCustomizationsEnabled su TRUE.
Creazione di un ruolo IAM per la personalizzazione di CEFD
Crea un ruolo IAM personalizzato, assegnagli il nome AAC_CEFD_Customization_SA_Role e associalo al documento di criteri seguente.
Nota
Il nome del ruolo utilizzato qui è solo un esempio. Puoi scegliere qualsiasi nome per il ruolo, purché cominci con AAC_CEFD_Customization.
È consigliabile utilizzare la scheda JSON al posto dell'editor visivo. Per l'esecuzione di Alteryx One Platform sono necessarie alcune autorizzazioni*. Durante la creazione della policy verranno probabilmente visualizzati alcuni avvisi di sicurezza.
{
"properties": {
"roleName": "AAC_CEFD_Customization_SA_Role",
"description": "Custom role for provisioning AAC private data handling",
"assignableScopes": [
"/subscriptions/<subscription ID>"
],
"permissions": [
{
"actions": [
"Microsoft.ContainerService/fleets/listCredentials/action",
"Microsoft.ContainerService/fleets/read",
"Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action",
"Microsoft.ContainerService/managedClusters/agentPools/delete",
"Microsoft.ContainerService/managedClusters/agentPools/read",
"Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write",
"Microsoft.ContainerService/managedClusters/agentPools/write",
"Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read",
"Microsoft.ContainerService/managedClusters/delete",
"Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action",
"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action",
"Microsoft.ContainerService/managedClusters/read",
"Microsoft.ContainerService/managedClusters/runcommand/action",
"Microsoft.ContainerService/managedClusters/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Storage/storageAccounts/*"
],
"notActions": [],
"dataActions": [
"Microsoft.ContainerService/fleets/*",
"Microsoft.ContainerService/managedClusters/*"
],
"notDataActions": []
}
]
}
}Aggiorna l'ambito assignableScopes del ruolo personalizzato, che deve coincidere con l'ID iscrizione.
Associazione del ruolo personalizzato alla registrazione app nell'iscrizione
Aggiungi il ruolo personalizzato che hai creato nel passaggio precedente all'account di servizio aac_automation_sa creato in Passaggio 3: configurazione del modulo IAM.
Passaggio 2: tabella di routing
È necessario creare una tabella di routing per le sottoreti.
Importante
Nella tua iscrizione, devi configurare la rete virtuale con una connessione Internet.
Nota
Questa tabella di routing è solo un esempio.
Prefisso indirizzo | Tipo hop successivo |
|---|---|
Blocco CIDR /22 | v-net |
0.0.0.0/0 | <gateway_ID> |
Nota
Il valore <gateway id> può indicare un gateway NAT creato a livello di zona di disponibilità o un gateway di transito, a seconda dell'architettura della rete in uso.
Passaggio 3: configurazione della sottorete
Negli ambienti di elaborazione privata dei dati, Cloud Execution for Desktop richiede 1 sottorete.
aac_public (obbligatorio): questo gruppo non esegue alcun servizio, ma viene utilizzato per uscire dal cluster. Delega questa sottorete a
Microsoft.ContainerService/managedClusters, che concede le autorizzazioni di servizio AKS necessarie per iniettare nella sottorete i pod dei server API e il servizio interno di bilanciamento del carico.aac_private (obbligatorio): questo gruppo esegue i servizi privati del sistema PDP.
aac_option: usa questo gruppo se abiliti Cloud Execution for Desktop nel tuo ambiente di elaborazione privata dei dati. Se abiliti questa opzione, in questa sottorete viene eseguito uno swarm AMI per gestire i processi di elaborazione Designer Desktop eseguiti nel cloud.
aac_function (obbligatoria): questa sottorete viene utilizzata dalla funzione Azure per le macchine virtuali Cloud Execution for Desktop con scalabilità automatica. Delega questa sottorete a Microsoft.Web/serverFarms, allo scopo di creare e gestire le interfacce di rete per le istanze dell'app della funzione all'interno della sottorete.
Passaggio 3a: creazione di sottoreti nella rete virtuale
Devi configurare le sottoreti nel VPC aac_vpc.
Per creare le sottoreti, procedi come mostrato nell'esempio seguente. Puoi modificare i valori di Spazio indirizzi e Sottorete in base all'architettura della rete in uso. Associa alle sottoreti il gruppo di sicurezza della rete creato nella pagina Configurazione dell'iscrizione Azure e della rete virtuale per l'elaborazione privata dei dati.
Gli spazi degli indirizzi sono progettati in modo da consentire la gestione dell'ambiente di elaborazione completamente espanso. Se necessario, puoi scegliere uno spazio di indirizzi più piccolo, ma con i carichi di elaborazione più pesanti rischi di incontrare problemi di scalabilità.
Importante
Nome sottorete non è un campo flessibile, ma deve avere il valore indicato nella tabella seguente.
Spazio indirizzi | Nome sottorete | Sottorete | Endpoint di servizio | Tabella di routing | Note |
|---|---|---|---|---|---|
10.10.0.0/22 | aac_option | 10.10.0.0/23 | Microsoft.Storage Microsoft.KeyVault | Associa la tabella di routing creata nel Passaggio 2. | |
aac_function | 10.10.2.0/29 | Nessuno | Microsoft.Web/serverFarms |
Elaborazione dei dati privati
Attenzione
La modifica o la rimozione di qualsiasi risorsa del cloud pubblico fornita da Alteryx One dopo la configurazione della gestione dei dati privati, può causare incongruenze. Tali incongruenze possono causare errori durante l'esecuzione del processo o il deprovisioning della configurazione di gestione dei dati privati.
Passaggio 1: deployment del trigger Cloud Execution
Il provisioning di Cloud Execution for Desktop viene attivato dalla console di amministrazione all'interno di Alteryx One. Per vederlo, devi avere i privilegi di amministrazione dello spazio di lavoro in questione.
Nella pagina di destinazione Alteryx One, seleziona il Menu del profilo, quindi seleziona Amministratore spazio di lavoro.
Nella console di amministrazione, seleziona Trattamento dati privato, quindi seleziona Elaborazione.
Seleziona la casella di spunta Cloud Execution for Desktop, quindi seleziona Aggiorna.
Quando selezioni Aggiorna, viene avviata l'implementazione del cluster e delle risorse nell'iscrizione Azure. Viene eseguita una serie di controlli di convalida per verificare che la configurazione dell'iscrizione Azure sia corretta.
Nota
Il processo di provisioning richiede circa 35-40 minuti.
Al termine del provisioning, puoi visualizzare le risorse create (ad esempio le istanze delle macchine virtuali e i gruppi di nodi) tramite il portale di Azure. Evita di modificarle personalmente, perché le modifiche manuali possono causare problemi con il funzionamento dell'elaborazione privata dei dati.