

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration de l’authentification et du protocole SSL
<a name="jdbc20-configure-authentication-ssl"></a>

Pour protéger les données contre les accès non autorisés, les magasins de données Amazon Redshift exigent que toutes les connexions soient authentifiées à l’aide des informations d’identification de l’utilisateur. Certains magasins de données exigent également que les connexions soient établies via le protocole SSL, avec ou sans authentification unidirectionnelle.

Le pilote Amazon Redshift JDBC version 2.x fournit une prise en charge complète de ces protocoles d’authentification. 

La version SSL prise en charge par le pilote dépend de la version JVM que vous utilisez. Pour plus d’informations sur les versions SSL prises en charge par chaque version de Java, consultez [Diagnosing TLS, SSL, and HTTPS](https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https) sur le blog Java Platform Group Product Management. 

La version SSL utilisée pour la connexion est la version la plus élevée prise en charge par le pilote et le serveur, qui est déterminée au moment de la connexion.

Configurez le pilote JDBC Amazon Redshift version 2.x pour authentifier votre connexion conformément aux exigences de sécurité du serveur Redshift auquel vous vous connectez. 

Vous devez toujours fournir votre nom d’utilisateur et votre mot de passe Redshift pour authentifier la connexion. Selon que SSL est activé et requis sur le serveur, vous devrez peut-être également configurer le pilote pour qu’il se connecte via SSL. Vous pouvez également utiliser l’authentification SSL à sens unique afin que le client (le pilote lui-même) vérifie l’identité du serveur. 

Vous fournissez les informations de configuration au pilote dans l’URL de connexion. Pour plus d’informations sur la syntaxe de l’URL de connexion, consultez [Création de l’URL de connexion](jdbc20-build-connection-url.md). 

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

## Configuration de l’authentification IAM
<a name="jdbc20-configure-iam-authentication"></a>

Si vous vous connectez à un serveur Amazon Redshift à l’aide de l’authentification IAM, définissez les propriétés suivantes dans le cadre de votre chaîne de connexion à la source de données. 

 Pour plus d’informations sur l’authentification IAM, consultez [Identity and Access Management dans Amazon Redshift](redshift-iam-authentication-access-control.md).

Pour utiliser l’authentification IAM, utilisez l’un des formats de chaîne de connexion suivants :


| Chaîne de connexion | Description | 
| --- | --- | 
|  `jdbc:redshift:iam:// [host]:[port]/[db]`  |  Chaîne de connexion régulière. Le pilote déduit les valeurs de ClusterID et Region de l’hôte.  | 
|  `jdbc:redshift:iam:// [cluster-id]: [region]/[db]`  |  Le pilote récupère les informations sur l’hôte, en fonction des valeurs de ClusterID et Region.  | 
|  `jdbc:redshift:iam:// [host]/[db]`  |  Le pilote utilise par défaut le port 5439 et déduit les valeurs de ClusterID et Region de l’hôte. En fonction du port que vous avez sélectionné lors de la création, de la modification ou de la migration du cluster, autorisez l’accès au port sélectionné.   | 

## Spécification des profils
<a name="jdbc20-aws-credentials-profiles"></a>

Si vous utilisez l’authentification IAM, vous pouvez spécifier des propriétés de connexion supplémentaires obligatoires ou facultatives sous un nom de profil. Ce faisant, vous pouvez éviter de mettre certaines informations directement dans la chaîne de connexion. Vous spécifiez le nom du profil dans votre chaîne de connexion à l’aide de la propriété Profile. 

Les profils peuvent être ajoutés au fichier AWS d'informations d'identification. L’emplacement par défaut de ce fichier est : `~/.aws/credentials` 

Vous pouvez modifier la valeur par défaut en définissant le chemin d’accès dans la variable d’environnement suivante : `AWS_CREDENTIAL_PROFILES_FILE` 

 Pour plus d’informations sur les profils, consultez [Utilisation d’informations d’identification AWS](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) dans le *AWS SDK pour Java*. 

