

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configurazione dell'autenticazione e di SSL


Per proteggere i dati da accessi non autorizzati, gli archivi dati di Amazon Redshift richiedono l'autenticazione di tutte le connessioni tramite le credenziali utente. Alcuni archivi dati richiedono inoltre connessioni tramite il protocollo Secure Sockets Layer (SSL), con o senza autenticazione unidirezionale.

Il driver JDBC versione 2.x di Amazon Redshift fornisce il supporto completo per questi protocolli di autenticazione. 

La versione SSL supportata dal driver dipende dalla versione JVM che si sta utilizzando. Per ulteriori informazioni sulle versioni SSL supportate da ogni versione di Java, consultare [Diagnosi di TLS, SSL e HTTPS](https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https) sul blog di gestione prodotti del gruppo di piattaforme Java. 

La versione SSL utilizzata per la connessione è la versione più alta supportata sia dal driver che dal server e viene determinata al momento della connessione.

Configura il driver JDBC versione 2.x di Amazon Redshift per autenticare la connessione in base ai requisiti di sicurezza del server Redshift a cui stai effettuando la connessione. 

Per autenticare la connessione, devi sempre specificare il nome utente e la password di Redshift. A seconda che SSL sia abilitato e necessario sul server, potresti dover configurare il driver per la connessione tramite SSL. Oppure potrebbe essere necessario utilizzare l'autenticazione SSL unidirezionale in modo che il client (il driver stesso) verifichi l'identità del server. 

