Configuration de l'authentification et SSL - Amazon Redshift

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 SSL

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 nécessitent également que les connexions soient établies via le protocole Secure Sockets Layer (SSL), avec ou sans authentification unidirectionnelle.

La version 2.1 du JDBC pilote Amazon Redshift fournit une prise en charge complète de ces protocoles d'authentification.

La SSL version prise en charge par le pilote dépend de la JVM version que vous utilisez. Pour plus d'informations sur les SSL versions prises en charge par chaque version de Java, consultez la section Diagnostic TLS et HTTPS le blog de gestion des produits de Java Platform Group. SSL

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

Configurez la version 2.1 du JDBC pilote Amazon Redshift 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 qu'il SSL est activé et requis sur le serveur, vous devrez peut-être également configurer le pilote pour vous connecterSSL. Vous pouvez également utiliser l'SSLauthentification unidirectionnelle afin que le client (le pilote lui-même) vérifie l'identité du serveur.

Vous fournissez les informations de configuration au pilote lors de la connexionURL. Pour plus d'informations sur la syntaxe de la connexionURL, consultezConstruire la connexion URL.

SSLindiqueTLS/SSL, à la fois Transport Layer Security et Secure Sockets Layer. Le pilote prend en charge les versions standard deTLS/SSL.

Utilisation du nom d’utilisateur et du mot de passe uniquement

Si le serveur auquel vous vous connectez n'est pas utilisé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.

  2. Définissez la PWD propriété sur le mot de passe correspondant à votre nom d'utilisateur Redshift.

Utilisation SSL sans vérification d'identité

Si le serveur auquel vous vous connectez utilise une vérification d'identité SSL mais ne l'exige pas, vous pouvez configurer le pilote pour qu'il utilise une usine non validanteSSL.

Pour configurer une SSL connexion 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.

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

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

Utilisation de l'authentification unidirectionnelle SSL

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

L'authentification unidirectionnelle nécessite un SSL certificat signé et fiable 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'autrecacerts).

Pour configurer l'authentification unidirectionnelle SSL
  1. Définissez la UID propriété sur votre nom d'utilisateur Redshift pour accéder au serveur Amazon Redshift.

  2. Définissez la PWD propriété sur le mot de passe correspondant à votre nom d'utilisateur Redshift.

  3. Définissez la SSL propriété sur true.

  4. Définissez la SSLRootCert propriété sur l'emplacement de votre certificat CA racine.

  5. 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 SSLRootCert propriété 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.

      2. 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]
  6. 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.

Configuration de IAM l'authentification

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

Pour plus d'informations sur IAM l'authentification, consultezIdentity and Access Management dans Amazon Redshift.

Pour utiliser IAM l'authentification, 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

Si vous utilisez l'IAMauthentification, 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 AWS fichier 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, voir Travailler avec AWS Informations d'identification dans le AWS SDK for Java.

Utilisation des informations d’identification du profil d’instance

Si vous exécutez une application sur une EC2 instance Amazon associée à un IAM rôle, 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 IAM connexion 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 la section Gestion des accès dans le guide de IAM l'utilisateur.

Utilisation des fournisseurs d’informations d’identification

Le pilote prend également en charge les plugins du fournisseur d’informations d’identification des services suivants :

  • AWS IAMCentre d'identité

  • Service de fédération Active Directory (ADFS)

  • JSONService de jetons Web (JWT)

  • Services Microsoft Azure Active Directory (AD) et navigateur Microsoft Azure Active Directory (AD)

  • Service Okta

  • PingFederate Service

  • Navigateur SAML pour SAML des services tels que Okta, Ping ou ADFS

Si vous utilisez l'un de ces services, la connexion URL doit spécifier les propriétés suivantes :

  • Plugin_Name : le chemin de classe complet pour votre classe de plugin fournisseur d’informations d’identification.

  • IdP_Host : hôte du service que vous utilisez pour vous authentifier dans Amazon Redshift.

  • IdP_Port : port sur lequel l’hôte du service d’authentification écoute. Non requis pour Okta.

  • User : nom d’utilisateur du serveur idp_host.

  • Password : mot de passe associé au nom d’utilisateur idp_host.

  • DbUser— Le nom d'utilisateur Amazon Redshift sous lequel vous vous connectez.

  • SSL_Insecure — Indique si le certificat du IDP serveur doit être vérifié.

  • Client_ID : ID client associé au nom d’utilisateur dans le portail Azure AD. Utilisé uniquement pour Azure AD.

  • Client_Secret : secret client associé à l’ID client dans le portail Azure AD. Utilisé uniquement pour Azure AD.

  • IdP_Tenant : ID de locataire Azure AD pour votre application Amazon Redshift. Utilisé uniquement pour Azure AD.

  • App_ID : ID de l’appli Okta pour votre application Amazon Redshift. Utilisé uniquement pour Okta.

  • App_Name : nom facultatif de l’appli Okta pour votre application Amazon Redshift. Utilisé uniquement pour Okta.

  • Partner_ SPID — La valeur optionnelle du partenaire SPID (identifiant du fournisseur de services). Utilisé uniquement pour PingFederate.

  • Idc_Region — Le Région AWS où le AWS IAML'instance Identity Center est localisée. Utilisé uniquement pour AWS IAMCentre d'identité.

  • Issuer_Url — Le AWS IAMPoint de terminaison de l'instance du serveur Identity Center. Utilisé uniquement pour AWS IAMCentre d'identité.

Si vous utilisez un plugin de navigateur pour l'un de ces services, la connexion URL peut également inclure :

  • Login_ URL : URL pour la ressource sur le site Web du fournisseur d'identité lorsque vous utilisez le langage de balisage d'assertions de sécurité (SAML) ou les services Azure AD via un plug-in de navigateur. Ce paramètre est obligatoire si vous utilisez un plugin de navigateur.

  • Listen_Port — Le port que le pilote utilise pour obtenir la SAML réponse du fournisseur d'identité lorsqu'il utilise Azure AD ou SAML AWS IAMServices Identity Center via un plugin de navigateur.

  • IDP_Response_Timeout — Durée, en secondes, pendant laquelle le conducteur attend la SAML réponse du fournisseur d'identité lorsqu'il utilise Azure AD ou SAML AWS IAMServices Identity Center via un plugin de navigateur.

Pour plus d’informations sur les propriétés supplémentaires de la chaîne de connexion, consultez Options de configuration de la version 2.1 du JDBC pilote.