## Utilisation des informations d’identification du profil d’instance
<a name="jdbc20-instance-profile-credentials"></a>

Si vous exécutez une application sur une instance Amazon EC2 associée à un rôle IAM, vous pouvez vous connecter à l’aide des informations d’identification du profil d’instance. 

Pour ce faire, utilisez l’un des formats de chaîne de connexion IAM du tableau précédent et définissez la propriété de connexion dbuser sur le nom d’utilisateur Amazon Redshift sous lequel vous vous connectez. 

Pour plus d’informations sur les profils d’instance, consultez [Gestion des accès](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) dans le *Guide de l’utilisateur IAM*. 

## Utilisation des fournisseurs d’informations d’identification
<a name="jdbc20-aws-credentials-provider"></a>

Le pilote prend également en charge les plugins du fournisseur d’informations d’identification des services suivants : 
+ AWS Centre d'identité IAM
+ Active Directory Federation Service (ADFS)
+ Service de jetons web JSON (JWT)
+ Services Microsoft Azure Active Directory (AD) et navigateur Microsoft Azure Active Directory (AD)
+ Service Okta
+ PingFederate Service 
+ Navigateur SAML pour les services SAML tels qu’Okta, Ping ou ADFS

Si vous utilisez l’un de ces services, l’URL de connexion doit spécifier les propriétés suivantes : 
+ **Plugin\$1Name** : le chemin de classe complet pour votre classe de plugin fournisseur d’informations d’identification.
+ **IdP\$1Host** : hôte du service que vous utilisez pour vous authentifier dans Amazon Redshift.
+ **IdP\$1Port** : port sur lequel l’hôte du service d’authentification écoute. Non requis pour Okta.
+ **Utilisateur** : nom d’utilisateur du serveur idp\$1host.
+ **Mot de passe** : mot de passe associé au nom d’utilisateur idp\$1host.
+ **DbUser**— Le nom d'utilisateur Amazon Redshift sous lequel vous vous connectez.
+ **SSL\$1Insecure** : indique si le certificat du serveur IDP doit être vérifié.
+ **Client\$1ID** : ID client associé au nom d’utilisateur dans le portail Azure AD. Utilisé uniquement pour Azure AD.
+ **Client\$1Secret** : secret client associé à l’ID client dans le portail Azure AD. Utilisé uniquement pour Azure AD.
+ **IdP\$1Tenant** : ID de locataire Azure AD pour votre application Amazon Redshift. Utilisé uniquement pour Azure AD.
+ **App\$1ID** : ID de l’appli Okta pour votre application Amazon Redshift. Utilisé uniquement pour Okta.
+ **App\$1Name** : nom facultatif de l’appli Okta pour votre application Amazon Redshift. Utilisé uniquement pour Okta.
+ **Partner\$1SPID** : valeur SPID du partenaire facultative (ID du fournisseur de services). Utilisé uniquement pour PingFederate.
+ **Idc\$1Region** — L' Région AWS emplacement de l'instance AWS IAM Identity Center. Utilisé uniquement pour AWS IAM Identity Center.
+ **Issuer\$1Url — Point** de terminaison de l' AWS instance du serveur IAM Identity Center. Utilisé uniquement pour AWS IAM Identity Center.

Si vous utilisez un plugin de navigateur pour l’un de ces services, l’URL de connexion peut également inclure les éléments suivants : 
+ **Login\$1URL** : URL de la ressource sur le site Web du fournisseur d’identité lors de l’utilisation des services SAML (Security Assertion Markup Language) ou Azure AD via un plugin de navigateur. Ce paramètre est obligatoire si vous utilisez un plugin de navigateur.
+ **Listen\$1Port — Port** utilisé par le pilote pour obtenir la réponse SAML du fournisseur d'identité lorsqu'il utilise les services SAML, Azure AD ou AWS IAM Identity Center via un plug-in de navigateur.
+ **IDP\$1Response\$1Timeout** — Durée, en secondes, pendant laquelle le pilote attend la réponse SAML du fournisseur d'identité lorsqu'il utilise les services SAML, Azure AD ou IAM Identity Center via un plug-in de navigateur. AWS 