Le informazioni di configurazione vengono fornite al driver nell'URL di connessione. Per ulteriori informazioni sulla sintassi dell'URL di connessione, consultare [Creazione dell'URL di connessione](jdbc20-build-connection-url.md). 

*SSL indica*. TLS/SSL, both Transport Layer Security and Secure Sockets Layer. The driver supports industry-standard versions of TLS/SSL 

## Configurazione dell'autenticazione IAM


Se ci si connette a un server Amazon Redshift tramite l'autenticazione IAM, impostare le seguenti proprietà come parte della stringa di connessione all'origine dati. 

 Per ulteriori informazioni sull'autenticazione IAM, consultare [Identity and Access Management in Amazon Redshift](redshift-iam-authentication-access-control.md).

Per utilizzare l'autenticazione IAM, utilizzare uno dei seguenti formati di stringa di connessione:


| Stringa di connessione | Description | 
| --- | --- | 
|  `jdbc:redshift:iam:// [host]:[port]/[db]`  |  Una stringa di connessione normale. Il driver deduce il ClusterID e la regione dall'host.  | 
|  `jdbc:redshift:iam:// [cluster-id]: [region]/[db]`  |  Il driver recupera le informazioni sull'host, dato il ClusterID e la regione.  | 
|  `jdbc:redshift:iam:// [host]/[db]`  |  Il driver utilizza di default la porta 5439 e recupera ClusterID e regione dall'host. A seconda della porta selezionata durante la creazione, la modifica o la migrazione del cluster, consenti l'accesso alla porta selezionata.   | 

## Specifica di profili


Se si utilizza l'autenticazione IAM, è possibile specificare eventuali altre proprietà di connessione obbligatorie o facoltative sotto il nome di un profilo. In questo modo, è possibile evitare di inserire determinate informazioni direttamente nella stringa di connessione. Il nome del profilo viene specificato nella stringa di connessione utilizzando la proprietà Profile. 

I profili possono essere aggiunti al file delle AWS credenziali. Il percorso predefinito per questo file è `~/.aws/credentials`. 

È possibile modificare il valore predefinito impostando il percorso nella seguente variabile di ambiente: `AWS_CREDENTIAL_PROFILES_FILE` 

 Per ulteriori informazioni sui profili, consultare [Utilizzo delle credenziali AWS](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) nella *AWS SDK per Java*. 

## Utilizzo delle credenziali del profilo dell'istanza


Se si sta eseguendo un'applicazione su un'istanza Amazon EC2 associata a un ruolo IAM, è possibile connettersi utilizzando le credenziali del profilo dell'istanza. 

A tale scopo utilizza uno dei formati di stringa di connessione IAM della tabella precedente e imposta la proprietà di connessione dbuser sul nome utente Amazon Redshift con cui ti connetti. 

Per ulteriori informazioni sui profili dell'istanza, consultare [Gestione degli accessi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) nella *Guida per l'utente di IAM*. 

## Utilizzo di provider di credenziali


Il driver supporta inoltre i plug-in del provider di credenziali dei seguenti servizi: 
+ AWS IAM Identity Center
+ Active Directory Federation Service (ADFS)
+ Servizio JSON Web Tokens (JWT)
+ Servizio Microsoft Azure Active Directory (AD) e servizio Browser Microsoft Azure Active Directory (AD)
+ Servizio Okta
+ PingFederate Servizio 
+ Browser SAML per servizi SAML quali Okta, Ping o ADFS

Se si utilizza uno di questi servizi, l'URL di connessione deve specificare le proprietà seguenti: 
+ **Plugin\$1Name**: la variabile classpath completa per la classe di plug-in del provider di credenziali.
+ **IdP\$1Host:**: l'host del servizio che si sta utilizzando per autenticarsi in Amazon Redshift.
+ **IdP\$1Port**: la porta su cui l'host del servizio di autenticazione è in ascolto. Non richiesta per Okta.
+ **User**: il nome utente per il server idp\$1host.
+ **Password**: la password associata al nome utente idp\$1host.
+ **DbUser**— Il nome utente di Amazon Redshift con cui ti stai connettendo.
+ **SSL\$1Insecure**: indica se il certificato del server IDP deve essere verificato.
+ **Client\$1ID**: l’ID client associato al nome utente nel portale di Azure AD. Utilizzata solo per Azure AD.
+ **Client\$1Secret**: il segreto client associato all'ID client nel portale di Azure AD. Utilizzata solo per Azure AD.
+ **IdP\$1Tenant**: l'ID tenant di Azure AD per l'applicazione Amazon Redshift. Utilizzata solo per Azure AD.
+ **App\$1ID**: l'ID dell'app Okta per l'applicazione Amazon Redshift. Utilizzata solo per Okta.
+ **App\$1Name**: il nome dell'app Okta per l'applicazione Amazon Redshift. Utilizzata solo per Okta.
+ **Partner\$1SPID**: il valore facoltativo dello SPID (Service Provider ID) del partner. Utilizzato solo per PingFederate.
+ **Idc\$1Region**: Regione AWS dove si trova l'istanza di AWS IAM Identity Center. Utilizzato solo per AWS IAM Identity Center.
+ **Issuer\$1Url: l'**endpoint dell' AWS istanza del server IAM Identity Center. Utilizzato solo per IAM Identity Center AWS .

Se si utilizza un plug-in per il browser per uno di questi servizi, l'URL di connessione può includere anche: 
+ **Login\$1URL**: l'URL della risorsa sul sito Web del provider di identità quando si usa il linguaggio SAML (Security Assertion Markup Language) o i servizi di Azure AD tramite un plug-in del browser. Questo parametro è obbligatorio se si utilizza un plug-in del browser.
+ **Listen\$1Port**: la porta utilizzata dal driver per ottenere la risposta SAML dal provider di identità quando utilizza i servizi SAML, Azure AD o AWS IAM Identity Center tramite un plug-in del browser.
+ **IDP\$1Response\$1Timeout**: la quantità di tempo, in secondi, che il driver attende la risposta SAML dal provider di identità quando utilizza i servizi SAML, Azure AD o IAM Identity Center tramite un plug-in del browser. AWS 

Per informazioni sulle proprietà aggiuntive della stringa di connessione, consultare [Opzioni per la configurazione del driver JDBC versione 2.x](jdbc20-configuration-options.md). 

# Utilizzo solo del nome utente e della password


Se il server a cui ti connetti non utilizza SSL, per autenticare la connessione, devi solo fornire il nome utente e la password di Redshift. 

**Come configurare l’autenticazione utilizzando solo il nome utente e la password di Redshift**

1. Imposta la proprietà `UID` sul nome utente di Redshift per accedere al server Amazon Redshift.

1. Imposta la proprietà PWD sulla password corrispondente al nome utente di Redshift.

# Utilizzo di SSL senza verifica dell'identità


Se il server a cui ci si connette utilizza SSL ma non richiede la verifica dell'identità, è possibile configurare il driver per utilizzare un factory SSL non convalidante. 

**Come configurare una connessione SSL senza verifica dell'identità**

1. Imposta la proprietà `UID` sul nome utente di Redshift per accedere al server Amazon Redshift.

1. Imposta la proprietà `PWD` sulla password corrispondente al nome utente di Redshift.

1. Impostare la proprietà `SSLFactory` su `com.amazon.redshift.ssl.NonValidatingFactory`.

# Utilizzo dell'autenticazione SSL unidirezionale


Se il server a cui ci si connette utilizza SSL e dispone di un certificato, allora è possibile configurare il driver per verificare l'identità del server utilizzando l'autenticazione unidirezionale. 

L'autenticazione unidirezionale richiede un certificato SSL firmato e attendibile che verifichi l'identità del server. Puoi configurare il driver per utilizzare un certificato specifico o accedere a un certificato che contiene il certificato appropriato. TrustStore Se non si specifica un certificato o TrustStore, il driver utilizza il codice Java predefinito TrustStore (in genere uno `jssecacerts` o due`cacerts`). 

**Come configurare l'autenticazione SSL unidirezionale**

1. Imposta la proprietà UID sul nome utente di Redshift per accedere al server Amazon Redshift.

1. Imposta la proprietà PWD sulla password corrispondente al nome utente di Redshift.

1. Impostare la proprietà SSL su true.

1. Imposta la proprietà SSLRoot Cert sulla posizione del certificato CA principale.

1. Se non utilizzi uno dei file Java predefiniti TrustStores, esegui una delle seguenti operazioni:
   + Per specificare un certificato server, impostate la proprietà SSLRoot Cert sul percorso completo del certificato.
   + Per specificare a TrustStore, procedi come segue:

     1. Utilizzate il programma keytool per aggiungere il certificato del server a TrustStore quello che desiderate utilizzare.

     1. Specificate la password TrustStore e da utilizzare all'avvio dell'applicazione Java utilizzando il driver. Esempio:

        ```
        -Djavax.net.ssl.trustStore=[TrustStoreName]
        -Djavax.net.ssl.trustStorePassword=[TrustStorePassword]
        -Djavax.net.ssl.trustStoreType=[TrustStoreType]
        ```

1. modi:
   + Per convalidare il certificato, imposta la SSLMode proprietà su verify-ca.
   + Per convalidare il certificato e verificare il nome host nel certificato, imposta la proprietà su verify-full. SSLMode 