---
schema_version: "1"
id: 822169a3af380c147d798a9d12c785c1380395f6d6972eaacd6ca374d70824a3
title: Gestire i segreti del server
collection: tableau
version: next
locale: it-it
portal_url: https://docs.salesforce.com/tableau/next/it-it/server-linux/security_secret_storage.md
canonical_url: https://help.tableau.com/v0.0/server-linux/it-it/security_secret_storage.htm
source_site: help.tableau.com
content_type: documentation
content_hash: c524f068c1edacd5f38421bb25e085de1a0e16911427983dcb220b0df96c5dc0
description: Understand and manage how Tableau Server stores secrets.
---
[Passa al contenuto principale](#main-content)

# Gestire i segreti del server

Tableau Server deve memorizzare una serie di segreti che utilizza per eseguire varie funzioni, in genere per garantire la sicurezza della comunicazione interna, la comunicazione con altre applicazioni o il sistema operativo, oppure per fornire una comunicazione sicura con i client. In questo contesto, il termine _segreto_ può riferirsi a una password, un token o un’altra stringa usata per autenticare un’entità a un’altra.

Sono disponibili due categorie di segreti per l’esecuzione di Tableau Server. Si differenziano a seconda di come vengono generati i segreti:

- **Segreti generati dagli amministratori**. Queste includono le credenziali e i relativi segreti per l’account Utente Esegui come e le credenziali SMTP utilizzate da Tableau Server.
- **Segreti che sono generati automaticamente da vari processi nel sistema**. Ad esempio, è obbligatorio un segreto per proteggere la comunicazione tra il Controller Cluster e i processi di ZooKeeper. E sono obbligatorie diverse password per ogni servizio e utente programmatico che comunica con Postgres.

La maggior parte dei segreti sono crittografati a riposo. Quando un segreto è necessario, viene decrittografato in fase di esecuzione.

In questo argomento viene descritto il funzionamento dell’archiviazione dei segreti e le operazioni che devi eseguire per gestire correttamente l’archiviazione dei segreti su Tableau Server.

## Informazioni sul funzionamento dell’archiviazione dei segreti

Durante l’installazione, Tableau Server genera e memorizza una chiave master in un archivio delle chiavi Java. La chiave master viene usata per crittografare una chiave di crittografia della configurazione utilizzata nel sistema.

Ogni volta che un nuovo segreto viene creato o aggiornato, il segreto viene crittografato con la chiave di crittografia della configurazione. Il valore criptato viene quindi archiviato con il corrispondente parametro di configurazione in un file YAML sul server. I parametri che contengono un valore crittografato usano il formato, `ENC(<encrypted string>)`dove `<encrypted string>` è una stringa con codifica Base64.

In fase di esecuzione, quando è necessario che tu acceda a un determinato segreto, i valori criptati vengono letti in memoria e decriptati con la chiave di crittografia della configurazione.

Nel caso di modifiche in sospeso dove i segreti vengono immessi durante la modifica di una configurazione, l’intera transazione viene crittografata. In questo scenario, dopo aver inserito un segreto e salvato le modifiche in sospeso, questo viene trasmesso al servizio di coordinazione (su SSL crittografato). Il servizio di coordinazione applica la crittografia al segreto e lo archivia fino all’applicazione delle modifiche in sospeso. Quando le modifiche vengono applicate, il segreto (ancora crittografato) viene innalzato alla versione di configurazione corrente.

Tableau Server crittografa i segreti con AES a 256 bit in modalità GCM. Le chiavi utilizzate per l’archiviazione sicura sono diverse dalle chiavi di risorse utilizzate per crittografare le credenziali del database incorporate prima che queste vengano archiviate nel repository.

### Chi ha accesso alla chiave master?

In un’installazione predefinita, l’archivio delle chiavi Java per Tableau Server verrà replicato nella cartella `/tabsvc/keystores` per ogni servizio su quel nodo alla voce `/var/opt/tableau/tableau_server/data/tabsvc/config`.

Ad esempio,

`/var/opt/tableau/tableau_server/data/tabsvc/config/tabadminagent_<version_number>/tabsvc/keystores/tableauserver.jks`.

Se stai usando una directory di installazione personalizzata, i file dell’archivio delle chiavi verranno rilevati alla voce

`<install directory>/tableau_server/data/tabsvc/config/<service name_#.version_number>/tabsvc/keystores`

Per impostazione predefinita, gli utenti e i gruppi seguenti hanno accesso a questa directory:

- root
- tableau (utente)
- membri del gruppo "tableau"

### Importare ed esportare le informazioni di configurazione

Tableau Services Manager introduce la possibilità di importare ed esportare le informazioni di configurazione usando l’[tsm settings export](https://help.tableau.com/v0.0/server-linux/it-it/cli_settings_tsm.htm#TSMExport).

**Nota**: questa versione di Tableau Server non supporta il ripristino delle informazioni di configurazione da un backup. Ti consigliamo invece di utilizzare i comandi di esportazione e importazione per eseguire il backup e il ripristino delle informazioni di configurazione.

Mentre i segreti di configurazione vengono crittografati quando memorizzati su disco internamente, quando la configurazione viene esportata in un file, i segreti vengono scritti in un file in testo normale. È compito dell’amministratore adottare misure per proteggere questo file. Sono disponibili diverse opzioni:

- Scrivi il file in un file system crittografato.
- Scrivi il file in una directory con restrizioni per utenti o gruppi specifici per le autorizzazioni del file system.
- Crittografa il file di output.

### Proteggere i segreti per le operazioni di importazione ed esportazione

Questa sezione descrive come crittografare l’output di backup. Con questo metodo, creerai una pipe con nome che fornirai come argomento di file, quindi la userai come input per crittografarlo. Il vantaggio è che i segreti non vengono mai scritti su disco in testo normale. Il gpg deve essere disponibile così come una chiave privata. Un esempio di questo metodo è illustrato nella sezione seguente.

L’esempio in questa sezione descrive come gestire i segreti in un computer separato.

Per maggiori informazioni, consulta i riferimenti esterni seguenti:

- [Crittografia dei file sulla riga di comando](http://backreference.org/2014/08/15/file-encryption-on-the-command-line/)
- [mkfifo(1) - Linux man page](https://linux.die.net/man/1/mkfifo)

Esempio: crittografa ed esporta

Di seguito è riportato un esempio di come proteggere il file durante l’esportazione della configurazione.

`mkfifo -m 600 /tmp/secure1 && (gpg --symmetric --batch --yes --passphrase-file ~/.secrets/pgppassphrase.txt --cipher-algo AES256 --output encrypted.enc < /tmp/secure1 &) && tsm settings export -f /tmp/secure1 && rm /tmp/secure1`

I dettagli di questa operazione sono:

- Creare un pipe con nome, con accesso limitato dalle autorizzazioni dei file a rw per l’utente corrente.
    
    `mkfifo -m 600 /tmp/secure1`
- Chiama gpg per crittografare i dati inviati dal pipe con nome, eseguendo un processo separato. Esso bloccherà i dati in attesa. Il risultato sarà un file contenente i dati crittografati.
    
    `gpg --symmetric --batch --yes --passphrase-file ~/.secrets/pgppassphrase.txt --cipher-algo AES256 --output encrypted.enc < /tmp/secure1 &`
- Chiama tsm per esportare la configurazione, fornendo la pipe con nome come argomento del file.
    
    `tsm settings export -f /tmp/secure1`
- Cancella il pipe con nome.
    
    `rm /tmp/secure1`

I dati crittografati si trovano nel file "encrypted.enc".

**Esempio: decrittografare e importare**

Di seguito è riportato un esempio di come decrittografare e importare la configurazione.

`mkfifo -m 600 /tmp/secret2 && (gpg --decrypt --batch --yes --passphrase-file ~/.secrets/pgppassphrase.txt encrypted.enc > /tmp/secret2 &) && tsm settings import -f /tmp/secret2 && rm /tmp/secret2`

I dettagli di questa operazione sono:

- Creare un pipe con nome, con accesso limitato dalle autorizzazioni dei file a rw per l’utente corrente.
    
    `mkfifo -m 600 /tmp/secure2`
- Decrittografa la configurazione e inviala alla pipe con nome. Metti in secondo piano questo processo separato, si bloccherà in attesa di essere letto.
    
    `gpg --decrypt --batch --yes --passphrase-file ~/.secrets/pgppassphrase.txt encrypted.enc > /tmp/secret2 &`
- Esegui il comando di importazione della configurazione tsm, effettua il login se necessario.
    
    `tsm settings import -f /tmp/secret2`
- Cancella il pipe con nome.
    
    `rm /tmp/secure1`

La configurazione in sospeso contiene la configurazione importata.

Esegui le [tsm pending-changes apply](https://help.tableau.com/v0.0/server-linux/it-it/cli_pending-changes.htm#pending-changes-apply) alle modifiche di commit. Se le modifiche in sospeso richiedono il riavvio del server, il comando `pending-changes apply` visualizzerà un messaggio per segnalare che verrà eseguito un riavvio. Questo messaggio viene visualizzato anche se il server è stato arrestato, ma in questo caso il riavvio non viene eseguito. Puoi eliminare la richiesta usando l’opzione `--ignore-prompt`, ma questo non modifica il comportamento del riavvio. Se le modifiche non richiedono un riavvio, vengono applicate senza visualizzare alcun messaggio. Per maggiori informazioni, consulta [tsm pending-changes apply](https://help.tableau.com/v0.0/server-linux/it-it/cli_pending-changes.htm#pending-changes-apply).

### Nodi cluster

Quando si aggiunge un nuovo nodo al cluster di Tableau Server, dovrai generare il file di configurazione del nodo ([tsm topology](https://help.tableau.com/v0.0/server-linux/it-it/cli_topology_tsm.htm#topology-get-bootstrap-file)). Il file di configurazione del nodo contiene una copia dell’archivio chiavi master utilizzato per crittografare i segreti di configurazione.

**Importante**: ti consigliamo vivamente di adottare misure aggiuntive per proteggere il file di configurazione del nodo durante l’esportazione di un file di configurazione con segreti.

Quando [installi e configuri Tableau Server nel nuovo nodo](https://help.tableau.com/v0.0/server-linux/it-it/install_additional_nodes.htm), dovrai specificare il file di configurazione del nodo al comando `initialize-tsm`. Puoi utilizzare una tecnica simile come descritto in precedenza per decrittografare il contenuto del file precedentemente crittografato e inviarlo tramite una pipe con nome al comando `initialize-tsm`.

### Archiviazione dei segreti della registrazione degli eventi

Gli eventi seguenti relativi all’archiviazione dei segreti vengono registrati:

- Generazione di nuove chiavi di crittografia
- Chiave di crittografia attivata o modificata
- Crittografia di un nuovo valore nel file di configurazione

Per maggiori informazioni sui file di log e su dove vengono archiviati, consulta [Lavorare con i file di log](https://help.tableau.com/v0.0/server-linux/it-it/logs_working_with.htm).

## Gestire i segreti

In qualità di amministratore di Tableau Server, il compito più importante relativo alla memorizzazione dei segreti è quello di aggiornare periodicamente i segreti. In alcuni casi (risoluzione dei problemi del server o controllo) potresti dover recuperare una password.

Per altre operazioni, ad esempio l’aggiornamento di versioni, il backup e il ripristino o l’aggiunta di nuovi nodi a un cluster, come indicato in precedenza, Tableau Server gestisce l’archiviazione dei segreti e i processi correlati automaticamente.

### Aggiornare i segreti

Ti consigliamo di aggiornare periodicamente i segreti in base ai criteri di sicurezza dell’azienda.

Per aggiornare la chiave principale e i segreti generati automaticamente, esegui [tsm security regenerate-internal-tokens](https://help.tableau.com/v0.0/server-linux/it-it/cli_security_tsm.htm#regenerate-tokens).

### Recuperare le password

In alcuni casi, potresti dover recuperare una password per la risoluzione dei problemi o altre operazioni. Ad esempio, potresti aver bisogno delle credenziali utente Postgres generate e crittografate da Tableau Server. In questi casi, puoi eseguire un comando tsm che consenta di recuperare e decrittografare la password.

Per recuperare una password, apri il prompt dei comandi e rilascia un comando `tsm configuration get` per uno dei parametri indicati nella tabella seguente.

Per recuperare ad esempio una password per l’utente Postgres, digita il comando seguente:

`tsm configuration get -k pgsql.readonly_password`

Il comando restituirà la password in testo non crittografato:

`$ tsm configuration get -k pgsql.readonly_password`

`password`

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 50%;"><col style="width: 50%;"></colgroup><tbody><tr><th>Configuration Parameter</th><th>Description</th></tr><tr><td>clustercontroller.zookeeper.password</td><td>Password for cluster controller to connect to zookeeper.</td></tr><tr><td>indexandsearchserver.client.password             
						

					</td><td>Password for logging into Index and Search Server. 

					</td></tr><tr><td>indexandsearchserver.ssl.admin.cert.bytes             
					</td><td>Admin certificate that is used for administrative access to the Index and Search Server. The admin certificate is used to generate the node certificate. 

					</td></tr><tr><td>indexandsearchserver.ssl.admin.key.file_bytes 
					</td><td>Certificate key for administrative access to the Index and Search Server. 

					</td></tr><tr><td>indexandsearchserver.ssl.node.cert.bytes </td><td>Certificate that is used for Index and Search Server node-to-node communication.

					</td></tr><tr><td>            
						indexandsearchserver.ssl.node.key.file_bytes             
					</td><td>Certificate key that is used for Index and Search Server node-to-node communication.</td></tr><tr><td>indexandsearchserver.ssl.root.cert.bytes             
					</td><td>Certificate that is used to sign the admin and node certificates . This certificate is used by TSM&nbsp;for health check and by NLP&nbsp;to connect to Index and Search Server. 

					</td></tr><tr><td>indexandsearchserver.ssl.root.key.file_bytes </td><td>Certificate key for root certificate.

					</td></tr><tr><td>filestore.zookeeper.password</td><td>Password for filestore to connect to zookeeper.</td></tr><tr><td>hyper.connection.init_password 

					</td><td>Password used to initialize the Hyper database for user <code>tableau_internal_user</code> and is then used for connecting to Hyper.

					</td></tr><tr><td>jdbc.password</td><td>Password for the rails Postgres user.</td></tr><tr><td>kms.persistent_store 

					</td><td>A collection of master encryption keys (MEKs) used by the Key Management System.

					</td></tr><tr><td>maestro.rserve.password             
						</td><td>Password for connecting to an external Rserve instance used by Tableau Prep Conductor for running flows that have nodes with R scripts. 

					</td></tr><tr><td>maestro.tabpy.password</td><td>Password for connecting to an external TabPy (Python server) instance used by Tableau Prep Conductor for running flows that have nodes with Python scripts. 

					</td></tr><tr><td>oauth.google.client_secret</td><td>Client secret of the Google Cloud Platform account. </td></tr><tr><td>oauth.quickbooks.consumer_secret</td><td>Consumer secret of the Intuit developer account. </td></tr><tr><td>oauth.salesforce.client_secret</td><td>Client secret of the Salesforce developer account. </td></tr><tr><td>pgsql.adminpassword</td><td><p>Password per l’utente amministratore Postgres.</p><p class="note"><b>Nota</b>: sebbene il parametro di configurazione sia crittografato nei file di configurazione di Tableau (tabsvc.yml, workgroup.yml), questa password viene memorizzata in testo normale nei file utilizzati da SAML.</p></td></tr><tr><td>pgsql.readonly_password</td><td>Password for the readonly Postgres user.</td></tr><tr><td>pgsql.remote_password</td><td>Password for the tableau Postgres user.</td></tr><tr><td>redis.password </td><td><p>Password per Redis.</p><p class="note"><b>Nota</b>: sebbene il parametro di configurazione sia crittografato nei file di configurazione di Tableau (tabsvc.yml, workgroup.yml), la configurazione sarà ancora in testo normale nel file redis.conf utilizzato dall’applicazione Redis. Redis non supporta le password crittografate/protette.</p></td></tr><tr><td>servercrashupload.proxy_server_password</td><td>Password for custom proxy server used to upload crash reports.</td></tr><tr><td>service.runas.password</td><td>Password of the Run As users. Stored temporarily.</td></tr><tr><td>ssl.cert.file_bytes             
					</td><td>The content of one of the three SSL certificate files uploaded by the administrator. The certificate files are required to enable secure external connections to Tableau Server. </td></tr><tr><td>ssl.chain.file_bytes 
					</td><td>The chain file(s) for the certificates uploaded by the administrator for external SSL.</td></tr><tr><td>ssl.key.file_bytes</td><td>Key file(s) for the certificates uploaded by the administrator for external SSL.</td></tr><tr><td>ssl.key.passphrase</td><td>Optional passphrase used to protect the external SSL key.</td></tr><tr><td>svcmonitor.notification.smtp.password</td><td>SMTP Server password supplied by the administrator through TabConfig.exe.</td></tr><tr><td>tabadminservice.password</td><td>Password for the service that allows server admins to download log files through the web interface.</td></tr><tr><td>vizportal.openid.client_secret</td><td>This is the password ("provider client secret") used for  OpenID Connect SSO.</td></tr><tr><td>
                        vizqlserver.external_proxy_password
                    </td><td>Password used to authenticate to an external proxy.</td></tr><tr><td>wgserver.domain.password</td><td>Password used to bind to Active Directory. </td></tr><tr><td>wgserver.saml.key.passphrase</td><td>Passphrase used to access the PKCS#8 SAML key file.</td></tr><tr><td>zookeeper.tsm.password</td><td>Password that TSM&nbsp;uses to connect to Zookeeper coordination service</td></tr></tbody></table>