Pour plus d’informations sur les propriétés supplémentaires de la chaîne de connexion, consultez [Options de configuration du pilote JDBC version 2.x](jdbc20-configuration-options.md). 

# Utilisation du nom d’utilisateur et du mot de passe uniquement
<a name="jdbc20-authentication-username-password"></a>

Si le serveur auquel vous vous connectez n’utilise pas SSL, il vous suffit de fournir votre nom d’utilisateur et votre mot de passe Redshift pour authentifier la connexion. 

**Pour configurer l’authentification en utilisant uniquement votre nom d’utilisateur et votre mot de passe Redshift**

1. Définissez la propriété `UID` sur votre nom d’utilisateur Redshift pour accéder au serveur Amazon Redshift.

1. Définissez la propriété PWD avec le mot de passe correspondant à votre nom d’utilisateur Redshift.

# Utilisation de SSL sans vérification d’identité
<a name="jdbc20-use-ssl-without-identity-verification"></a>

Si le serveur auquel vous vous connectez utilise SSL, mais ne nécessite pas de vérification d’identité, vous pouvez configurer le pilote pour qu’il utilise une fabrique SSL non validante. 

**Pour configurer une connexion SSL sans vérification d’identité**

1. Définissez la propriété `UID` sur votre nom d’utilisateur Redshift pour accéder au serveur Amazon Redshift.

1. Définissez la propriété `PWD` avec le mot de passe correspondant à votre nom d’utilisateur Redshift.

1. Définition de la propriété `SSLFactory` à `com.amazon.redshift.ssl.NonValidatingFactory`.

# Utilisation de l’authentification SSL unidirectionnelle
<a name="jdbc20-use-one-way-SSL-authentication"></a>

Si le serveur auquel vous vous connectez utilise SSL et dispose d’un certificat, vous pouvez configurer le pilote pour vérifier l’identité du serveur à l’aide de l’authentification unidirectionnelle. 

L’authentification unidirectionnelle nécessite un certificat SSL signé et approuvé pour vérifier l’identité du serveur. Vous pouvez configurer le pilote pour utiliser un certificat spécifique ou accéder à un certificat TrustStore contenant le certificat approprié. Si vous ne spécifiez pas de certificat ou TrustStore, le pilote utilise le langage Java par défaut TrustStore (généralement l'un `jssecacerts` ou l'autre`cacerts`). 

**Pour configurer l’authentification SSL unidirectionnelle**

1. Définissez la propriété UID sur votre nom d’utilisateur Redshift pour accéder au serveur Amazon Redshift.

1. Définissez la propriété PWD avec le mot de passe correspondant à votre nom d’utilisateur Redshift.

1. Définissez la propriété SSL sur true (vrai).

1. Définissez la propriété SSLRoot Cert sur l'emplacement de votre certificat CA racine.

1. Si vous n'utilisez pas l'une des versions Java par défaut TrustStores, effectuez l'une des opérations suivantes :
   + Pour spécifier un certificat de serveur, définissez la propriété SSLRoot Cert sur le chemin complet du certificat.
   + Pour spécifier un TrustStore, procédez comme suit :

     1. Utilisez le programme keytool pour ajouter le certificat de serveur à celui TrustStore que vous souhaitez utiliser.

     1. Spécifiez le mot de passe TrustStore et à utiliser lors du démarrage de l'application Java à l'aide du pilote. Par exemple :

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

1. Choisissez-en une :
   + Pour valider le certificat, définissez la SSLMode propriété sur verify-ca.
   + Pour valider le certificat et vérifier le nom d'hôte indiqué dans le certificat, définissez la SSLMode propriété sur verify-full.