

 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.

# Sécurité dans Amazon Redshift
<a name="iam-redshift-user-mgmt"></a>

La sécurité du cloud AWS est la priorité absolue. En tant que AWS client, vous bénéficiez d'un centre de données et d'une architecture réseau conçus pour répondre aux exigences des entreprises les plus sensibles en matière de sécurité.

La sécurité est une responsabilité partagée entre vous AWS et vous. Le [modèle de responsabilité partagée](https://aws.amazon.com/compliance/shared-responsibility-model/) décrit cette notion par les termes sécurité *du* cloud et sécurité *dans* le cloud :
+ **Sécurité du cloud** : AWS est chargée de protéger l'infrastructure qui exécute les AWS services dans le AWS cloud. AWS vous fournit également des services que vous pouvez utiliser en toute sécurité. L’efficacité de notre sécurité est régulièrement testée et vérifiée par des auditeurs tiers dans le cadre des [programmes de conformitéAWS](https://aws.amazon.com/compliance/programs/). Pour en savoir plus sur les programmes de conformité qui s'appliquent à Amazon Redshift, veuillez consulter [Services AWS concernés par le programme de conformité](https://aws.amazon.com/compliance/services-in-scope/).
+ **Sécurité dans le cloud** — Votre responsabilité est déterminée par le AWS service que vous utilisez. Vous êtes également responsable d’autres facteurs, y compris la sensibilité de vos données, les exigences de votre organisation, et la législation et la réglementation applicables. 

L'accès aux ressources Amazon Redshift est contrôlé à quatre niveaux :
+ **Gestion des clusters :** la capacité à créer, configurer et supprimer des clusters est contrôlée par les autorisations accordées à l'utilisateur ou au compte associé à vos informations d'identification AWS de sécurité. Les utilisateurs disposant des autorisations appropriées peuvent utiliser l' AWS Management Console interface de programmation AWS Command Line Interface (CLI) ou l'interface de programmation d'applications (API) Amazon Redshift pour gérer leurs clusters. Cet accès est géré à l'aide de politiques IAM.
**Important**  
Amazon Redshift dispose d'un ensemble de bonnes pratiques pour la gestion des autorisations, des identités et des accès sécurisés. Nous vous recommandons de vous familiariser avec ces dernières lorsque vous commencerez à utiliser Amazon Redshift. Pour de plus amples informations, veuillez consulter [Identity and Access Management dans Amazon Redshift](redshift-iam-authentication-access-control.md).
+ **Connectivité au cluster :** les groupes de sécurité Amazon Redshift spécifient les AWS instances autorisées à se connecter à un cluster Amazon Redshift au format Classless Inter-Domain Routing (CIDR). Pour plus d'informations sur la création de groupes de sécurité Amazon Redshift, Amazon EC2 et Amazon VPC, ainsi que leur association à des clusters, consultez la section [Groupes de sécurité Amazon Redshift](security-network-isolation.md#working-with-security-groups).
+  **Accès à la base de données** : la possibilité d'accéder aux objets de base de données, tels que les tables et les vues, est contrôlée par les comptes d'utilisateur dans la base de données Amazon Redshift. Les utilisateurs peuvent uniquement accéder aux ressources de la base de données auxquelles leurs comptes d'utilisateur ont l'autorisation d'accéder. Vous créez ces comptes d’utilisateur Amazon Redshift et gérez les autorisations à l’aide des instructions SQL [CREATE USER](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html), [CREATE GROUP](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_GROUP.html), [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) et [REVOKE](https://docs.aws.amazon.com/redshift/latest/dg/r_REVOKE.html). Pour plus d’informations, consultez [Gestion de la sécurité de la base de données](https://docs.aws.amazon.com/redshift/latest/dg/r_Database_objects.html) dans le Guide du développeur de base de données Amazon Redshift. 
+ **Informations d'identification temporaires de base de données et authentification unique** : en plus de créer et de gérer les utilisateurs de base de données à l'aide des commandes SQL, telles que CREATE USER et ALTER USER, vous pouvez configurer votre client SQL avec des pilotes JDBC ou ODBC Amazon Redshift personnalisés. Ces pilotes gèrent la création d'utilisateurs de base de données et de mots de passe temporaires dans le cadre du processus de connexion à une base de données.

  Les pilotes authentifient les utilisateurs de base de données sur la base de l’authentification d’ Gestion des identités et des accès AWS (IAM). Si vous gérez déjà les identités des utilisateurs en dehors de AWS, vous pouvez utiliser un fournisseur d'identité (IdP) compatible SAML 2.0 pour gérer l'accès aux ressources Amazon Redshift. Vous utilisez un rôle IAM pour configurer votre IdP AWS et pour permettre à vos utilisateurs fédérés de générer des informations d'identification de base de données temporaires et de se connecter aux bases de données Amazon Redshift. Pour de plus amples informations, veuillez consulter [Utilisation de l’authentification IAM pour générer des informations d’identification de l’utilisateur de base de données](generating-user-credentials.md).

Cette documentation vous aide à comprendre comment appliquer le modèle de responsabilité partagée lors de l'utilisation d'Amazon Redshift. Les rubriques suivantes vous montrent comment configurer Amazon Redshift pour répondre à vos objectifs de sécurité et de conformité. Vous apprendrez également à utiliser d'autres AWS services qui vous aident à surveiller et à sécuriser vos ressources Amazon Redshift. 

**Topics**
+ [

# Protection des données dans Amazon Redshift
](security-data-protection.md)
+ [

# Identity and Access Management dans Amazon Redshift
](redshift-iam-authentication-access-control.md)
+ [

# Gestion des mots de passe d'administration Amazon Redshift à l'aide de AWS Secrets Manager
](redshift-secrets-manager-integration.md)
+ [

# Journalisation et surveillance dans Amazon Redshift
](security-incident-response.md)
+ [

# Validation de la conformité pour Amazon Redshift
](security-compliance.md)
+ [

# Résilience d'Amazon Redshift
](security-disaster-recovery-resiliency.md)
+ [

# Sécurité de l'infrastructure dans Amazon Redshift
](security-network-isolation.md)
+ [

# Configuration et analyse des vulnérabilités dans Amazon Redshift
](security-vulnerability-analysis-and-management.md)

# Protection des données dans Amazon Redshift
<a name="security-data-protection"></a>

Le [modèle de responsabilité AWS partagée](https://aws.amazon.com/compliance/shared-responsibility-model/) s'applique à la protection des données dans Amazon Redshift. Comme décrit dans ce modèle, AWS est chargé de protéger l'infrastructure mondiale qui gère tous lesAWS Cloud. La gestion du contrôle de votre contenu hébergé sur cette infrastructure relève de votre responsabilité. Vous êtes également responsable des tâches de configuration et de gestion de la sécurité des Services AWS que vous utilisez. Pour plus d’informations sur la confidentialité des données, consultez [Questions fréquentes (FAQ) sur la confidentialité des données](https://aws.amazon.com/compliance/data-privacy-faq/). Pour en savoir plus sur la protection des données en Europe, consultez le billet de blog [Modèle de responsabilité partagée d’AWS et RGPD (Règlement général sur la protection des données)](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) sur le *Blog de sécurité AWS*.

À des fins de protection des données, nous vous recommandons de protéger les Compte AWS informations d'identification et de configurer les utilisateurs individuels avec AWS IAM Identity Center ou Gestion des identités et des accès AWS (IAM). Ainsi, chaque utilisateur se voit attribuer uniquement les autorisations nécessaires pour exécuter ses tâches. Nous vous recommandons également de sécuriser vos données comme indiqué ci-dessous :
+ Utilisez l’authentification multifactorielle (MFA) avec chaque compte.
+  SSL/TLS À utiliser pour communiquer avec AWS les ressources. Nous exigeons TLS 1.2 et recommandons TLS 1.3.
+ Configurez l'API et la journalisation de l'activité des utilisateurs avecAWS CloudTrail. Pour plus d'informations sur l'utilisation des CloudTrail sentiers pour capturer AWS des activités, consultez la section [Utilisation des CloudTrail sentiers](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) dans le *guide de AWS CloudTrail l'utilisateur*.
+ Utilisez des solutions de AWS chiffrement, ainsi que tous les contrôles de sécurité par défaut qu'ils contiennentServices AWS.
+ Utilisez des services de sécurité gérés avancés tels qu’Amazon Macie, qui contribuent à la découverte et à la sécurisation des données sensibles stockées dans Amazon S3.
+ Si vous avez besoin de modules cryptographiques validés par la norme FIPS 140-3 pour accéder AWS via une interface de ligne de commande ou une API, utilisez un point de terminaison FIPS. Pour plus d’informations sur les points de terminaison FIPS disponibles, consultez [Norme FIPS (Federal Information Processing Standard) 140-3](https://aws.amazon.com/compliance/fips/).

Nous vous recommandons fortement de ne jamais placer d’informations confidentielles ou sensibles, telles que les adresses e-mail de vos clients, dans des balises ou des champs de texte libre tels que le champ **Nom**. Cela inclut lorsque vous travaillez avec Amazon Redshift ou une autre entreprise à Services AWS l'aide de la console, de l'API ou. AWS CLI AWS SDKs Toutes les données que vous entrez dans des balises ou des champs de texte de forme libre utilisés pour les noms peuvent être utilisées à des fins de facturation ou dans les journaux de diagnostic. Si vous fournissez une adresse URL à un serveur externe, nous vous recommandons fortement de ne pas inclure d’informations d’identification dans l’adresse URL permettant de valider votre demande adressée à ce serveur.

# Chiffrement des données
<a name="security-encryption"></a>

La protection des données consiste à protéger les données en transit (lorsqu’elles se déplacent vers et depuis Amazon Redshift) et au repos (lorsqu’elles sont stockées sur des disques dans les centres de données Amazon Redshift). Vous pouvez protéger les données en transit en utilisant SSL ou un chiffrement côté client. Vous disposez des options suivantes pour protéger les données au repos dans Amazon Redshift.
+ **Utilisation du chiffrement côté serveur** – Vous demandez à Amazon Redshift de chiffrer vos données avant de les enregistrer sur les disques dans ses centres de données et de les déchiffrer lorsque vous téléchargez les objets. 
+ **Utilisation du chiffrement côté client** – Vous pouvez chiffrer les données côté client et charger ces dernières sur Amazon Redshift. Dans ce cas, vous gérez le processus de chiffrement, les clés de chiffrement et les outils associés.

# Chiffrement au repos
<a name="security-server-side-encryption"></a>

Le cryptage côté serveur concerne le chiffrement des données au repos, c’est-à-dire qu’Amazon Redshift chiffre en option vos données lorsqu’il les écrit dans ses centres de données et les déchiffre pour vous lorsque vous y accédez. Tant que vous authentifiez votre demande et que vous avez des autorisations d’accès, il n’y a aucune différence dans la manière dont vous accédez aux données chiffrées ou déchiffrées. 

Amazon Redshift protège les données au repos grâce au chiffrement. En option, vous pouvez protéger toutes les données stockées sur les disques d’un cluster et toutes les sauvegardes dans Amazon S3 avec Advanced Encryption Standard AES-256. 

[Pour gérer les clés utilisées pour chiffrer et déchiffrer vos ressources Amazon Redshift, vous utilisez (). AWS Key Management ServiceAWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/) AWS KMScombine du matériel et des logiciels sécurisés et hautement disponibles pour fournir un système de gestion des clés adapté au cloud. À l'aide deAWS KMS, vous pouvez créer des clés de chiffrement et définir les politiques qui contrôlent la manière dont ces clés peuvent être utilisées. AWS KMSprend en chargeAWS CloudTrail, afin que vous puissiez auditer l'utilisation des clés pour vérifier que les clés sont utilisées de manière appropriée. Vous pouvez utiliser vos AWS KMS clés en combinaison avec Amazon Redshift et les services pris en chargeAWS. Pour obtenir la liste des services compatiblesAWS KMS, consultez la section [Comment les AWS services sont utilisés AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services.html) dans le *guide du AWS Key Management Service développeur*.

Si vous choisissez de gérer le mot de passe administrateur de votre cluster provisionné ou de votre espace de noms sans serveur en utilisant, Amazon AWS Secrets Manager Redshift accepte également une clé AWS KMS supplémentaire qui AWS Secrets Manager permet de chiffrer vos informations d'identification. Cette clé supplémentaire peut être une clé générée automatiquement ou une clé personnalisée que vous fournissez. AWS Secrets Manager 

L’éditeur de requête Amazon Redshift v2 stocke en toute sécurité les informations saisies dans l’éditeur de requête comme suit :
+ L’Amazon Resource Name (ARN) de la clé KMS à utiliser pour chiffrer les données de l’éditeur de requête v2.
+ Informations de connexion à la base de données.
+ Les noms et le contenu des fichiers et des dossiers.

L’éditeur de requête Amazon Redshift v2 chiffre les informations à l’aide d’un chiffrement de niveau bloc avec votre clé KMS ou la clé KMS du compte de service. Le chiffrement de vos données Amazon Redshift est contrôlé par les propriétés de votre cluster Amazon Redshift.

**Topics**
+ [

# Chiffrement de base de données Amazon Redshift
](working-with-db-encryption.md)

# Chiffrement de base de données Amazon Redshift
<a name="working-with-db-encryption"></a>

Dans Amazon Redshift, votre base de données est chiffrée par défaut pour protéger vos données au repos. Le chiffrement de base de données s’applique au cluster et à ses instantanés.

Vous pouvez modifier un cluster non chiffré pour utiliser le chiffrement AWS Key Management Service (AWS KMS). Pour ce faire, vous pouvez utiliser une clé AWS détenue ou une clé gérée par le client. Lorsque vous modifiez votre cluster pour activer le AWS KMS chiffrement, Amazon Redshift migre automatiquement vos données vers un nouveau cluster chiffré. Les instantanés créés à partir du cluster chiffré sont également chiffrés. Vous pouvez également migrer un cluster chiffré vers un cluster non chiffré en modifiant le cluster et en changeant l'option **Chiffrer la base de données**. Pour plus d’informations, consultez [Modification du chiffrement d’un cluster](changing-cluster-encryption.md). 

Bien que vous puissiez toujours transformer le cluster chiffré par défaut en cluster non chiffré après l’avoir créé, nous vous recommandons de conserver le chiffrement d’un cluster contenant des données sensibles. En outre, vous pouvez être contraint d'utiliser le chiffrement en fonction des directives ou règlements régissant vos données. Par exemple, la norme PCI DSS (Payment Card Industry Data Security Standard), les lois américaines Sarbanes-Oxley (SOX) et HIPAA (Health Insurance Portability et Accountability Act) et d'autres règlements similaires fournissent des directives permettant de gérer des types de données spécifiques.

Amazon Redshift utilise une hiérarchie de clés de chiffrement pour chiffrer la base de données. Vous pouvez utiliser AWS Key Management Service (AWS KMS) ou un module de sécurité matérielle (HSM) pour gérer les clés de chiffrement de niveau supérieur dans cette hiérarchie. Le processus qu'utilise Amazon Redshift pour le chiffrement diffère en fonction de la façon dont vous gérez les clés. Amazon Redshift s'intègre automatiquement à un HSM AWS KMS , mais pas à celui-ci. Lorsque vous utilisez un HSM, vous devez utiliser des certificats client et de serveur pour configurer une connexion approuvée entre Amazon Redshift et votre HSM.

**Important**  
 Amazon Redshift peut perdre l’accès à la clé KMS pour un cluster alloué ou un espace de noms sans serveur lorsque vous désactivez la clé KMS gérée par le client. Dans ces cas, Amazon Redshift effectue une sauvegarde de l’entrepôt de données Amazon Redshift et la met dans l’état `inaccessible-kms-key` pendant 14 jours. Si vous restaurez la clé KMS pendant cette période, Amazon Redshift rétablira l’accès et l’entrepôt fonctionnera normalement. Si la période de 14 jours prend fin sans que la clé KMS soit restaurée, Amazon Redshift supprimera l’entrepôt de données. Lorsqu’un entrepôt est en état `inaccessible-kms-key`, il présente les caractéristiques suivantes :   
 Vous ne pouvez exécuter aucune requête sur l’entrepôt de données. 
 Si l’entrepôt de données est l’entrepôt producteur d’une unité de partage des données, vous ne pouvez pas exécuter de requêtes de partage de données à partir d’entrepôts de consommateurs. 
 Vous ne pouvez pas créer d’instantanés entre régions. 
Pour plus d’informations sur la restauration d’une clé KMS désactivée, consultez la section [Activer et désactiver les clés](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) dans le *Guide du développeur AWS Key Management Service *. Si la clé KMS de l’entrepôt a été supprimée, vous pouvez utiliser la sauvegarde pour créer un nouvel entrepôt de données avant que l’entrepôt en état `inaccessible-kms-key` ne soit supprimé.

## Améliorations du processus de chiffrement pour améliorer les performances et la disponibilité
<a name="resize-classic-encryption"></a>

### Chiffrement avec RA3 nœuds
<a name="resize-classic-encryption-ra3"></a>

 Les mises à jour apportées au processus de chiffrement des RA3 nœuds ont considérablement amélioré l'expérience. Les requêtes de lecture et d'écriture peuvent être exécutées au cours du processus avec un impact moindre sur les performances du chiffrement. De plus, le chiffrement se termine beaucoup plus rapidement. Les étapes du processus mises à jour incluent une opération de restauration et la migration des métadonnées du cluster vers un cluster cible. L'expérience améliorée s'applique aux types de chiffrement tels que AWS KMS, par exemple. Lorsque vous disposez de volumes de données de l'ordre du pétaoctet, l'opération a été réduite de plusieurs semaines à quelques jours. 

Avant de chiffrer votre cluster, si vous prévoyez de continuer à exécuter des charges de travail de base de données, vous pouvez améliorer les performances et accélérer le processus en ajoutant des nœuds avec un redimensionnement élastique. Vous ne pouvez pas utiliser le redimensionnement élastique lorsque le chiffrement est en cours, alors faites-le avant de chiffrer. Notez que l'ajout de nœuds entraîne généralement des coûts plus élevés.

### Chiffrement avec d'autres types de nœuds
<a name="resize-classic-encryption-ds2"></a>

Lorsque vous chiffrez un cluster avec des DC2 nœuds, vous n'êtes pas en mesure d'exécuter des requêtes d'écriture, comme c'est le cas pour les RA3 nœuds. Seules les requêtes de lecture peuvent être exécutées.

### Notes d'utilisation pour le chiffrement à l'aide de RA3 nœuds
<a name="resize-classic-encryption-usage"></a>

Les informations et ressources suivantes vous aident à vous préparer au chiffrement et à surveiller le processus.
+ **Exécution de requêtes après le démarrage du chiffrement** : une fois le chiffrement démarré, les lectures et les écritures sont disponibles en quinze minutes environ. La durée du processus de chiffrement complet dépend de la quantité de données sur le cluster et des niveaux de charge de travail. 
+ **Combien de temps dure le chiffrement ?** – Le temps nécessaire pour chiffrer vos données dépend de plusieurs facteurs, notamment du nombre de charges de travail en cours d'exécution, des ressources de calcul utilisées, du nombre de nœuds et du type de nœuds. Nous vous recommandons d'effectuer d'abord le chiffrement dans un environnement de test. En règle générale, si vous travaillez avec des volumes de données en pétaoctets, le chiffrement peut prendre entre 1 et 3 jours.
+ **Comment savoir si le chiffrement est terminé ?** — Une fois le chiffrement activé, la fin du premier instantané confirme que le chiffrement est terminé.
+ **Annulation du chiffrement** : si vous devez annuler l'opération de chiffrement, la meilleure méthode consiste à effectuer une restauration à partir de la sauvegarde la plus récente effectuée avant le lancement du chiffrement. Vous devrez réappliquer toute nouvelle mise à jour (updates/deletes/inserts) après la dernière sauvegarde. 
+ **Exécution d'une restauration de table** : notez que vous ne pouvez pas restaurer une table d'un cluster non chiffré vers un cluster chiffré.
+ **Chiffrement d'un cluster à nœud unique** : le chiffrement d'un cluster à nœud unique présente des limites de performances. Cela prend plus de temps que le chiffrement pour un cluster multi-nœuds.
+ **Création d'une sauvegarde après chiffrement** : lorsque vous chiffrez les données de votre cluster, aucune sauvegarde n'est créée tant que le cluster n'est pas entièrement chiffré. Le temps que cela prend peut varier. La durée de la sauvegarde peut aller de quelques heures à plusieurs jours, selon la taille du cluster. Une fois le chiffrement terminé, il peut s'écouler un certain temps avant que vous puissiez créer une sauvegarde.

  Notez qu'étant donné qu'une backup-and-restore opération a lieu pendant le processus de chiffrement, les tables ou les vues matérialisées créées avec `BACKUP NO` ne sont pas conservées. Pour plus d'informations, consultez [CREATE TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_NEW.html) ou [CREATE MATERIALIZED VIEW](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html).

**Topics**
+ [

## Améliorations du processus de chiffrement pour améliorer les performances et la disponibilité
](#resize-classic-encryption)
+ [

## Chiffrement en utilisant AWS KMS
](#working-with-aws-kms)
+ [

## Chiffrement à l’aide de modules de sécurité matérielle
](#working-with-HSM)
+ [

## Rotation des clés de chiffrement
](#working-with-key-rotation)
+ [

# Modification du chiffrement d’un cluster
](changing-cluster-encryption.md)
+ [

# Migration vers un cluster chiffré avec HSM
](migrating-to-an-encrypted-cluster.md)
+ [

# Rotation des clés de chiffrement
](manage-key-rotation-console.md)

## Chiffrement en utilisant AWS KMS
<a name="working-with-aws-kms"></a>

Lorsque vous optez AWS KMS pour la gestion des clés avec Amazon Redshift, il existe une hiérarchie à quatre niveaux de clés de chiffrement. Ces clés, par ordre hiérarchique, sont la clé racine, une clé de chiffrement du cluster (CEK), une clé de chiffrement de base de données (DEK) et les clés de chiffrement des données.

Lorsque vous lancez votre cluster, Amazon Redshift renvoie une liste de ceux AWS KMS keys qu'Amazon Redshift ou AWS votre compte a créés ou dans lesquels Amazon Redshift est autorisé à utiliser. AWS KMS Vous sélectionnez une clé KMS en guise de clé racine dans la hiérarchie de chiffrement.

Par défaut, Amazon Redshift sélectionne une clé propre générée automatiquement comme AWS clé racine pour votre AWS compte à utiliser dans Amazon Redshift. 

Si vous ne souhaitez pas utiliser la clé par défaut, vous devez disposer (ou créer) une clé KMS gérée par le client séparément AWS KMS avant de lancer votre cluster dans Amazon Redshift. Les clés gérées par le client vous donnent davantage de flexibilité, en vous permettant notamment de créer, d'effectuer la rotation, de désactiver et de définir le contrôle d'accès, ainsi que de contrôler les clés de chiffrement utilisées pour protéger vos données. Pour plus d'informations sur la création d'une clé KMS, veuillez consulter [Création de clés](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) dans le *Guide du développeur AWS Key Management Service *.

Si vous souhaitez utiliser une AWS KMS clé d'un autre AWS compte, vous devez être autorisé à utiliser la clé et spécifier son Amazon Resource Name (ARN) dans Amazon Redshift. Pour plus d'informations sur l'accès aux clés AWS KMS, consultez la section [Contrôle de l'accès à vos clés](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html) dans le *guide du AWS Key Management Service développeur*.

Une fois que vous avez choisi une clé racine, Amazon Redshift vous demande de AWS KMS générer une clé de données et de la chiffrer à l'aide de la clé racine sélectionnée. Cette clé de données est utilisée comme clé CEK dans Amazon Redshift. AWS KMS exporte la clé CEK chiffrée vers Amazon Redshift, où elle est stockée en interne sur un disque sur un réseau distinct du cluster avec l'affectation de la clé KMS et le contexte de chiffrement de la clé CEK. Seule la clé CEK chiffrée est exportée vers Amazon Redshift ; la clé KMS reste dans AWS KMS. Amazon Redshift transmet également au cluster la clé CEK chiffrée sur un canal sécurisé et la charge dans la mémoire. Amazon Redshift appelle ensuite AWS KMS pour déchiffrer le CEK et charge le CEK déchiffré en mémoire. Pour plus d'informations sur les subventions, le contexte de chiffrement et d'autres concepts AWS KMS connexes, consultez la section [Concepts](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) du *guide du AWS Key Management Service développeur*.

Ensuite, Amazon Redshift génère une clé de manière aléatoire à utiliser en tant que clé DEK et la charge en mémoire dans le cluster. La clé CEK déchiffrée est utilisée pour chiffrer la clé DEK, qui est ensuite transmise via un canal sécurisé depuis le cluster pour être stockée en interne par Amazon Redshift sur le disque dans un autre réseau que celui du cluster. A l'instar de la clé CEK, les versions chiffrées et déchiffrées de la clé DEK sont chargées en mémoire dans le cluster. La version déchiffrée de la clé DEK est ensuite utilisée pour chiffrer les clés de chiffrement individuelles qui sont générées de façon aléatoire pour chaque bloc de données de la base de données.

Lorsque le cluster redémarre, Amazon Redshift démarre avec les versions cryptées stockées en interne du CEK et du DEK, les recharge en mémoire, puis AWS KMS appelle pour déchiffrer à nouveau le CEK avec la clé KMS afin qu'il puisse être chargé en mémoire. La clé CEK déchiffrée est ensuite utilisée pour déchiffrer la clé DEK à nouveau, et la clé DEK déchiffré est chargée dans la mémoire et utilisée pour chiffrer et déchiffrer les clés de bloc de données en fonction des besoins.

Pour plus d’informations sur la création de clusters Amazon Redshift chiffrés avec des clés AWS KMS , consultez [Création d’un cluster](create-cluster.md).

### Copier des instantanés AWS KMS chiffrés vers un autre Région AWS
<a name="configure-snapshot-copy-grant"></a>

AWS KMS les clés sont spécifiques à un Région AWS. Si vous souhaitez activer la copie d'instantanés Amazon Redshift d'un cluster source chiffré vers un autre Région AWS, mais que vous souhaitez utiliser votre propre AWS KMS clé pour les instantanés de destination, vous devez configurer une autorisation permettant à Amazon Redshift d'utiliser une clé racine dans votre compte de destination. Région AWS Cette autorisation permet à Amazon Redshift de chiffrer les instantanés dans la Région AWS de destination. Si vous souhaitez que les instantanés de destination soient chiffrés à l'aide d'une clé Région AWS détenue, vous n'avez pas besoin de configurer d'autorisations dans la destination. Région AWS Pour de plus amples informations sur la copie d'instantanés entre régions, veuillez consulter [Copier un instantané dans une autre AWS région](cross-region-snapshot-copy.md).

**Note**  
Si vous activez la copie d'instantanés à partir d'un cluster chiffré et que vous l'utilisez AWS KMS comme clé racine, vous ne pouvez pas renommer votre cluster car le nom du cluster fait partie du contexte de chiffrement. Si vous devez renommer votre cluster, vous pouvez désactiver la copie des instantanés dans la AWS région source, renommer le cluster, puis configurer et réactiver la copie des instantanés.

Le processus permettant de configurer l'autorisation de copier des instantanés est le suivant. 

1. Dans la AWS région de destination, créez une autorisation de copie instantanée en procédant comme suit :
   +  Si vous n'avez pas encore de AWS KMS clé à utiliser, créez-en une. Pour plus d'informations sur la création de AWS KMS clés, consultez la section [Création de clés](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) dans le *guide du AWS Key Management Service développeur*. 
   + Spécifiez un nom pour l'autorisation de copie d'instantanés. Ce nom doit être unique dans cette AWS région pour votre AWS compte.
   + Spécifiez l'ID AWS KMS clé pour lequel vous créez la subvention. Si vous ne spécifiez pas d'ID de clé, l'autorisation s'applique à votre clé par défaut.

1. Dans la AWS région source, activez la copie des instantanés et spécifiez le nom de la licence de copie d'instantanés que vous avez créée dans la AWS région de destination.

Ce processus précédent n'est nécessaire que si vous activez la copie des instantanés à l' AWS CLI aide de l'API Amazon Redshift ou. SDKs Si vous utilisez la console, Amazon Redshift fournit le flux de travail approprié pour configurer l'autorisation lorsque vous activez la copie d'instantanés entre régions. Pour de plus amples informations sur la configuration de copie d'instantanés entre régions pour les clusters chiffrés par AWS KMSà l'aide de la console, veuillez consulter [Configuration de la copie instantanée entre régions pour un cluster AWS KMS chiffré](xregioncopy-kms-encrypted-snapshot.md).

Avant que l'instantané ne soit copié dans la AWS région de destination, Amazon Redshift le déchiffre à l'aide de la clé racine dans la AWS région source et le chiffre à nouveau temporairement à l'aide d'une clé RSA générée aléatoirement qu'Amazon Redshift gère en interne. Amazon Redshift copie ensuite l'instantané via un canal sécurisé vers la AWS région de destination, le déchiffre à l'aide de la clé RSA gérée en interne, puis le chiffre à nouveau à l'aide de la clé racine dans la région de destination. AWS 

## Chiffrement à l’aide de modules de sécurité matérielle
<a name="working-with-HSM"></a>

Si vous ne l'utilisez pas AWS KMS pour la gestion des clés, vous pouvez utiliser un module de sécurité matérielle (HSM) pour la gestion des clés avec Amazon Redshift. 

**Important**  
Le chiffrement HSM n'est pas pris en charge pour les types DC2 de RA3 nœuds et.

HSMs sont des dispositifs qui permettent de contrôler directement la génération et la gestion des clés. Ils offrent une plus grande sécurité en séparant la gestion des clés des couches application et base de données. Amazon Redshift prend en charge la AWS CloudHSM version classique pour la gestion des clés. Le processus de chiffrement est différent lorsque vous utilisez HSM pour gérer vos clés de chiffrement au lieu de AWS KMS.

**Important**  
Amazon Redshift prend uniquement AWS CloudHSM en charge la version classique. Nous ne prenons pas en charge le nouveau AWS CloudHSM service.   
AWS CloudHSM Classic est fermé aux nouveaux clients. Pour plus d'informations, consultez la section [Tarification de CloudHSM Classic](https://aws.amazon.com/cloudhsm/pricing-classic/). AWS CloudHSM La version classique n'est pas disponible dans toutes les AWS régions. Pour plus d'informations sur AWS les régions disponibles, consultez le [tableau des AWS régions](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). 

Lorsque vous configurez votre cluster pour utiliser un HSM, Amazon Redshift envoie une requête au HSM pour générer et stocker une clé à utiliser comme CEK. Cependant, contrairement à cela AWS KMS, le HSM n'exporte pas le CEK vers Amazon Redshift. Au lieu de cela, Amazon Redshift génère de manière aléatoire la clé DEK dans le cluster et la transmet au HSM pour qu'elle soit chiffrée par la clé CEK. Le HSM renvoie la clé DEK chiffrée à Amazon Redshift, où elle est encore chiffrée à l'aide d'une clé racine interne générée de manière aléatoire et stockée en interne sur un disque sur un autre réseau que celui du cluster. Amazon Redshift charge également la version déchiffrée du DEK en mémoire dans le cluster afin que le DEK puisse être utilisé pour chiffrer et déchiffrer les clés individuelles des blocs de données.

Si le cluster est redémarré, Amazon Redshift déchiffre le DEK doublement chiffré stocké en interne à l'aide de la clé racine interne pour ramener le DEK stocké en interne à l'état chiffré CEK. Le DEK chiffré par CEK est ensuite transmis au HSM pour être déchiffré et renvoyé à Amazon Redshift, où il peut être rechargé en mémoire pour être utilisé avec les clés de bloc de données individuelles.

### Configuration d'une connexion approuvée entre Amazon Redshift et un HSM
<a name="configure-trusted-connection"></a>

Lorsque vous optez pour utiliser un HSM pour la gestion de votre clé de cluster, vous devez configurer un lien réseau de confiance entre Amazon Redshift et votre HSM. Cela nécessite une configuration de certificats de client et de serveur. La connexion approuvée est utilisée pour transmettre les clés de chiffrement entre le HSM et Amazon Redshift pendant les opérations de chiffrement et de déchiffrement.

Amazon Redshift crée un certificat client public à partir d'une paire de clés privée et publique générée de manière aléatoire. Celles-ci sont chiffrées et stockées en interne. Vous téléchargez et enregistrez le certificat de client public dans votre HSM et l'affectez à la partition HSM applicable.

Vous fournissez à Amazon Redshift l'adresse IP du HSM, le nom de la partition HSM, le mot de passe de la partition HSM et un certificat public du serveur HSM, qui est chiffré à l'aide d'une clé racine interne. Amazon Redshift termine le processus de configuration et vérifie qu'il peut se connecter au HSM. S'il ne peut pas, le cluster est passé à l'État INCOMPATIBLE\$1HSM et le cluster n'est pas créé. Dans ce cas, vous devez supprimer le cluster incomplet, puis réessayer.

**Important**  
Lorsque vous modifiez votre cluster pour utiliser une partition HSM différente, Amazon Redshift vérifie qu'il peut se connecter à la nouvelle partition, mais il ne vérifie pas qu'une clé de chiffrement valide existe. Avant d'utiliser la nouvelle partition, vous devez répliquer vos clés sur la nouvelle partition. Si le cluster est redémarré et qu'Amazon Redshift ne trouve pas de clé valide, le redémarrage échoue. Pour plus d'informations, consultez la section [Réplication des clés entre elles. HSMs](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cli-clone-hapg.html) 

Après la configuration initiale, si Amazon Redshift ne parvient pas à se connecter au HSM, un événement est enregistré. Pour plus d'informations sur ces événements, veuillez consulter [Notifications d'événements Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html).

## Rotation des clés de chiffrement
<a name="working-with-key-rotation"></a>

Dans Amazon Redshift, vous pouvez effectuer une rotation des clés de chiffrement pour les clusters chiffrés. Lorsque vous démarrez le processus de rotation des clés, Amazon Redshift effectue une rotation de la clé CEK pour le cluster spécifié et pour les instantanés automatiques ou manuels du cluster. Amazon Redshift effectue également une rotation de la clé DEK pour le cluster spécifié, mais ne peut pas effectuer une rotation de la clé DEK pour les instantanés pendant qu'ils sont stockés en interne dans Amazon Simple Storage Service (Amazon S3) et chiffrés à l'aide de la clé DEK existante. 

Pendant que la rotation est en cours, le cluster est mis dans l'état ROTATING\$1KEYS jusqu'à ce qu'il soit terminé, auquel cas le cluster retourne à l'état AVAILABLE. Amazon Redshift gère le déchiffrement et le rechiffrement pendant le processus de rotation des clés.

**Note**  
Vous ne pouvez pas effectuer une rotation des clés pour des instantanés sans cluster source. Avant de supprimer un cluster, demandez-vous si ses instantanés reposent sur la rotation des clés.

Etant donné que le cluster est temporairement indisponible pendant le processus de rotation des clés, vous devez effectuer la rotation des clés uniquement dès que les données le nécessitent ou lorsque vous pensez que les clés ont été volées. La bonne pratique consiste à examiner le type de données que vous stockez et à prévoir à quelle fréquence effectuer la rotation des clés de chiffrement des données. La fréquence à laquelle effectuer la rotation des clés varie en fonction de vos stratégies d'entreprise concernant la sécurité des données et des normes du secteur relatives aux données sensibles et à la conformité réglementaire. Assurez-vous que votre plan tient compte des besoins en matière de sécurité autant que des considérations concernant la disponibilité de votre cluster.

Pour plus d’informations sur la rotation des clés, consultez [Rotation des clés de chiffrement](manage-key-rotation-console.md).

# Modification du chiffrement d’un cluster
<a name="changing-cluster-encryption"></a>

Vous pouvez modifier un cluster non chiffré pour utiliser le chiffrement AWS Key Management Service (AWS KMS) à l'aide d'une clé AWS détenue ou d'une clé gérée par le client. Lorsque vous modifiez votre cluster pour activer le chiffrement AWS KMS , Amazon Redshift migre automatiquement vos données vers un nouveau cluster chiffré. Vous pouvez également migrer un cluster chiffré vers un cluster non chiffré en modifiant le cluster avec le AWS CLI, mais pas avec le AWS Management Console.

Pendant l'opération de migration, votre cluster est disponible en mode lecture seule et son statut est **redimensionnement en cours**. 

Si votre cluster est configuré pour activer la copie instantanée AWS entre régions, vous devez la désactiver avant de modifier le chiffrement. Pour plus d’informations, consultez [Copier un instantané dans une autre AWS région](cross-region-snapshot-copy.md) et [Configuration de la copie instantanée entre régions pour un cluster AWS KMS chiffré](xregioncopy-kms-encrypted-snapshot.md). Vous ne pouvez pas activer le chiffrement HSM (module de sécurité matérielle) en modifiant le cluster. À la place, créez un nouveau cluster chiffré avec HSM et migrez vos données vers le nouveau cluster. Pour de plus amples informations, veuillez consulter [Migration vers un cluster chiffré avec HSM](migrating-to-an-encrypted-cluster.md). 

------
#### [ Amazon Redshift console ]

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dans le menu de navigation, choisissez **Clusters**, puis sélectionnez le cluster pour lequel vous souhaitez modifier les clés de chiffrement.

1. Choisissez **Propriétés**.

1. Dans **Configurations de base de données**, choisissez **Modifier**, puis **Modification du chiffrement**. 

1. Choisissez l'une des options de chiffrement et **Enregistrez les modifications**.

------
#### [ AWS CLI ]

Pour modifier le cluster non chiffré à utiliser AWS KMS, exécutez la commande `modify-cluster` CLI et spécifiez`–-encrypted`, comme indiqué ci-dessous. Par défaut, votre clé KMS par défaut est utilisée. Pour spécifier une clé gérée par le client, incluez l'option `--kms-key-id`.

```
aws redshift modify-cluster --cluster-identifier <value> --encrypted --kms-key-id <value>
```

Pour supprimer le chiffrement de votre cluster, exécutez la commande suivante de l'interface de ligne de commande.

```
aws redshift modify-cluster --cluster-identifier <value> --no-encrypted
```

------

# Migration vers un cluster chiffré avec HSM
<a name="migrating-to-an-encrypted-cluster"></a>

Pour migrer un cluster non chiffré vers un cluster chiffré en utilisant un module de sécurité matérielle (HSM), vous créez un nouveau cluster chiffré et déplacez vos données vers le nouveau cluster. Vous ne pouvez pas migrer vers un cluster chiffré par HSM en modifiant le cluster.

Pour migrer d'un cluster non chiffré vers un cluster chiffré avec HSM, vous devez d'abord décharger vos données du cluster source existant. Vous devez ensuite les recharger dans un nouveau cluster cible avec le paramètre de chiffrement choisi. Pour plus d’informations sur le lancement d’un cluster chiffré, consultez [Chiffrement de base de données Amazon Redshift](working-with-db-encryption.md). 

Jusqu'à la dernière étape du processus de migration, votre cluster source reste disponible pour les requêtes en lecture seule. La dernière étape consiste à renommer les clusters source et cible afin de permuter les points de terminaison de manière à ce que la totalité du trafic soit redirigée vers le nouveau cluster cible. Le cluster cible est indisponible tant que vous ne l'avez pas redémarré après l'avoir renommé. Suspendez tous les chargements de données et autres opérations en écriture sur le cluster source pendant le transfert des données. <a name="prepare-for-migration"></a>

**Pour préparer la migration**

1. Identifiez tous les systèmes dépendants qui interagissent avec Amazon Redshift, par exemple les outils de Business Intelligence (BI) et les systèmes Extract-transform-load (ETL).

1. Identifiez les requêtes de validation permettant de tester la migration. 

   Par exemple, vous pouvez utiliser la requête suivante pour trouver le nombre de tables définies par l'utilisateur.

   ```
   select count(*)
   from pg_table_def
   where schemaname != 'pg_catalog';
   ```

   La requête suivante renvoie la liste de toutes les tables définies par l'utilisateur et le nombre de lignes de chacune d'entre elles.

   ```
   select "table", tbl_rows
   from svv_table_info;
   ```

1. Choisissez le moment opportun pour réaliser la migration. Pour savoir quand l'utilisation du cluster est à son plus bas, surveillez les mesures relatives au cluster, notamment l'utilisation de la CPU et le nombre de connexions à la base de données. Pour plus d’informations, consultez [Affichage des données de performances de cluster](performance-metrics-perf.md).

1. Ignorez les tables inutilisées. 

   Pour obtenir la liste des tables et la fréquence d'interrogation de chacune, exécutez la requête suivante. 

   ```
   select database,
   schema,
   table_id,
   "table",
   round(size::float/(1024*1024)::float,2) as size,
   sortkey1,
   nvl(s.num_qs,0) num_qs
   from svv_table_info t
   left join (select tbl,
   perm_table_name,
   count(distinct query) num_qs
   from stl_scan s
   where s.userid > 1
   and   s.perm_table_name not in ('Internal worktable','S3')
   group by tbl,
   perm_table_name) s on s.tbl = t.table_id
   where t."schema" not in ('pg_internal');
   ```

1. Lancez un nouveau cluster chiffré. 

   Indiquez le même numéro de port pour le cluster cible que celui qu'utilisait le cluster source. Pour plus d’informations sur le lancement d’un cluster chiffré, consultez [Chiffrement de base de données Amazon Redshift](working-with-db-encryption.md). 

1. Configurez les processus de déchargement et chargement des données. 

   Vous pouvez utiliser l'[ Unload/Copy utilitaire Amazon Redshift](https://github.com/awslabs/amazon-redshift-utils/tree/master/src/UnloadCopyUtility) pour vous aider à migrer des données entre des clusters. L'utilitaire exporte les données depuis le cluster source vers un emplacement sur Amazon S3. Les données sont cryptées avec AWS KMS. L'utilitaire importe ensuite automatiquement les données sur le cluster cible. En option, vous pouvez utiliser l'utilitaire pour nettoyer Amazon S3 une fois la migration terminée. 

1. Effectuez un test afin de vérifier que le processus fonctionne et d'estimer la durée pendant laquelle les opérations en écriture doivent être suspendues. 

   Lors des opérations de déchargement et chargement des données, vous devez préserver la cohérence des données en suspendant tous les chargements habituels et autres opérations en écriture. Utilisez l'une de vos plus grandes tables pour exécuter le test de déchargement/chargement et estimer les délais requis. 

1. Créez des objets de base de données, tels que des schémas, vues ou tables. Pour vous aider à générer les instructions DDL (Data Definition Language) nécessaires, vous pouvez utiliser [AdminViews](https://github.com/awslabs/amazon-redshift-utils/tree/master/src/AdminViews)les scripts du AWS GitHub référentiel.<a name="migration-your-cluster"></a>

**Pour migrer votre cluster**

1. Arrêtez tous les processus ETL sur le cluster source. 

   Pour vérifier qu'il n'y a aucune opération d'écriture en cours, utilisez la console de gestion Amazon Redshift afin de surveiller les IOPS d'écriture. Pour plus d’informations, consultez [Affichage des données de performances de cluster](performance-metrics-perf.md). 

1. Exécutez les requêtes de validation que vous avez identifiées précédemment afin de collecter des informations sur le cluster source chiffré avant de procéder à la migration.

1. (Facultatif) Créez une file d'attente de gestion de la charge de travail (WLM) pour exploiter le maximum de ressources disponibles à la fois dans le cluster source et le cible. Par exemple, créez une file d'attente nommée `data_migrate` et configurez-la avec 95 % de mémoire et un niveau de simultanéité de 4. Pour de plus amples informations, veuillez consulter la rubrique [Acheminement des requêtes vers les files d'attente](https://docs.aws.amazon.com/redshift/latest/dg/tutorial-wlm-routing-queries-to-queues.html) dans le *Guide du développeur de bases de données Amazon Redshift*.

1. À l'aide de la `data_migrate` file d'attente, exécutez le UnloadCopyUtility. 

   Surveillez la progression des opérations UNLOAD et COPY à l'aide de la console Amazon Redshift. 

1. Exécutez à nouveau les requêtes de validation et vérifiez que leurs résultats correspondent à ceux du cluster source. 

1. Renommez vos clusters source et cible pour permuter les points de terminaison. Pour éviter une interruption de l'activité, effectuez cette opération en dehors des heures de travail,

1. Vérifiez que vous pouvez vous connecter au cluster cible à partir de tous vos clients SQL, notamment via les outils ETL et de génération de rapports.

1. Fermez le cluster source non chiffré.

# Rotation des clés de chiffrement
<a name="manage-key-rotation-console"></a>

Vous pouvez utiliser la procédure suivante pour effectuer une rotation des clés de chiffrement avec Amazon Redshift.

**Pour effectuer une rotation des clés de chiffrement pour un cluster.**

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dans le menu de navigation, choisissez **Clusters**, puis le cluster pour lequel vous souhaitez mettre à jour les clés de chiffrement.

1. Pour **Actions**, choisissez **Rotate encryption (Effectuer une rotation du chiffrement)** pour afficher la page **Rotate encryption keys (Effectuer une rotation des clés de chiffrement)**. 

1. Sur la page **Rotate encryption keys (Effectuer une rotation des clés de chiffrement)**, choisissez **Rotate encryption keys (Effectuer une rotation des clés de chiffrement)**. 

# Chiffrement en transit
<a name="security-encryption-in-transit"></a>

Vous pouvez configurer votre environnement pour protéger la confidentialité et l’intégrité des données en transit.

Les détails suivants s’appliquent au chiffrement de données en transit entre un cluster Amazon Redshift et des clients SQL sur JDBC/ODBC :
+ Vous pouvez vous connecter aux clusters Amazon Redshift depuis les outils clients SQL via des connexions Java Database Connectivity (JDBC) et Open Database Connectivity (ODBC). 
+ Amazon Redshift prend en charge les connexions SSL (Secure Sockets Layer) pour chiffrer les données et les certificats de serveur pour valider le certificat du serveur auquel le client se connecte. Le client se connecte au nœud principal d’un cluster Amazon Redshift. Pour de plus amples informations, veuillez consulter [Configuration des options de sécurité des connexions](connecting-ssl-support.md).
+ Pour prendre en charge les connexions SSL, Amazon Redshift crée et installe AWS Certificate Manager (ACM) des certificats émis sur chaque cluster. Pour de plus amples informations, veuillez consulter [Transition vers les certificats ACM pour les connexions SSL](connecting-transitioning-to-acm-certs.md). 
+ Pour protéger vos données en transit dans le AWS cloud, Amazon Redshift utilise le protocole SSL à accélération matérielle pour communiquer avec Amazon S3 ou Amazon DynamoDB pour les opérations de copie, de déchargement, de sauvegarde et de restauration. 

Les détails suivants s’appliquent au chiffrement de données en transit entre un cluster Amazon Redshift et Amazon S3 ou DynamoDB :
+ Amazon Redshift utilise l’accélération matérielle SSL afin de communiquer avec Amazon S3 ou DynamoDB pour les opérations de copie (COPY), de déchargement (UNLOAD), de sauvegarde et de restauration. 
+ Redshift Spectrum prend en charge le chiffrement côté serveur (SSE) Amazon S3 à l'aide de la clé par défaut de votre compte gérée par le AWS Key Management Service (KMS). 
+ Vous pouvez chiffrer les charges Amazon Redshift avec Amazon S3 et. AWS KMS Pour plus d'informations, consultez [Chiffrer vos charges Amazon Redshift avec Amazon S3](https://aws.amazon.com/blogs/big-data/encrypt-your-amazon-redshift-loads-with-amazon-s3-and-aws-kms/) et. AWS KMS

Les informations suivantes s'appliquent au chiffrement et à la signature des données en transit entre les AWS CLI clients du SDK ou de l'API et les points de terminaison Amazon Redshift :
+ Amazon Redshift fournit des points de terminaison HTTPS pour le chiffrement des données en transit. 
+ Pour protéger l’intégrité des requêtes d’API adressées à Amazon Redshift, les appels d’API doivent être signés par l’appelant. Les appels sont signés par un certificat X.509 ou par la clé d'accès AWS secrète du client conformément au processus de signature Signature version 4 (Sigv4). Pour plus d’informations, consultez [Processus de signature Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) dans le *Références générales AWS*.
+ Utilisez le AWS CLI ou l'un des AWS SDKs pour envoyer des demandes àAWS. Ces outils signent automatiquement les demandes avec la clé d’accès que vous spécifiez lors de leur configuration. 

Les détails suivants s’appliquent au chiffrement de données en transit entre les clusters Amazon Redshift et Amazon Redshift Query Editor V2 :
+ Les données sont transmises entre l’éditeur de requête v2 et les clusters Amazon Redshift sur un canal chiffré TLS. 

# Contrôles de chiffrement VPC avec Amazon Redshift
<a name="security-vpc-encryption-controls"></a>

Amazon Redshift prend en charge les [contrôles de chiffrement VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html), une fonctionnalité de sécurité qui vous aide à appliquer le chiffrement en transit pour tout le trafic à l'intérieur et à travers VPCs une région. Ce document explique comment utiliser les contrôles de chiffrement VPC avec les clusters Amazon Redshift et les groupes de travail sans serveur.

Les contrôles de chiffrement VPC fournissent un contrôle centralisé pour surveiller et appliquer le chiffrement en transit au sein de votre entreprise. VPCs Lorsqu'il est activé en mode Enforce, il garantit que tout le trafic réseau est crypté soit au niveau de la couche matérielle (avec AWS Nitro System) soit au niveau de la couche application (avec TLS/SSL).

Amazon Redshift s'intègre aux contrôles de chiffrement VPC pour vous aider à répondre aux exigences de conformité dans des secteurs tels que la santé (HIPAA), le gouvernement (FedRAMP) et les finances (PCI DSS).

## Comment fonctionnent les contrôles de chiffrement VPC avec Amazon Redshift
<a name="security-vpc-encryption-controls-sypnosis"></a>

Les contrôles de chiffrement VPC fonctionnent selon deux modes :
+ Mode surveillance : fournit une visibilité sur l'état de chiffrement des flux de trafic et aide à identifier les ressources qui autorisent le trafic non chiffré.
+ Mode d'application : empêche la création ou l'utilisation de ressources qui autorisent le trafic non chiffré au sein du VPC. Tout le trafic doit être chiffré au niveau de la couche matérielle (instances basées sur Nitro) ou de la couche application (TLS/SSL).

## Exigences relatives à l'utilisation des contrôles de chiffrement VPC
<a name="security-vpc-encryption-controls-requirements"></a>

**Exigences relatives au type d'instance**

Amazon Redshift nécessite des instances basées sur Nitro pour prendre en charge les contrôles de chiffrement VPC. Tous les types d'instances Redshift modernes prennent en charge les fonctionnalités de chiffrement nécessaires.

**Exigences SSL/TLS**

Lorsque les contrôles de chiffrement VPC sont activés en mode d'application, le paramètre require\$1ssl doit être défini sur true et ne peut pas être désactivé. Cela garantit que toutes les connexions client utilisent des connexions TLS cryptées.

## Migration vers les contrôles de chiffrement VPC
<a name="security-vpc-encryption-controls-migration"></a>

**Pour les clusters et groupes de travail existants**

Vous ne pouvez pas activer les contrôles de chiffrement VPC en mode renforcé sur un VPC qui contient des clusters Redshift ou des groupes de travail sans serveur existants. Consultez les étapes suivantes pour utiliser les contrôles de chiffrement si vous possédez déjà un cluster ou un groupe de travail :

1. Créez un instantané de votre cluster ou espace de noms existant

1. Créez un nouveau VPC avec les contrôles de chiffrement VPC activés en mode d'application

1. Effectuez une restauration depuis le snapshot vers le nouveau VPC à l'aide de l'une des opérations suivantes :
   + Pour les clusters provisionnés : utilisez l'opération `restore-from-cluster-snapshot`
   + Pour le mode sans serveur : utilisez l'`restore-from-snapshot`opération sur votre groupe de travail

**Lorsque vous créez de nouveaux clusters ou groupes de travail dans un VPC avec les contrôles de chiffrement activés, le paramètre require\$1ssl doit être défini sur true.**

Amazon Redshift nécessite des instances basées sur Nitro pour prendre en charge les contrôles de chiffrement VPC. Tous les types d'instances Redshift modernes prennent en charge les fonctionnalités de chiffrement nécessaires.

**Exigences SSL/TLS**

Lorsque les contrôles de chiffrement VPC sont activés en mode d'application, le paramètre require\$1ssl doit être défini sur true et ne peut pas être désactivé. Cela garantit que toutes les connexions client utilisent des connexions TLS cryptées.

## Considérations et restrictions
<a name="security-vpc-encryption-controls-limitations"></a>

Lorsque vous utilisez les contrôles de chiffrement VPC dans Amazon Redshift, tenez compte des points suivants :

**Restrictions relatives à l'état du VPC**
+ La création de clusters et de groupes de travail est bloquée lorsque les contrôles de chiffrement VPC sont activés `enforce-in-progress`
+ Vous devez attendre que le VPC passe en `enforce` mode mode avant de créer de nouvelles ressources

**Configuration du protocole SSL**
+ Paramètre require\$1ssl : doit toujours être destiné aux clusters et aux groupes de travail créés dans `true` le cadre d'une procédure de chiffrement appliquée VPCs
+ Une fois qu'un cluster ou un groupe de travail est créé dans un VPC à chiffrement renforcé`require_ssl`, il ne peut pas être désactivé pendant toute sa durée de vie

**Disponibilité dans les Régions**

Cette fonctionnalité n'est pas disponible en mode d'application avec Amazon Redshift Serverless dans les régions suivantes :
+ Amérique du Sud (São Paulo)
+ Europe (Zurich)

# Gestion des clés
<a name="security-key-management"></a>

Vous pouvez configurer votre environnement pour protéger des données avec des clés.
+ Amazon Redshift s'intègre automatiquement à AWS Key Management Service (AWS KMS) pour la gestion des clés. AWS KMSutilise le chiffrement des enveloppes. Pour plus d’informations, consultez [Chiffrement d’enveloppe](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping). 
+ Lorsque les clés de chiffrement sont gérées dansAWS KMS, Amazon Redshift utilise une architecture à quatre niveaux basée sur des clés pour le chiffrement. Cette architecture se compose de clés de chiffrement des données AES-256 générées de manière aléatoire, d’une clé de base de données, d’une clé de cluster et d’une clé root. Pour plus d'informations, consultez [Comment Amazon Redshift](https://docs.aws.amazon.com/kms/latest/developerguide/services-redshift.html) l'utilise. AWS KMS 
+ Vous pouvez créer votre propre clé gérée par le client dans AWS KMS. Pour plus d’informations, consultez [Création de clés](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html). 
+ Vous pouvez également importer votre propre matériel clé pour le neufAWS KMS keys. Pour plus d'informations, voir [Importation de matériel clé dans AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html). 
+ Amazon Redshift prend en charge la gestion des clés de chiffrement dans les modules de sécurité matériels externes ()HSMs. Il peut s’agir d’un module HSM sur site ou d’ AWS CloudHSM. Lorsque vous utilisez un HSM, vous devez utiliser des certificats client et de serveur pour configurer une connexion approuvée entre Amazon Redshift et votre HSM. Amazon Redshift prend uniquement en charge la AWS CloudHSM version classique pour la gestion des clés. Pour de plus amples informations, veuillez consulter [Chiffrement à l’aide de modules de sécurité matérielle](working-with-db-encryption.md#working-with-HSM). Pour plus d'informationsAWS CloudHSM, voir [Qu'est-ce que c'est AWS CloudHSM ?](https://docs.aws.amazon.com/cloudhsm/latest/userguide/introduction.html) 
+ Vous pouvez effectuer une rotation des clés de chiffrement pour les clusters chiffrés. Pour plus d’informations, consultez [Rotation des clés de chiffrement](working-with-db-encryption.md#working-with-key-rotation). 

# Création de jetons de données
<a name="data-tokenization"></a>

La *création de jetons (tokenisation)* est le processus de remplacement des valeurs réelles par des valeurs opaques à des fins de sécurité des données. Les applications sensibles à la sécurité utilisent la création de jetons pour remplacer les données sensibles, telles que les informations personnelles identifiables (PII) ou les informations de santé protégées (PHI) par des jetons afin de réduire les risques de sécurité. La *suppression de jetons (detokenization)* inverse les jetons avec des valeurs réelles pour les utilisateurs autorisés avec des stratégies de sécurité appropriées.

Pour l'intégration à des services de tokenisation tiers, vous pouvez utiliser les fonctions définies par l'utilisateur Amazon Redshift UDFs () que vous créez à l'aide de. [AWS Lambda](https://aws.amazon.com/lambda/) Pour plus d’informations, consultez [Fonctions Lambda définies par l’utilisateur](https://docs.aws.amazon.com/redshift/latest/dg/udf-creating-a-lambda-sql-udf.html) dans le *Guide du développeur de bases de données Amazon Redshift*. Pour obtenir des exemples, consultez [Protegrity](https://www.protegrity.com/how-we-work/partners/aws-data-protection). 

Amazon Redshift envoie des demandes de création de jetons à un serveur de création de jetons accessible via une API REST ou un point de terminaison prédéfini. Deux fonctions Lambda complémentaires ou plus traitent les demandes de création et de suppression de jetons. Pour ce traitement, vous pouvez utiliser les fonctions Lambda fournies par un fournisseur de création de jetons tiers. Vous pouvez également utiliser les fonctions Lambda que vous enregistrez en tant que Lambda dans Amazon Redshift UDFs .

Par exemple, supposons qu’une requête soit soumise qui appelle une FDU de création ou de suppression de jetons sur une colonne. Le cluster Amazon Redshift spoule les rangées d’arguments applicables et envoie ces rangées par lots à la fonction Lambda en parallèle. Les données sont transférées entre les nœuds de calcul Amazon Redshift et Lambda dans une connexion réseau séparée et isolée qui n’est pas accessible aux clients. La fonction Lambda transmet les données au point de terminaison du serveur de création de jetons. Le serveur de création de jetons crée ou supprime les jetons de données si nécessaire et les renvoie. Les fonctions Lambda transmettent ensuite les résultats au cluster Amazon Redshift pour traitement ultérieur, si nécessaire, puis renvoient les résultats de la requête.

# Routage du trafic inter-réseaux dans Amazon Redshift
<a name="network-isolation"></a>

Vous pouvez acheminer le trafic via des routes de réseau privé et connu dans Amazon Redshift. Cette page explique comment acheminer le trafic sur un réseau d’entreprise et entre les ressources de la même Région AWS.

Pour acheminer le trafic entre Amazon Redshift, les clients et applications sur un réseau d’entreprise :
+ Configurez une connexion privée entre votre cloud privé virtuel (VPC) et votre réseau d’entreprise. Configurez une connexion IPsec VPN sur Internet ou une connexion physique privée à l'aide de la Direct Connect connexion. Direct Connectvous permet d'établir une interface virtuelle privée depuis votre réseau local directement vers votre Amazon VPC, vous fournissant ainsi une connexion réseau privée à haut débit entre votre réseau et votre VPC. Avec plusieurs interfaces virtuelles, vous pouvez même établir une connectivité privée avec plusieurs interfaces virtuelles VPCs tout en préservant l'isolation du réseau. Pour plus d'informations, consultez [Qu'est-ce qu'AWSSite-to-Site un VPN ?](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) et [qu'est-ce que c'est Direct Connect ?](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) 

Pour acheminer le trafic entre un cluster Amazon Redshift dans un VPC et des compartiments Amazon S3 dans la même région : AWS
+ Configurez un point de terminaison de VPC privé Amazon S3 pour accéder de manière privée aux données Amazon S3 à partir d’un chargement ou d’un déchargement ETL. Pour plus d’informations, consultez [Points de terminaison pour Amazon S3](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html). 
+ Activez le « Routage VPC amélioré » pour un cluster Amazon Redshift, en spécifiant un point de terminaison de VPC Amazon S3 cible. Le trafic généré par les commandes Amazon Redshift COPY, UNLOAD ou CREATE LIBRARY est ensuite acheminé par le point de terminaison privé. Pour plus d’informations, consultez [Activation du routage VPC amélioré](enhanced-vpc-enabling-cluster.md).

# Identity and Access Management dans Amazon Redshift
<a name="redshift-iam-authentication-access-control"></a>

L'accès à Amazon Redshift nécessite des informations d'identification qui AWS peuvent être utilisées pour authentifier vos demandes. Ces informations d'identification doivent être autorisées à accéder à AWS des ressources, telles qu'un cluster Amazon Redshift. Les sections suivantes fournissent des détails sur la façon dont vous pouvez utiliser [Gestion des identités et des accès AWS (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) et Amazon Redshift pour contribuer à sécuriser vos ressources en contrôlant qui peut y accéder :
+ [Authentification par des identités](#security_iam_authentication)
+ [Contrôle d’accès](#redshift-iam-accesscontrol)

**Important**  
Cette rubrique contient un ensemble de bonnes pratiques pour la gestion des autorisations, des identités et des accès sécurisés. Nous vous recommandons de vous familiariser avec les bonnes pratiques d’utilisation de l’IAM avec Amazon Redshift. Il s’agit notamment d’utiliser les rôles IAM pour l’application des autorisations. Une bonne compréhension de ces sections vous aidera à maintenir un entrepôt des données Amazon Redshift plus sûr.

## Authentification par des identités
<a name="security_iam_authentication"></a>

L'authentification est la façon dont vous vous connectez à AWS l'aide de vos informations d'identification. Vous devez être authentifié en tant qu'utilisateur IAM ou en assumant un rôle IAM. Utilisateur racine d'un compte AWS

Vous pouvez vous connecter en tant qu'identité fédérée à l'aide d'informations d'identification provenant d'une source d'identité telle que AWS IAM Identity Center (IAM Identity Center), d'une authentification unique ou d'informations d'identification. Google/Facebook Pour plus d’informations sur la connexion, consultez [Connexion à votre Compte AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dans le *Guide de l’utilisateur Connexion à AWS *.

Pour l'accès par programmation, AWS fournit un SDK et une CLI pour signer les demandes de manière cryptographique. Pour plus d’informations, consultez [Signature AWS Version 4 pour les demandes d’API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dans le *Guide de l’utilisateur IAM*.

### Compte AWS utilisateur root
<a name="security_iam_authentication-rootuser"></a>

 Lorsque vous créez un Compte AWS, vous commencez par une seule identité de connexion appelée *utilisateur Compte AWS root* qui dispose d'un accès complet à toutes Services AWS les ressources. Il est vivement déconseillé d’utiliser l’utilisateur racine pour vos tâches quotidiennes. Pour les tâches qui requièrent des informations d’identification de l’utilisateur racine, consultez [Tâches qui requièrent les informations d’identification de l’utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dans le *Guide de l’utilisateur IAM*. 

### Utilisateurs et groupes IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* est une identité qui dispose d’autorisations spécifiques pour une seule personne ou application. Nous vous recommandons d’utiliser ces informations d’identification temporaires au lieu des utilisateurs IAM avec des informations d’identification à long terme. Pour plus d'informations, voir [Exiger des utilisateurs humains qu'ils utilisent la fédération avec un fournisseur d'identité pour accéder à AWS l'aide d'informations d'identification temporaires](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) dans le *guide de l'utilisateur IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) spécifient une collection d’utilisateurs IAM et permettent de gérer plus facilement les autorisations pour de grands ensembles d’utilisateurs. Pour plus d’informations, consultez [Cas d’utilisation pour les utilisateurs IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dans le *Guide de l’utilisateur IAM*.

### Rôles IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* est une identité dotée d’autorisations spécifiques qui fournit des informations d’identification temporaires. Vous pouvez assumer un rôle en [passant d'un rôle d'utilisateur à un rôle IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) ou en appelant une opération d' AWS API AWS CLI ou d'API. Pour plus d’informations, consultez [Méthodes pour endosser un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dans le *Guide de l’utilisateur IAM*.

Les rôles IAM sont utiles pour l’accès des utilisateurs fédérés, les autorisations temporaires des utilisateurs IAM, les accès intercompte, les accès entre services et les applications exécutées sur Amazon EC2. Pour plus d’informations, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

**Note**  
Les transferts de sessions d’accès (FAS) de Redshift sont valides pendant 12 heures uniquement. Après cette période, toute session de connexion utilisant le transfert de sessions d’accès pour intégrer d’autres services doit être rétablie.

# Prévention du cas de figure de l’adjoint désorienté entre services
<a name="cross-service-confused-deputy-prevention"></a>

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner un problème de confusion chez les adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le *service appelant*) appelle un autre service (le *service appelé*). Le service appelant peut être manipulé et ses autorisations utilisées pour agir sur les ressources d’un autre client auxquelles on ne serait pas autorisé à accéder autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services avec des principaux de service qui ont eu accès aux ressources de votre compte. Pour plus d'informations, consultez la section [Prévention de la confusion entre les services adjoints](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html#cross-service-confused-deputy-prevention) dans le Guide de l'*utilisateur de l'IAM*.

Nous recommandons d'utiliser les clés de contexte de condition [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)et les clés contextuelles dans les politiques basées sur les ressources afin de limiter les autorisations qu'Amazon Redshift accorde à un autre service à la ressource. Si la valeur `aws:SourceArn` ne contient pas l'ID de compte, tel qu'un ARN de compartiment Amazon S3, vous devez utiliser les deux clés de contexte de condition globale pour limiter les autorisations. Si vous utilisez les deux clés de contexte de condition globale et que la valeur de `aws:SourceArn` contient l’ID de compte, la valeur de `aws:SourceAccount` et le compte indiqué dans la valeur de `aws:SourceArn` doivent utiliser le même ID de compte lorsqu’il est utilisé dans la même déclaration de politique.

L'exemple suivant montre une politique que vous pouvez appliquer pour limiter le problème de confusion lié aux adjoints pour Amazon Redshift.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ConfusedDeputyPreventionForRedshift",
    "Effect": "Allow",
    "Principal": {
      "Service": "redshift.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:redshift:us-east-1:123456789012:cluster:my-cluster"
      },
      "StringEquals": {
        "aws:SourceAccount": "123456789012"
      }
    }
  }
}
```

## Contrôle d’accès
<a name="redshift-iam-accesscontrol"></a>

Vous pouvez disposer d’informations d’identification valides pour authentifier vos demandes, mais à moins d’avoir des autorisations, vous ne pouvez pas créer ou accéder aux ressources Amazon Redshift. Par exemple, vous devez disposer des autorisations nécessaires pour créer un cluster Amazon Redshift, créer un instantané, ajouter un abonnement à un événement, etc.

Les sections suivantes décrivent comment gérer les autorisations pour Amazon Redshift. Nous vous recommandons de lire d’abord la présentation.
+ [Présentation de la gestion des autorisations d’accès à vos ressources Amazon Redshift](redshift-iam-access-control-overview.md)
+  [Utilisation des politiques basées sur l’identité (politiques IAM) pour Amazon Redshift](redshift-iam-access-control-identity-based.md) 

# Présentation de la gestion des autorisations d’accès à vos ressources Amazon Redshift
<a name="redshift-iam-access-control-overview"></a>

Chaque AWS ressource appartient à un AWS compte, et les autorisations de création ou d'accès aux ressources sont régies par des politiques d'autorisation. Un administrateur de compte peut associer des politiques d'autorisations aux identités IAM (c'est-à-dire aux utilisateurs, aux groupes et aux rôles), et certains services (tels que AWS Lambda) prennent également en charge l'attachement de politiques d'autorisations aux ressources.

**Note**  
Un *administrateur de compte* (ou utilisateur administrateur) est un utilisateur doté des privilèges d’administrateur. Pour plus d’informations, consultez [Bonnes pratiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l’utilisateur IAM*.

Lorsque vous accordez des autorisations, vous décidez qui doit les obtenir, à quelles ressources ces autorisations s’appliquent et les actions spécifiques que vous souhaitez autoriser sur ces ressources. 

## Ressources et opérations Amazon Redshift
<a name="redshift-iam-accesscontrol.actions-and-resources"></a>

Amazon Redshift fournit les ressources, actions et clés de contexte de condition spécifiques au service en vue de leur utilisation dans les politiques d’autorisation IAM.

### Autorisations d’accès Amazon Redshift, Amazon Redshift sans serveur, API de données Amazon Redshift et Éditeur de requêtes Amazon Redshift v2
<a name="redshift-policy-resources.resource-permissions"></a>

Lorsque vous configurez [Contrôle d’accès](redshift-iam-authentication-access-control.md#redshift-iam-accesscontrol), vous écrivez des politiques d’autorisation que vous pouvez attacher à une identité IAM (politiques basées sur l’identité). Pour des informations de référence détaillées, consultez les rubriques suivantes dans la *Référence de l’autorisation de service* :
+ Pour Amazon Redshift, consultez [Actions, ressources et clés de condition pour Amazon Redshift](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshift.html) qui utilisent le préfixe `redshift:`.
+ Pour Amazon Redshift sans serveur, consultez [Actions, ressources et clés de condition pour Amazon Redshift sans serveur](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshiftserverless.html) qui utilisent le préfixe `redshift-serverless:`.
+ Pour l’API de données Amazon Redshift, consultez [Actions, ressources et clés de condition l’API de données Amazon Redshift](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshiftdataapi.html) qui utilisent le préfixe `redshift-data:`.
+ Pour l'éditeur de requêtes Amazon Redshift v2, consultez [Actions, ressources et clés de condition pour AWS SQL Workbench (éditeur de requêtes Amazon Redshift v2)](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssqlworkbench.html) qui utilisent le préfixe. `sqlworkbench:`

  L’éditeur de requête v2 inclut des actions avec autorisations uniquement qui ne correspondent pas directement à une opération d’API. Ces actions sont indiquées dans la *référence d’autorisation de service* avec `[permission only]`.

Cette *référence* contient des informations sur les opérations d’API qui peuvent être utilisées dans une politique IAM. Il inclut également la AWS ressource pour laquelle vous pouvez accorder les autorisations, ainsi que les clés de condition que vous pouvez inclure pour un contrôle d'accès précis. Pour plus d’informations sur les conditions, consultez [Utilisation de conditions de politique IAM pour un contrôle d’accès précis](#redshift-policy-resources.conditions). 

Vous spécifiez les actions dans le champ `Action` de la politique, la valeur de ressource dans le champ `Resource` de la politique, et les conditions dans le champ `Condition` de la politique. Pour spécifier une action pour Amazon Redshift, utilisez le préfixe `redshift:` suivi du nom de l’opération d’API (par exemple, `redshift:CreateCluster`).

## Présentation de la propriété des ressources
<a name="redshift-iam-access-control-resource-ownership"></a>

*Le propriétaire d'une ressource* est le AWS compte qui a créé une ressource. En d'autres termes, le propriétaire de la ressource est le AWS compte de l'*entité principale* (le compte root, un utilisateur IAM ou un rôle IAM) qui authentifie la demande qui crée la ressource. Les exemples suivants illustrent comment cela fonctionne :
+ Si vous utilisez les informations d'identification du compte root de votre AWS compte pour créer un cluster de base de données, votre AWS compte est le propriétaire de la ressource Amazon Redshift.
+ Si vous créez un rôle IAM dans votre AWS compte avec les autorisations nécessaires pour créer des ressources Amazon Redshift, toute personne susceptible d'assumer ce rôle peut créer des ressources Amazon Redshift. Votre compte AWS , auquel le rôle appartient, reste le propriétaire des ressources Amazon Redshift. 
+ Si vous créez un utilisateur IAM dans votre AWS compte et que vous accordez l'autorisation de créer des ressources Amazon Redshift à cet utilisateur, celui-ci peut créer des ressources Amazon Redshift. Toutefois, votre compte AWS , auquel appartient l’utilisateur, détient ces ressources Amazon Redshift. Dans la plupart des cas, cette méthode n’est pas recommandée. Nous vous recommandons de créer un rôle IAM et d’y associer des autorisations, puis de l’attribuer à un utilisateur.

## Gestion de l’accès aux ressources
<a name="redshift-iam-accesscontrol-managingaccess"></a>

Une *politique d'autorisation* décrit qui a accès à quoi. La section suivante explique les options disponibles pour créer des politiques d'autorisations.

**Note**  
Cette section traite de l’utilisation d’IAM dans le contexte d’Amazon Redshift. Elle ne fournit pas d’informations détaillées sur le service IAM. Pour une documentation complète sur IAM, consultez la rubrique[ Qu'est-ce que IAM ?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) dans le *Guide de l'utilisateur IAM*. Pour plus d’informations sur la syntaxe et les descriptions des politiques IAM, consultez la [Référence des politiques AWS IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) dans le *Guide de l’utilisateur IAM*.

Les politiques attachées à une identité IAM sont appelées politiques *basées sur une entité* (politiques IAM) et les politiques attachées à une ressource sont appelées politiques *basées sur une ressource*. Amazon Redshift prend en charge uniquement les politiques basées sur l’identité (politiques IAM).

### Politiques basées sur une identité (politiques IAM)
<a name="redshift-iam-manage-access-identity-based"></a>

Vous pouvez attribuer des autorisations en associant des politiques à un rôle IAM, puis en attribuant ce rôle à un utilisateur ou à un groupe. Voici un exemple de politique qui contient des autorisations pour créer, supprimer, modifier et redémarrer les clusters Amazon Redshift pour votre compte AWS .

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowManageClusters",
      "Effect":"Allow",
      "Action": [
        "redshift:CreateCluster",
        "redshift:DeleteCluster",
        "redshift:ModifyCluster",
        "redshift:RebootCluster"
      ],
      "Resource":"*"
    }
  ]
}
```

------

Pour plus d’informations sur l’utilisation des politiques basées sur l’identité avec Amazon Redshift, consultez [Utilisation des politiques basées sur l’identité (politiques IAM) pour Amazon Redshift](redshift-iam-access-control-identity-based.md). Pour plus d’informations sur les utilisateurs, les groupes, les rôles et les autorisations, consultez [Identités (utilisateurs, groupes et rôles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) dans le *Guide de l’utilisateur IAM*. 

### Politiques basées sur les ressources
<a name="redshift-iam-access-control-resource-based"></a>

D’autres services, tels qu’Amazon S3, prennent également en charge les politiques d’autorisation basées sur une ressource. Par exemple, vous pouvez attacher une politique à un compartiment S3 pour gérer les autorisations d’accès à ce compartiment. Amazon Redshift ne prend pas en charge les politiques basées sur une ressource. 

## Spécification des éléments d’une politique : actions, effets, ressources et principaux
<a name="redshift-iam-access-control-specify-actions"></a>

Pour chaque ressource Amazon Redshift (voir[Ressources et opérations Amazon Redshift](#redshift-iam-accesscontrol.actions-and-resources) ), le service définit un ensemble d’opérations d’API (voir [Actions](https://docs.aws.amazon.com/redshift/latest/APIReference/API_Operations.html)). Pour accorder des autorisations pour ces opérations d’API, Amazon Redshift définit un ensemble d’actions que vous pouvez spécifier dans une politique. Une opération d’API peut exiger des autorisations pour plusieurs actions. 

Voici les éléments de base d’une politique :
+ **Ressource** : dans une politique, vous utilisez un Amazon Resource Name (ARN) pour identifier la ressource à laquelle la politique s’applique. Pour plus d'informations, consultez [Ressources et opérations Amazon Redshift](#redshift-iam-accesscontrol.actions-and-resources). 
+ **Action :** vous utilisez des mots clés d’action pour identifier les opérations de ressource que vous voulez accorder ou refuser. Par exemple, l’autorisation `redshift:DescribeClusters` permet à l’utilisateur d’effectuer l’opération Amazon Redshift `DescribeClusters`. 
+ **Effet** – Vous spécifiez l’effet produit lorsque l’utilisateur demande l’action spécifique, qui peut être une autorisation ou un refus. Si vous n’accordez pas explicitement l’accès pour (autoriser) une ressource, l’accès est implicitement refusé. Vous pouvez aussi explicitement refuser l’accès à une ressource, ce que vous pouvez faire afin de vous assurer qu’un utilisateur n’y a pas accès, même si une politique différente accorde l’accès.
+ **Principal** – dans les politiques basées sur une identité (politiques IAM), l’utilisateur auquel la politique est attachée est le principal implicite. Pour les politiques basées sur une ressource, vous spécifiez l’utilisateur, le compte, le service ou une autre entité qui doit recevoir les autorisations (s’applique uniquement aux politiques basées sur une ressource). Amazon Redshift ne prend pas en charge les politiques basées sur une ressource.

Pour en savoir plus sur la syntaxe et les descriptions des politiques IAM, consultez la [Référence des politiques AWS IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) dans le *Guide de l’utilisateur IAM*.

Pour un tableau présentant toutes les actions de l’API Amazon Redshift et les ressources auxquelles elles s’appliquent, consultez [Autorisations d’accès Amazon Redshift, Amazon Redshift sans serveur, API de données Amazon Redshift et Éditeur de requêtes Amazon Redshift v2](#redshift-policy-resources.resource-permissions). 



## Spécification de conditions dans une politique
<a name="redshift-policy-resources.specifying-conditions"></a>

Lorsque vous accordez des autorisations, vous pouvez utiliser le langage de la politique d’accès pour spécifier les conditions définissant quand une politique doit prendre effet. Par exemple, il est possible d’appliquer une politique après seulement une date spécifique. Pour plus d’informations sur la spécification des conditions dans un langage de politique d’accès, consultez [Éléments de politique IAM JSON : Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dans le *Guide de l’utilisateur IAM*.

Pour identifier les conditions dans lesquelles une politique d’autorisations s’applique, incluez un élément `Condition` à votre politique d’autorisations IAM. Par exemple, vous pouvez créer une politique qui autorise un utilisateur à créer un cluster à l’aide de l’action `redshift:CreateCluster` et vous pouvez ajouter un élément `Condition` pour limiter cet utilisateur à la création du cluster dans une région spécifique uniquement. Pour plus de détails, consultez [Utilisation de conditions de politique IAM pour un contrôle d’accès précis](#redshift-policy-resources.conditions). Pour obtenir une liste de toutes les valeurs clés conditionnelles et des actions et ressources Amazon Redshift auxquelles elles s’appliquent, consultez [Autorisations d’accès Amazon Redshift, Amazon Redshift sans serveur, API de données Amazon Redshift et Éditeur de requêtes Amazon Redshift v2](#redshift-policy-resources.resource-permissions).

### Utilisation de conditions de politique IAM pour un contrôle d’accès précis
<a name="redshift-policy-resources.conditions"></a>

Dans Amazon Redshift, vous pouvez utiliser des clés de condition pour restreindre l’accès aux ressources en fonction des balises de ces ressources. Vous trouverez ci-dessous des clés de condition Amazon Redshift courantes.


| Clé de condition | Description | 
| --- | --- | 
| `aws:RequestTag` | Nécessite que les utilisateurs incluent une clé de balise (nom) et une valeur chaque fois qu’ils créent une ressource. Pour plus d'informations, consultez [aws : RequestTag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag) dans le *guide de l'utilisateur IAM*.  | 
| `aws:ResourceTag` | Limite l’accès utilisateur aux ressources basées sur des clés et des valeurs de balise spécifiques. Pour plus d'informations, consultez [aws : ResourceTag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag) dans le *guide de l'utilisateur IAM*.  | 
| `aws:TagKeys` | Utilisez cette clé pour comparer les clés de balise d’une demande avec celles spécifiées dans la politique. Pour plus d'informations, consultez [aws : TagKeys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys) dans le *guide de l'utilisateur IAM*.  | 

Pour plus d’informations sur les balises, consultez [Étiqueter les ressources dans Amazon Redshift.](amazon-redshift-tagging.md).

Pour obtenir une liste des actions d’API qui prennent en charge les clés de condition `redshift:RequestTag` et `redshift:ResourceTag`, consultez [Autorisations d’accès Amazon Redshift, Amazon Redshift sans serveur, API de données Amazon Redshift et Éditeur de requêtes Amazon Redshift v2](#redshift-policy-resources.resource-permissions).

Les clés de condition suivantes peuvent être utilisées avec l'action Amazon Redshift GetClusterCredentials.


| Clé de condition | Description | 
| --- | --- | 
| `redshift:DurationSeconds` | Limite le nombre de secondes qui peut être spécifié pour la durée.  | 
| `redshift:DbName` | Limite les noms de base de données qui peuvent être spécifiés. | 
| `redshift:DbUser` | Limite les noms d’utilisateur de base de données qui peuvent être spécifiés. | 

#### Exemple 1 : Restreindre l'accès à l'aide de la clé de ResourceTag condition aws :
<a name="redshift-policy-resources.resource-permissions-example1"></a>

Utilisez la politique IAM suivante pour permettre à un utilisateur de modifier un cluster Amazon Redshift uniquement pour un compte AWS spécifique de `us-west-2` la région avec une balise `environment` nommée avec une valeur de balise de. `test`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Sid":"AllowModifyTestCluster",
        "Effect": "Allow",
        "Action": "redshift:ModifyCluster",
        "Resource": "arn:aws:redshift:us-west-2:123456789012:cluster:*",
        "Condition": {
            "StringEquals": {
                "aws:ResourceTag/environment": "test"
            }
        }
    }
}
```

------

#### Exemple 2 : Restreindre l'accès à l'aide de la clé de RequestTag condition aws :
<a name="redshift-policy-resources.resource-permissions-example2"></a>

Utilisez la politique IAM suivante pour permettre à un utilisateur de créer un cluster Amazon Redshift uniquement si la commande de création du cluster comprend une balise nommée `usage` et une valeur de balise `production`. La condition avec `aws:TagKeys` et le modificateur `ForAllValues` spécifie que seules les clés `costcenter` et `usage` peuvent être spécifiées dans la demande.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Sid":"AllowCreateProductionCluster",
        "Effect": "Allow",
        "Action": [
            "redshift:CreateCluster",
            "redshift:CreateTags"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:RequestTag/usage": "production"
            },
            "ForAllValues:StringEquals": {
                "aws:TagKeys": [
                    "costcenter",
                    "usage"
                ]
            }
        }
    }
}
```

------

# Utilisation des politiques basées sur l’identité (politiques IAM) pour Amazon Redshift
<a name="redshift-iam-access-control-identity-based"></a>

Cette rubrique fournit des exemples de politiques basées sur une identité dans lesquelles un administrateur de compte peut attacher des politiques d’autorisation aux identités IAM (c’est-à-dire aux utilisateurs, groupes et rôles). 

**Important**  
Nous vous recommandons de consulter d’abord les rubriques d’introduction qui expliquent les concepts de base et les options dont vous disposez pour gérer l’accès à vos ressources Amazon Redshift. Pour plus d'informations, consultez [Présentation de la gestion des autorisations d’accès à vos ressources Amazon Redshift](redshift-iam-access-control-overview.md).

Un exemple de politique d’autorisation est exposé ci-dessous. La politique permet à un utilisateur de créer, de supprimer, de modifier et de redémarrer tous les clusters, puis refuse l'autorisation de supprimer ou de modifier les clusters dont l'identifiant du cluster commence par `production` in Région AWS `us-west-2` et Compte AWS `123456789012`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowClusterManagement",
      "Action": [
        "redshift:CreateCluster",
        "redshift:DeleteCluster",
        "redshift:ModifyCluster",
        "redshift:RebootCluster"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid":"DenyDeleteModifyProtected",
      "Action": [
        "redshift:DeleteCluster",
        "redshift:ModifyCluster"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:cluster:production*"
      ],
      "Effect": "Deny"
    }
  ]
}
```

------

La politique possède deux énoncés: 
+ Le premier énoncé accorde des autorisations à un utilisateur pour créer, supprimer, modifier et redémarrer des clusters. La déclaration spécifie un caractère générique (\$1) comme `Resource` valeur afin que la politique s'applique à toutes les ressources Amazon Redshift détenues par le AWS compte racine. 
+ Le second énoncé refuse l’autorisation de supprimer ou de modifier un cluster. L’énoncé spécifie un cluster Amazon Resource Name (ARN) pour la valeur `Resource` qui inclut un caractère générique (\$1). Par conséquent, cette déclaration s'applique à tous les clusters Amazon Redshift détenus par le AWS compte racine dont l'identifiant du cluster commence par. `production`

## AWS politiques gérées pour Amazon Redshift
<a name="redshift-policy-resources.managed-policies"></a>

AWS répond à de nombreux cas d'utilisation courants en fournissant des politiques IAM autonomes créées et administrées par. AWS Les politiques gérées octroient les autorisations requises dans les cas d’utilisation courants et vous évitent d’avoir à réfléchir aux autorisations qui sont requises. Pour plus d’informations, consultez [Politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dans le *Guide de l’utilisateur IAM*.

Vous pouvez également créer vos propres politiques IAM personnalisées pour autoriser les autorisations pour les opérations et les ressources de l’API Amazon Redshift. Vous pouvez attacher ces politiques personnalisées aux rôles ou groupes IAM qui nécessitent ces autorisations. 

Les sections suivantes décrivent les politiques AWS gérées, que vous pouvez associer aux utilisateurs de votre compte, et sont spécifiques à Amazon Redshift.

## Amazon Redshift met à jour les politiques gérées AWS
<a name="security-iam-awsmanpol-updates"></a>



Consultez les informations relatives aux mises à jour des politiques AWS gérées pour Amazon Redshift depuis que ce service a commencé à suivre ces modifications. Pour recevoir des alertes automatiques sur les modifications apportées à cette page, abonnez-vous au flux RSS sur la page de l’historique des documents Amazon Redshift.




| Modifier | Description | Date | 
| --- | --- | --- | 
|  [AmazonRedshiftFederatedAuthorization](#redshift-policy-managed-policies-federated-authorization) : nouvelle politique  |   Amazon Redshift a ajouté une nouvelle ease-of-use politique pour exécuter des requêtes avec Amazon Redshift Federated Authorization.   | 21 novembre 2025 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) : mise à jour d’une politique existante  |   L’autorisation pour l’action `lakeformation:GetDataAccess` est ajoutée à la politique gérée. Son ajout donne l'autorisation d'obtenir les informations du catalogue fédéré auprès de AWS Lake Formation.  Les conditions supplémentaires pour les actions `glue:GetCatalog` et `glue:GetCatalogs` sont ajoutées à la politique gérée.   | 13 mars 2025 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) : mise à jour d’une politique existante  |   Les autorisations pour les actions `glue:GetCatalog` et `glue:GetCatalogs` sont ajoutées à la politique gérée. Leur ajout donne l’autorisation d’obtenir des informations de catalogue à partir de AWS Glue.  | 3 décembre 2024 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) : mise à jour d’une politique existante  |  L’autorisation pour l’action `servicequotas:GetServiceQuota` est ajoutée à la politique gérée. Cela donne l’autorisation d’accéder aux quotas ou aux limites.  | 8 mars 2024 | 
|  [AmazonRedshiftQueryEditorV2FullAccess](#redshift-policy-managed-policies-query-editor-V2) : mise à jour d’une politique existante  |  Les autorisations pour les actions `redshift-serverless:ListNamespaces` et `redshift-serverless:ListWorkgroups` sont ajoutées à la politique gérée. Leur ajout donne l’autorisation de répertorier les espaces de noms et les groupes de travail sans serveur dans l’entrepôt de données Amazon Redshift.  | 21 février 2024 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) : mise à jour d’une politique existante  |  Les autorisations pour les actions `redshift-serverless:ListNamespaces` et `redshift-serverless:ListWorkgroups` sont ajoutées à la politique gérée. Leur ajout donne l’autorisation de répertorier les espaces de noms et les groupes de travail sans serveur dans l’entrepôt de données Amazon Redshift.  | 21 février 2024 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) : mise à jour d’une politique existante  |  Les autorisations pour les actions `redshift-serverless:ListNamespaces` et `redshift-serverless:ListWorkgroups` sont ajoutées à la politique gérée. Leur ajout donne l’autorisation de répertorier les espaces de noms et les groupes de travail sans serveur dans l’entrepôt de données Amazon Redshift.  | 21 février 2024 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) : mise à jour d’une politique existante  |  Les autorisations pour les actions `redshift-serverless:ListNamespaces` et `redshift-serverless:ListWorkgroups` sont ajoutées à la politique gérée. Leur ajout donne l’autorisation de répertorier les espaces de noms et les groupes de travail sans serveur dans l’entrepôt de données Amazon Redshift.  | 21 février 2024 | 
|  [AmazonRedshiftReadOnlyAccess](#redshift-policy-managed-policies-read-only) : mise à jour d’une politique existante  |  L’autorisation pour l’action `redshift:ListRecommendations` est ajoutée à la politique gérée. Cela donne l’autorisation de répertorier les recommandations d’Amazon Redshift Advisor.  | 7 février 2024 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) : mise à jour d’une politique existante  |  Les autorisations pour les actions `ec2:AssignIpv6Addresses` et `ec2:UnassignIpv6Addresses` sont ajoutées à la politique gérée. Leur ajout donne l’autorisation d’attribuer des adresses IP ou d’annuler leur attribution.  | 31 octobre 2023 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) : mise à jour d’une politique existante  |  Les autorisations pour les actions `sqlworkbench:GetAutocompletionMetadata` et `sqlworkbench:GetAutocompletionResource` sont ajoutées à la politique gérée. Leur ajout permet de générer et de récupérer des informations de base de données pour la saisie automatique du code SQL lors de la modification des requêtes.  | 16 août 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) : mise à jour d’une politique existante  |  Les autorisations pour les actions `sqlworkbench:GetAutocompletionMetadata` et `sqlworkbench:GetAutocompletionResource` sont ajoutées à la politique gérée. Leur ajout permet de générer et de récupérer des informations de base de données pour la saisie automatique du code SQL lors de la modification des requêtes.  | 16 août 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) : mise à jour d’une politique existante  |  Les autorisations pour les actions `sqlworkbench:GetAutocompletionMetadata` et `sqlworkbench:GetAutocompletionResource` sont ajoutées à la politique gérée. Leur ajout permet de générer et de récupérer des informations de base de données pour la saisie automatique du code SQL lors de la modification des requêtes.  | 16 août 2023 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) : mise à jour d’une politique existante  |  Les autorisations relatives aux actions visant AWS Secrets Manager à créer et à gérer des secrets sont ajoutées à la politique gérée. Les autorisations ajoutées sont les suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html)  | 14 août 2023 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) : mise à jour d’une politique existante  |  Les autorisations pour les actions de création et de gestion de groupes de sécurité et de règles de routage dans Amazon EC2 sont supprimées de la politique gérée. Ces autorisations concernaient la création de sous-réseaux et. VPCs Les autorisations supprimées sont les suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) Ils étaient associés à la balise Purpose : RedshiftMigrateToVpc resource. L’identification limitait la portée des autorisations à des tâches de migration d’Amazon EC2 Classic vers Amazon EC2 VPC. Pour plus d'informations sur les balises de ressources, consultez la section [Contrôle de l'accès aux AWS ressources à l'aide de balises](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).  | 8 mai 2023 | 
|  [AmazonRedshiftDataFullAccess](#redshift-policy-managed-policies-data-full-access) : mise à jour d’une politique existante  |  L’autorisation pour l’action `redshift:GetClusterCredentialsWithIAM` est ajoutée à la politique gérée. En l’ajoutant, on accorde l’autorisation d’obtenir des informations d’identification temporaires améliorées pour accéder à une base de données Amazon Redshift par l’utilisateur spécifié Compte AWS.  | 7 avril 2023 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) : mise à jour d’une politique existante  |  Les autorisations relatives aux actions sur Amazon EC2 pour la création et la gestion des règles de groupe de sécurité sont ajoutées à la politique gérée. Ces groupes et règles de sécurité sont spécifiquement associés à la balise de ressource Amazon Redshift `aws:RequestTag/Redshift`. Cela permet de limiter l’étendue des autorisations à des ressources Amazon Redshift spécifiques.  | 6 avril 2023 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) : mise à jour d’une politique existante  |  L’autorisation pour l’action `sqlworkbench:GetSchemaInference` est ajoutée à la politique gérée. En l’ajoutant, vous obtenez l’autorisation d’obtenir les colonnes et les types de données déduits d’un fichier.  | 21 mars 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) : mise à jour d’une politique existante  |  L’autorisation pour l’action `sqlworkbench:GetSchemaInference` est ajoutée à la politique gérée. En l’ajoutant, vous obtenez l’autorisation d’obtenir les colonnes et les types de données déduits d’un fichier.  | 21 mars 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) : mise à jour d’une politique existante  |  L’autorisation pour l’action `sqlworkbench:GetSchemaInference` est ajoutée à la politique gérée. En l’ajoutant, vous obtenez l’autorisation d’obtenir les colonnes et les types de données déduits d’un fichier.  | 21 mars 2023 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) : mise à jour d’une politique existante  |  L’autorisation pour l’action `sqlworkbench:AssociateNotebookWithTab` est ajoutée à la politique gérée. Son ajout a pour effet d’accorder l’autorisation de créer et de mettre à jour des onglets liés au propre bloc-notes d’un utilisateur.  | 2 février 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) : mise à jour d’une politique existante  |  L’autorisation pour l’action `sqlworkbench:AssociateNotebookWithTab` est ajoutée à la politique gérée. Son ajout a pour effet d’accorder l’autorisation de créer et de mettre à jour des onglets liés au propre bloc-notes d’un utilisateur ou au bloc-notes partagé avec ce dernier.  | 2 février 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) : mise à jour d’une politique existante  |  L’autorisation pour l’action `sqlworkbench:AssociateNotebookWithTab` est ajoutée à la politique gérée. Son ajout a pour effet d’accorder l’autorisation de créer et de mettre à jour des onglets liés au propre bloc-notes d’un utilisateur ou au bloc-notes partagé avec ce dernier.  | 2 février 2023 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) : mise à jour d’une politique existante  |  Pour autoriser l’utilisation de blocs-notes, Amazon Redshift a ajouté l’autorisation pour les actions suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html)  | 17 octobre 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) : mise à jour d’une politique existante  |  Pour autoriser l’utilisation de blocs-notes, Amazon Redshift a ajouté l’autorisation pour les actions suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html)  | 17 octobre 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) : mise à jour d’une politique existante  |  Pour autoriser l’utilisation de blocs-notes, Amazon Redshift a ajouté l’autorisation pour les actions suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html)  | 17 octobre 2022 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté l'espace de noms `AWS/Redshift` pour autoriser la publication de métriques sur. CloudWatch  | 29 septembre 2022 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté l’autorisation aux actions `sqlworkbench:ListQueryExecutionHistory` et `sqlworkbench:GetQueryExecutionHistory`. Cela permet de consulter l’historique des requêtes.  | 30 août 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté l’autorisation aux actions `sqlworkbench:ListQueryExecutionHistory` et `sqlworkbench:GetQueryExecutionHistory`. Cela permet de consulter l’historique des requêtes.  | 30 août 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté l’autorisation aux actions `sqlworkbench:ListQueryExecutionHistory` et `sqlworkbench:GetQueryExecutionHistory`. Cela permet de consulter l’historique des requêtes.  | 30 août 2022 | 
|  [AmazonRedshiftFullAccess](#redshift-policy-managed-policies-full-access) : mise à jour d’une politique existante  |  Les autorisations pour Amazon Redshift Serverless sont ajoutées à la politique gérée existante AmazonRedshiftFullAccess .  | 22 juillet 2022 | 
|  [AmazonRedshiftDataFullAccess](#redshift-policy-managed-policies-data-full-access) : mise à jour d’une politique existante  |  Amazon Redshift a mis à jour la condition de portée par défaut redshift-serverless:GetCredentials de l’autorisation de la balise aws:ResourceTag/RedshiftDataFullAccess passant de StringEquals à StringLike pour accorder l’accès aux ressources marquées avec une clé de balise RedshiftDataFullAccess et n’importe quelle valeur de balise.  | 11 juillet 2022 | 
|  [AmazonRedshiftDataFullAccess](#redshift-policy-managed-policies-data-full-access) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté de nouvelles autorisations pour permettre à redshift-serverless:GetCredentials d’obtenir des informations d’identification temporaires pour Amazon Redshift sans serveur.  | 8 juillet 2022 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté l’autorisation à l’action `sqlworkbench:GetAccountSettings`. Ceci accorde l’autorisation d’obtenir les paramètres de compte.  | 15 juin 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté l’autorisation à l’action `sqlworkbench:GetAccountSettings`. Ceci accorde l’autorisation d’obtenir les paramètres de compte.  | 15 juin 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté l’autorisation à l’action `sqlworkbench:GetAccountSettings`. Ceci accorde l’autorisation d’obtenir les paramètres de compte.  | 15 juin 2022 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) : mise à jour d’une politique existante  |  Pour permettre un accès public aux nouveaux points de terminaison Amazon Redshift sans serveur, Amazon Redshift attribue et associe des adresses IP élastiques à l’interface réseau élastique du point de terminaison de VPC dans le compte client. Il le fait par le biais des autorisations fournies par le rôle lié au service. Pour permettre ce cas d’utilisation, les actions d’allocation et de libération d’une adresse IP élastique sont ajoutées au rôle lié au service Amazon Redshift sans serveur.   | 26 mai 2022 | 
|  [AmazonRedshiftQueryEditorV2FullAccess](#redshift-policy-managed-policies-query-editor-V2) : mise à jour d’une politique existante  |  Autorisations pour l’action `sqlworkbench:ListTaggedResources`. Elles s’appliquent spécifiquement aux ressources de l’éditeur de requête v2 Amazon Redshift. Cette mise à jour de la politique donne le droit d’appeler `tag:GetResources` uniquement via l’éditeur de requête v2.  | 22 février 2022 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) : mise à jour d’une politique existante  |  Autorisations pour l’action `sqlworkbench:ListTaggedResources`. Elles s’appliquent spécifiquement aux ressources de l’éditeur de requête v2 Amazon Redshift. Cette mise à jour de la politique donne le droit d’appeler `tag:GetResources` uniquement via l’éditeur de requête v2.  | 22 février 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) : mise à jour d’une politique existante  |  Autorisations pour l’action `sqlworkbench:ListTaggedResources`. Elles s’appliquent spécifiquement aux ressources de l’éditeur de requête v2 Amazon Redshift. Cette mise à jour de la politique donne le droit d’appeler `tag:GetResources` uniquement via l’éditeur de requête v2.  | 22 février 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) : mise à jour d’une politique existante  |  Autorisations pour l’action `sqlworkbench:ListTaggedResources`. Elles s’appliquent spécifiquement aux ressources de l’éditeur de requête v2 Amazon Redshift. Cette mise à jour de la politique donne le droit d’appeler `tag:GetResources` uniquement via l’éditeur de requête v2.  | 22 février 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) : mise à jour d’une politique existante  |  L’autorisation pour l’action `sqlworkbench:AssociateQueryWithTab` est ajoutée à la politique gérée. L’ajout permet aux clients de créer des onglets d’éditeur liés à une requête partagée avec eux.  | 22 février 2022 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté des autorisations pour de nouvelles actions afin de permettre la gestion du réseau Amazon Redshift et des ressources VPC.  | 22 novembre 2021 | 
|  [AmazonRedshiftAllCommandsFullAccess](#redshift-policy-managed-policies-service-linked-role-commands) – Nouvelle politique  |  Amazon Redshift a ajouté une nouvelle v permettant d’utiliser le rôle IAM créé à partir de la console Amazon Redshift et de le définir comme valeur par défaut pour que le cluster exécute les commandes COPY depuis Amazon S3, UNLOAD, CREATE EXTERNAL SCHEMA, CREATE EXTERNAL FUNCTION, CREATE MODEL ou CREATE LIBRARY.  | 18 novembre 2021 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté des autorisations pour les nouvelles actions afin de permettre la gestion des groupes de journaux et des flux de journaux Amazon CloudWatch Redshift, y compris l'exportation des journaux d'audit.  | 15 novembre 2021 | 
|  [AmazonRedshiftFullAccess](#redshift-policy-managed-policies-full-access) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté de nouvelles autorisations pour permettre l’explicabilité du modèle, DynamoDB, Redshift Spectrum et la fédération Amazon RDS.  | 7 octobre 2021 | 
|  [AmazonRedshiftQueryEditorV2FullAccess](#redshift-policy-managed-policies-query-editor-V2) – Nouvelle politique  |  Amazon Redshift a ajouté une nouvelle politique permettant un accès complet à l’éditeur de requête Amazon Redshift v2.  | 24 septembre 2021 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) – Nouvelle politique  |  Amazon Redshift a ajouté une nouvelle politique permettant d’utiliser l’éditeur de requête Amazon Redshift v2 sans partager de ressources.  | 24 septembre 2021 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) – Nouvelle politique  |  Amazon Redshift a ajouté une nouvelle politique pour autoriser le partage de lecture dans l’éditeur de requête Amazon Redshift v2.  | 24 septembre 2021 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) – Nouvelle politique  |  Amazon Redshift a ajouté une nouvelle politique permettant le partage de lecture et de mise à jour dans l’éditeur de requête Amazon Redshift v2.  | 24 septembre 2021 | 
|  [AmazonRedshiftFullAccess](#redshift-policy-managed-policies-full-access) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté de nouvelles autorisations pour autoriser `sagemaker:*Job*`.  | 18 août 2021 | 
|  [AmazonRedshiftDataFullAccess](#redshift-policy-managed-policies-data-full-access) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté de nouvelles autorisations pour autoriser `AuthorizeDataShare`.  | 12 août 2021 | 
|  [AmazonRedshiftDataFullAccess](#redshift-policy-managed-policies-data-full-access) : mise à jour d’une politique existante  |  Amazon Redshift a ajouté de nouvelles autorisations pour autoriser `BatchExecuteStatement`.  | 27 Juillet 2021 | 
|  Amazon Redshift a activé le suivi des modifications  |  Amazon Redshift a commencé à suivre les modifications apportées à ses politiques AWS gérées.  | 27 Juillet 2021 | 

## AmazonRedshiftReadOnlyAccess
<a name="redshift-policy-managed-policies-read-only"></a>

Accorde un accès en lecture seule à toutes les ressources Amazon Redshift d'un compte. AWS 

Vous pouvez trouver la [AmazonRedshiftReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftReadOnlyAccess)politique sur la console IAM et [AmazonRedshiftReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftReadOnlyAccess.html)dans le *AWS Managed Policy Reference Guide*.

## AmazonRedshiftFullAccess
<a name="redshift-policy-managed-policies-full-access"></a>

Accorde un accès complet à toutes les ressources Amazon Redshift pour un AWS compte. De plus, cette politique accorde un accès complet à toutes les ressources Amazon Redshift sans serveur.

Vous pouvez trouver la [AmazonRedshiftFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftFullAccess)politique sur la console IAM et [AmazonRedshiftFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftFullAccess.html)dans le *AWS Managed Policy Reference Guide*.

## AmazonRedshiftQueryEditor
<a name="redshift-policy-managed-policies-query-editor"></a>

AmazonRedshiftQueryEditor – Accorde un accès complet à l’éditeur de requête dans la console Amazon Redshift.

Vous pouvez trouver la [AmazonRedshiftQueryEditor](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftQueryEditor)politique sur la console IAM et [AmazonRedshiftQueryEditor](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftQueryEditor.html)dans le *AWS Managed Policy Reference Guide*.

## AmazonRedshiftDataFullAccess
<a name="redshift-policy-managed-policies-data-full-access"></a>

Accorde un accès complet aux opérations et aux ressources de l'API Amazon Redshift Data pour un AWS compte. 

Vous pouvez trouver la [AmazonRedshiftDataFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftDataFullAccess)politique sur la console IAM et [AmazonRedshiftDataFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftDataFullAccess.html)dans le *AWS Managed Policy Reference Guide*.

## AmazonRedshiftQueryEditorV2FullAccess
<a name="redshift-policy-managed-policies-query-editor-V2"></a>

Accorde un accès complet aux opérations et ressources de l’éditeur de requête Amazon Redshift v2. Cette politique permet également d'accéder à d'autres services requis.

Vous trouverez la FullAccess politique [AmazonRedshiftQueryEditorV2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftQueryEditorV2FullAccess) sur la console IAM et la [AmazonRedshiftQueryEditorV2 FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftQueryEditorV2FullAccess.html) dans le *AWS Managed Policy Reference Guide*.

## AmazonRedshiftQueryEditorV2NoSharing
<a name="redshift-policy-managed-policies-query-editor-V2-no-sharing"></a>

Permet de travailler avec l’éditeur de requête Amazon Redshift v2 sans partager de ressources. Cette politique permet également d’accéder à d’autres services requis. Le principal utilisant cette politique ne peut pas étiqueter ses ressources (telles que des requêtes) pour les partager avec d’autres principaux dans le même Compte AWS. 

Vous trouverez la NoSharing politique [AmazonRedshiftQueryEditorV2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftQueryEditorV2NoSharing) sur la console IAM et la [AmazonRedshiftQueryEditorV2 NoSharing](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftQueryEditorV2NoSharing.html) dans le *AWS Managed Policy Reference Guide*.

## AmazonRedshiftQueryEditorV2ReadSharing
<a name="redshift-policy-managed-policies-query-editor-V2-read-sharing"></a>

Permet de travailler avec l’éditeur de requête Amazon Redshift v2 avec un partage limité des ressources. Cette politique permet également d’accéder à d’autres services requis. Le principal utilisant cette politique peut étiqueter ses ressources (telles que des requêtes) pour les partager avec d’autres principaux dans le même Compte AWS. Le principal autorisé peut lire les ressources partagées avec son équipe, mais ne peut pas les mettre à jour. 

Vous trouverez la ReadSharing politique [AmazonRedshiftQueryEditorV2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftQueryEditorV2ReadSharing) sur la console IAM et la [AmazonRedshiftQueryEditorV2 ReadSharing](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftQueryEditorV2ReadSharing.html) dans le *AWS Managed Policy Reference Guide*.

## AmazonRedshiftQueryEditorV2ReadWriteSharing
<a name="redshift-policy-managed-policies-query-editor-V2-write-sharing"></a>

Permet de travailler avec l’éditeur de requête Amazon Redshift v2 avec le partage de ressources. Cette politique permet également d’accéder à d’autres services requis. Le principal utilisant cette politique peut étiqueter ses ressources (telles que des requêtes) pour les partager avec d’autres principaux dans le même Compte AWS. Le principal autorisé peut lire et mettre à jour les ressources partagées avec son équipe. 

Vous trouverez la ReadWriteSharing politique [AmazonRedshiftQueryEditorV2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftQueryEditorV2ReadWriteSharing) sur la console IAM et la [AmazonRedshiftQueryEditorV2 ReadWriteSharing](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftQueryEditorV2ReadWriteSharing.html) dans le *AWS Managed Policy Reference Guide*.

## AmazonRedshiftServiceLinkedRolePolicy
<a name="redshift-policy-managed-policies-service-linked-role-policy"></a>

Vous ne pouvez pas vous associer AmazonRedshiftServiceLinkedRolePolicy à vos entités IAM. Cette politique est associée à un rôle lié au service qui permet à Amazon Redshift d’accéder aux ressources du compte. Pour plus d’informations, consultez [Utilisation des rôles liés à un service pour Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/using-service-linked-roles.html). 

Vous pouvez trouver la [AmazonRedshiftServiceLinkedRolePolicy](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftServiceLinkedRolePolicy)politique sur la console IAM et [AmazonRedshiftServiceLinkedRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftServiceLinkedRolePolicy.html)dans le *AWS Managed Policy Reference Guide*.

## AmazonRedshiftAllCommandsFullAccess
<a name="redshift-policy-managed-policies-service-linked-role-commands"></a>

Permet d’utiliser le rôle IAM créé à partir de la console Amazon Redshift et de le définir comme valeur par défaut pour que le cluster exécute les commandes COPY à partir d’Amazon S3, UNLOAD, CREATE EXTERNAL SCHEMA, CREATE EXTERNAL FUNCTION et CREATE MODEL. La politique accorde également des autorisations pour exécuter des instructions SELECT pour des services connexes, tels qu'Amazon S3, CloudWatch Logs, Amazon SageMaker AI ou AWS Glue.

Vous pouvez trouver la [AmazonRedshiftAllCommandsFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftAllCommandsFullAccess)politique sur la console IAM et [AmazonRedshiftAllCommandsFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftAllCommandsFullAccess.html)dans le *AWS Managed Policy Reference Guide*.

## AmazonRedshiftFederatedAuthorization
<a name="redshift-policy-managed-policies-federated-authorization"></a>

 La politique consolide les actions IAM nécessaires pour exécuter une requête sur une base de données Glue Data Catalog avec les autorisations fédérées Amazon Redshift. Cette requête passe par AWS Glue et nécessite donc des actions Get sur les objets du catalogue pour découvrir les objets, et des actions Create, Update, Rename et Delete pour modifier les objets. Notez que les ressources sont gérées par Amazon Redshift. Par conséquent, le principal aura également besoin des autorisations Redshift pour terminer la requête. `glue:FederateAuthorization`Cette action permet à AWS Glue de déléguer les décisions d'autorisation relatives aux objets du catalogue à Amazon Redshift. 

 Cette politique permet au principal d'exécuter des requêtes sur le catalogue avec les autorisations fédérées Amazon Redshift, mais n'autorise pas l'enregistrement et le désenregistrement de l'espace de noms Amazon Redshift auprès de Glue. AWS Reportez-vous à la documentation sur les exigences de la politique IAM pour la configuration des autorisations fédérées Amazon Redshift. 

Vous pouvez trouver la [AmazonRedshiftFederatedAuthorization](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftFederatedAuthorization)politique sur la console IAM et [AmazonRedshiftFederatedAuthorization](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftFederatedAuthorization.html)dans le *AWS Managed Policy Reference Guide*.

Vous pouvez également créer vos propres politiques IAM personnalisées pour autoriser les autorisations pour les opérations et les ressources de l’API Amazon Redshift. Vous pouvez attacher ces politiques personnalisées aux rôles ou groupes IAM qui nécessitent ces autorisations. 





## Autorisations requises pour utiliser Redshift Spectrum
<a name="redshift-spectrum-policy-resources"></a>

Amazon Redshift Spectrum a besoin d'autorisations pour accéder aux AWS ressources à d'autres services. Pour plus de détails sur les autorisations dans les politiques IAM pour Redshift Spectrum, consultez [Politiques IAM pour Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-iam-policies.html) dans le *Guide du développeur de bases de données Amazon Redshift*.

## Autorisations requises pour utiliser la console Amazon Redshift
<a name="redshift-policy-resources.required-permissions.console"></a>

Pour qu'un utilisateur puisse utiliser la console Amazon Redshift, il doit disposer d'un ensemble minimal d'autorisations lui permettant de décrire les ressources Amazon Redshift associées à son compte. AWS Ces autorisations doivent également permettre à l'utilisateur de décrire d'autres informations connexes, notamment les informations relatives à la sécurité Amazon EC2 CloudWatch, Amazon, Amazon SNS et au réseau.

Si vous créez une politique IAM plus restrictive que les autorisations minimales requises, la console ne fonctionne pas comme prévu pour les utilisateurs dotés de cette politique IAM. Pour que ces utilisateurs puissent toujours utiliser la console Amazon Redshift, attachez également la politique gérée `AmazonRedshiftReadOnlyAccess` à l’utilisateur. La procédure à suivre est décrite dans la section [AWS politiques gérées pour Amazon Redshift](#redshift-policy-resources.managed-policies).

Pour plus d’informations sur l’accès d’un utilisateur à l’éditeur de requêtes sur la console Amazon Redshift, consultez [Autorisations requises pour utiliser l’éditeur de requêtes de la console Amazon Redshift](#redshift-policy-resources.required-permissions.query-editor). 

Il n'est pas nécessaire d'accorder des autorisations de console minimales aux utilisateurs qui appellent uniquement l'API Amazon Redshift AWS CLI ou l'API Amazon Redshift. 

## Autorisations requises pour utiliser l’éditeur de requêtes de la console Amazon Redshift
<a name="redshift-policy-resources.required-permissions.query-editor"></a>

Pour qu’un utilisateur puisse travailler avec l’éditeur de requêtes Amazon Redshift, cet utilisateur doit disposer d’un ensemble minimum d’autorisations pour les opérations d’API de données Amazon Redshift et Amazon Redshift. Pour vous connecter à une base de données à l’aide d’un secret, vous devez également disposer des autorisations Secrets Manager.

Pour permettre à un utilisateur d'accéder à l'éditeur de requêtes sur la console Amazon Redshift, joignez les politiques `AmazonRedshiftReadOnlyAccess` AWS gérées `AmazonRedshiftQueryEditor` et les politiques. La politique `AmazonRedshiftQueryEditor` accorde l’autorisation à l’utilisateur de récupérer les résultats de ses propres instructions SQL uniquement. Il s'agit des déclarations soumises par celui-ci, `aws:userid` comme indiqué dans cette section de la politique `AmazonRedshiftQueryEditor` AWS gérée.

```
{
    "Sid":"DataAPIIAMStatementPermissionsRestriction",
    "Action": [
        "redshift-data:GetStatementResult",
        "redshift-data:CancelStatement",
        "redshift-data:DescribeStatement",
        "redshift-data:ListStatements"
    ],
    "Effect": "Allow",
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "redshift-data:statement-owner-iam-userid": "${aws:userid}"
        }
    }
}
```

Pour permettre à un utilisateur de récupérer les résultats des instructions SQL d’autres personnes dans le même rôle IAM, créez votre propre politique sans la condition de limiter l’accès à l’utilisateur actuel. Limitez également l’accès pour modifier une politique à un administrateur.

## Autorisations requises pour utiliser l’éditeur de requête v2
<a name="redshift-policy-resources.required-permissions.query-editor-v2"></a>

Pour qu'un utilisateur puisse utiliser l'éditeur de requêtes Amazon Redshift v2, il doit disposer d'un minimum d'autorisations pour accéder à Amazon Redshift, aux opérations de l'éditeur de requêtes v2 et à AWS d'autres services AWS Key Management Service tels que AWS Secrets Manager, et le service de balisage. 

Pour donner à un utilisateur un accès complet à l'éditeur de requêtes v2, joignez la politique `AmazonRedshiftQueryEditorV2FullAccess` AWS gérée. La politique `AmazonRedshiftQueryEditorV2FullAccess` donne à l’utilisateur l’autorisation de partager des ressources de l’éditeur de requête v2, telles que des requêtes, avec d’autres membres de la même équipe. Pour plus d’informations sur la façon dont l’accès aux ressources de l’éditeur de requête v2 est contrôlé, reportez-vous à la définition de la politique gérée spécifique pour l’éditeur de requête v2 dans la console IAM. 

Certaines politiques AWS gérées par l'éditeur de requêtes Amazon Redshift v2 utilisent des AWS balises dans des conditions permettant de définir l'accès aux ressources. Dans l’éditeur de requête v2, le partage des requêtes est basé sur la clé et la valeur de balise `"aws:ResourceTag/sqlworkbench-team": "${aws:PrincipalTag/sqlworkbench-team}"` dans la politique IAM attachée au principal (le rôle IAM). Les principaux dans le même Compte AWS avec la même valeur de balise (par exemple, `accounting-team`), font partie de la même équipe dans l’éditeur de requête v2. Vous ne pouvez être associé qu’à une seule équipe à la fois. Un utilisateur disposant d’autorisations administratives peut configurer des équipes dans la console IAM en attribuant à tous les membres de l’équipe la même valeur pour la balise `sqlworkbench-team`. Si la valeur de la balise de `sqlworkbench-team` est modifié pour un utilisateur IAM ou un rôle IAM, il peut y avoir un retard jusqu’à ce que la modification soit reflétée dans les ressources partagées. Si la valeur de balise d’une ressource (telle qu’une requête) est modifiée, il peut à nouveau y avoir un retard jusqu’à ce que la modification soit reflétée. Les membres de l’équipe doivent également posséder l’autorisation `tag:GetResources` pour le partage.

**Exemple : pour ajouter la balise `accounting-team` pour un rôle IAM**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation de la console, choisissez **Roles** (Rôles), puis choisissez le nom du rôle que vous souhaitez modifier.

1. Choisissez l’onglet **Tags (Balises)**, puis **Add tags (Ajouter des balises)**.

1. Ajoutez la clé de balise **sqlworkbench-team** et la valeur `accounting-team`.

1. Sélectionnez **Enregistrer les modifications**.

   Maintenant, lorsqu’un principal IAM (auquel ce rôle IAM est attaché) partage une requête avec l’équipe, d’autres principaux ayant la même valeur de balise `accounting-team` peuvent afficher la requête.

Pour plus d’informations sur la procédure d’attachement d’une balise à un principal, y compris les rôles IAM et les utilisateurs IAM, consultez [Étiquetage des ressources IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) dans le *Guide de l’utilisateur IAM*. 

Vous pouvez également configurer des équipes au niveau de la session à l’aide d’un fournisseur d’identité (IdP). Cela permet à plusieurs utilisateurs utilisant le même rôle IAM d’avoir une équipe différente. La politique d’approbation de rôle IAM doit permettre l’opération `sts:TagSession`. Pour plus d’informations, consultez [Autorisations requises pour ajouter des balises de session](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_permissions-required) dans le *Guide de l’utilisateur IAM*. Ajoutez l’attribut de balise principal à l’assertion SAML fournie par votre fournisseur d’identité.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:sqlworkbench-team">
    <AttributeValue>accounting-team</AttributeValue>
</Attribute>
```

Suivez les instructions de votre fournisseur d’identité pour renseigner l’attribut SAML avec le contenu provenant de votre répertoire. Pour plus d'informations sur les fournisseurs d'identité (IdPs) et Amazon Redshift, consultez la section [Fournisseurs d'identité [Utilisation de l’authentification IAM pour générer des informations d’identification de l’utilisateur de base de données](generating-user-credentials.md) et fédération](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) dans le guide de l'utilisateur *IAM*. 

`sqlworkbench:CreateNotebookVersion` accorde l’autorisation d’obtenir le contenu actuel des cellules du bloc-notes et de créer une version du bloc-notes dans votre compte. Cela signifie qu’au moment de la création de la version, le contenu actuel du bloc-notes est le même que le contenu de la version. Par la suite, le contenu des cellules de la version reste le même lorsque le bloc-notes actuel est mis à jour. `sqlworkbench:GetNotebookVersion` accorde l’autorisation d’obtenir une version du bloc-notes. Un utilisateur qui n’a pas d’autorisation `sqlworkbench:BatchGetNotebookCell` mais qui a des autorisations `sqlworkbench:CreateNotebookVersion` et `sqlworkbench:GetNotebookVersion` sur un bloc-notes a accès aux cellules du bloc-notes de la version. Cet utilisateur sans autorisation `sqlworkbench:BatchGetNotebookCell` peut toujours récupérer le contenu des cellules d’un bloc-notes en créant d’abord une version, puis en obtenant cette version créée.

## Autorisations requises pour utiliser le planificateur Amazon Redshift
<a name="iam-permission-scheduler"></a>

Lorsque vous utilisez le planificateur Amazon Redshift, vous configurez un rôle IAM avec une relation de confiance avec le planificateur Amazon Redshift (**scheduler.redshift.amazonaws.com**) pour permettre à ce dernier d’assumer des autorisations en votre nom. Vous attachez également une politique (autorisations) au rôle pour les opérations de l’API Amazon Redshift que vous souhaitez planifier.

L’exemple suivant montre le document de politique au format JSON pour configurer une relation de confiance avec le planificateur Amazon Redshift et Amazon Redshift. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "scheduler.redshift.amazonaws.com",
                    "redshift.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Pour plus d'informations sur les entités de confiance, consultez la section [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le *Guide de l'utilisateur IAM*.

Vous devez également ajouter des autorisations pour les opérations Amazon Redshift que vous souhaitez planifier. 

Pour que le planificateur utilise l’opération `ResizeCluster`, ajoutez une autorisation similaire à ce qui suit dans votre politique IAM. Selon votre environnement, vous pouvez rendre la politique plus restrictive.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "redshift:ResizeCluster",
            "Resource": "*"
        }
    ]
}
```

------

*Pour connaître les étapes de création d'un rôle pour le planificateur Amazon Redshift, consultez la section [Création d'un rôle pour un AWS service (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) dans le guide de l'utilisateur IAM.* Effectuez ces choix lorsque vous créez un rôle dans la console IAM : 
+ Pour **Choisir le service qui utilisera ce rôle**, choisissez **Redshift**.
+ Pour **Sélectionner votre cas d’utilisation**, choisissez **Redshift - Planificateur**.
+ Créez ou attachez une politique au rôle qui permet de planifier une opération Amazon Redshift. Choisissez **Créer une politique** ou modifiez le rôle pour attacher une politique. Entrez la politique JSON pour l’opération à planifier. 
+ Après avoir créé le rôle, modifiez la **Relation de confiance** du rôle IAM de façon à inclure le service `redshift.amazonaws.com`.

Le rôle IAM que vous créez a des entités fiables de `scheduler.redshift.amazonaws.com` et `redshift.amazonaws.com`. Il a également une politique jointe qui autorise une action API Amazon Redshift prise en charge, telle que, `"redshift:ResizeCluster"`. 

## Autorisations requises pour utiliser le EventBridge planificateur Amazon
<a name="iam-permission-eventbridge-scheduler"></a>

Lorsque vous utilisez le EventBridge planificateur Amazon, vous configurez un rôle IAM avec une relation de confiance avec le EventBridge planificateur (**events.amazonaws.com**) afin de permettre au planificateur d'assumer les autorisations en votre nom. Vous associez également une politique (autorisations) au rôle pour les opérations d'API Amazon Redshift Data que vous souhaitez planifier, ainsi qu'une politique pour les opérations Amazon EventBridge.

Vous utilisez le EventBridge planificateur lorsque vous créez des requêtes planifiées avec l'éditeur de requêtes Amazon Redshift sur la console. 

Vous pouvez créer un rôle IAM pour exécuter des requêtes planifiées sur la console IAM. Dans ce rôle IAM, attachez `AmazonEventBridgeFullAccess` et `AmazonRedshiftDataFullAccess`. 

L'exemple suivant montre le document de politique au format JSON pour établir une relation de confiance avec le EventBridge planificateur. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "events.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Pour plus d'informations sur les entités de confiance, consultez la section [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le *Guide de l'utilisateur IAM*.

Pour connaître les étapes de création d'un rôle pour le EventBridge planificateur, consultez la section [Création d'un rôle pour un AWS service (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) dans le guide de l'utilisateur *IAM*. Effectuez ces choix lorsque vous créez un rôle dans la console IAM : 
+ Pour **Choisissez le service qui utilisera ce rôle** : Choisissez **CloudWatch Events**.
+ Pour **Sélectionnez votre cas d'utilisation** : Choisissez **CloudWatch Events**.
+ Attachez les politiques de autorisation suivantes : `AmazonEventBridgeFullAccess` et `AmazonRedshiftDataFullAccess`. 

Le rôle IAM que vous créez a une entité de confiance de `events.amazonaws.com`. Il possède également une politique jointe qui autorise les actions de l’API de données Amazon Redshift prises en charge, telles que `"redshift-data:*"`. 

## Autorisations requises pour utiliser le machine learning (ML) Amazon Redshift
<a name="iam-permission-ml"></a>

Vous trouverez ci-après une description des autorisations requises pour utiliser le machine learning (ML) Amazon Redshift pour différents cas d’utilisation.

Pour que vos utilisateurs puissent utiliser Amazon Redshift ML avec Amazon SageMaker AI, créez un rôle IAM avec une politique plus restrictive que celle par défaut. Vous pouvez utiliser la politique suivante : Vous pouvez également modifier cette politique afin de répondre à vos besoins.

La politique suivante indique les autorisations requises pour exécuter SageMaker AI Autopilot avec les explications du modèle fournies par Amazon Redshift.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateAutoMLJob",
                "sagemaker:CreateCompilationJob",
                "sagemaker:CreateEndpoint",
                "sagemaker:DescribeAutoMLJob",
                "sagemaker:DescribeTrainingJob",
                "sagemaker:DescribeCompilationJob",
                "sagemaker:DescribeProcessingJob",
                "sagemaker:DescribeTransformJob",
                "sagemaker:ListCandidatesForAutoMLJob",
                "sagemaker:StopAutoMLJob",
                "sagemaker:StopCompilationJob",
                "sagemaker:StopTrainingJob",
                "sagemaker:DescribeEndpoint",
                "sagemaker:InvokeEndpoint",
                "sagemaker:StopProcessingJob",
                "sagemaker:CreateModel",
                "sagemaker:CreateProcessingJob"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:model/*redshift*",
                "arn:aws:sagemaker:*:*:training-job/*redshift*",
                "arn:aws:sagemaker:*:*:automl-job/*redshift*",
                "arn:aws:sagemaker:*:*:compilation-job/*redshift*",
                "arn:aws:sagemaker:*:*:processing-job/*redshift*",
                "arn:aws:sagemaker:*:*:transform-job/*redshift*",
                "arn:aws:sagemaker:*:*:endpoint/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudwatch:namespace": [
                        "SageMaker",
                        "/aws/sagemaker/Endpoints",
                        "/aws/sagemaker/ProcessingJobs",
                        "/aws/sagemaker/TrainingJobs",
                        "/aws/sagemaker/TransformJobs"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:BatchGetImage",
                "ecr:GetAuthorizationToken",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketAcl",
                "s3:GetBucketCors",
                "s3:GetEncryptionConfiguration",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets",
                "s3:ListMultipartUploadParts",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject",
                "s3:PutBucketAcl",
                "s3:PutBucketCors",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:CreateBucket"
            ],
            "Resource": [
                "arn:aws:s3:::redshift-downloads",
                "arn:aws:s3:::redshift-downloads/*",
                "arn:aws:s3:::*redshift*",
                "arn:aws:s3:::*redshift*/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketAcl",
                "s3:GetBucketCors",
                "s3:GetEncryptionConfiguration",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets",
                "s3:ListMultipartUploadParts",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject",
                "s3:PutBucketAcl",
                "s3:PutBucketCors",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:CreateBucket"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/Redshift": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "redshift.amazonaws.com",
                        "sagemaker.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

La politique suivante indique les autorisations minimales complètes pour autoriser l’accès à Amazon DynamoDB, Redshift Spectrum et à la fédération Amazon RDS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateAutoMLJob",
                "sagemaker:CreateCompilationJob",
                "sagemaker:CreateEndpoint",
                "sagemaker:DescribeAutoMLJob",
                "sagemaker:DescribeTrainingJob",
                "sagemaker:DescribeCompilationJob",
                "sagemaker:DescribeProcessingJob",
                "sagemaker:DescribeTransformJob",
                "sagemaker:ListCandidatesForAutoMLJob",
                "sagemaker:StopAutoMLJob",
                "sagemaker:StopCompilationJob",
                "sagemaker:StopTrainingJob",
                "sagemaker:DescribeEndpoint",
                "sagemaker:InvokeEndpoint",
                "sagemaker:StopProcessingJob",
                "sagemaker:CreateModel",
                "sagemaker:CreateProcessingJob"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:model/*redshift*",
                "arn:aws:sagemaker:*:*:training-job/*redshift*",
                "arn:aws:sagemaker:*:*:automl-job/*redshift*",
                "arn:aws:sagemaker:*:*:compilation-job/*redshift*",
                "arn:aws:sagemaker:*:*:processing-job/*redshift*",
                "arn:aws:sagemaker:*:*:transform-job/*redshift*",
                "arn:aws:sagemaker:*:*:endpoint/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudwatch:namespace": [
                        "SageMaker",
                        "/aws/sagemaker/Endpoints",
                        "/aws/sagemaker/ProcessingJobs",
                        "/aws/sagemaker/TrainingJobs",
                        "/aws/sagemaker/TransformJobs"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:BatchGetImage",
                "ecr:GetAuthorizationToken",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketAcl",
                "s3:GetBucketCors",
                "s3:GetEncryptionConfiguration",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets",
                "s3:ListMultipartUploadParts",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject",
                "s3:PutBucketAcl",
                "s3:PutBucketCors",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:CreateBucket"
            ],
            "Resource": [
                "arn:aws:s3:::redshift-downloads",
                "arn:aws:s3:::redshift-downloads/*",
                "arn:aws:s3:::*redshift*",
                "arn:aws:s3:::*redshift*/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketAcl",
                "s3:GetBucketCors",
                "s3:GetEncryptionConfiguration",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets",
                "s3:ListMultipartUploadParts",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject",
                "s3:PutBucketAcl",
                "s3:PutBucketCors",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:CreateBucket"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/Redshift": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:Scan",
                "dynamodb:DescribeTable",
                "dynamodb:Getitem"
            ],
            "Resource": [
                "arn:aws:dynamodb:*:*:table/*redshift*",
                "arn:aws:dynamodb:*:*:table/*redshift*/index/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:ListInstances"
            ],
            "Resource": [
                "arn:aws:elasticmapreduce:*:*:cluster/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:ListInstances"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "elasticmapreduce:ResourceTag/Redshift": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": "arn:aws:lambda:*:*:function:*redshift*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:CreateDatabase",
                "glue:DeleteDatabase",
                "glue:GetDatabase",
                "glue:GetDatabases",
                "glue:UpdateDatabase",
                "glue:CreateTable",
                "glue:DeleteTable",
                "glue:BatchDeleteTable",
                "glue:UpdateTable",
                "glue:GetTable",
                "glue:GetTables",
                "glue:BatchCreatePartition",
                "glue:CreatePartition",
                "glue:DeletePartition",
                "glue:BatchDeletePartition",
                "glue:UpdatePartition",
                "glue:GetPartition",
                "glue:GetPartitions",
                "glue:BatchGetPartition"
            ],
            "Resource": [
                "arn:aws:glue:*:*:table/*redshift*/*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetResourcePolicy",
                "secretsmanager:GetSecretValue",
                "secretsmanager:DescribeSecret",
                "secretsmanager:ListSecretVersionIds"
            ],
            "Resource": [
                "arn:aws:secretsmanager:*:*:secret:*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword",
                "secretsmanager:ListSecrets"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "secretsmanager:ResourceTag/Redshift": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "redshift.amazonaws.com",
                        "glue.amazonaws.com",
                        "sagemaker.amazonaws.com",
                        "athena.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

Si vous souhaitez utiliser une AWS KMS clé pour le chiffrement, ajoutez les autorisations suivantes à la politique.

```
{
    "Effect": "Allow",
    "Action": [
        "kms:CreateGrant",
        "kms:Decrypt",
        "kms:DescribeKey",
        "kms:Encrypt",
        "kms:GenerateDataKey*"
    ],
    "Resource": [
        "arn:aws:kms:<your-region>:<your-account-id>:key/<your-kms-key>"
    ]
}
```

Pour permettre à Amazon Redshift et à SageMaker AI d'assumer le rôle IAM précédent pour interagir avec d'autres services, ajoutez la politique de confiance suivante au rôle.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "redshift.amazonaws.com",
          "sagemaker.amazonaws.com",
          "forecast.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Dans ce qui précède, le compartiment Amazon S3 `redshift-downloads/redshift-ml/` est l’emplacement où sont stockés les exemples de données utilisés pour les autres étapes et exemples. Vous pouvez supprimer ce compartiment si vous n’avez pas besoin de charger des données à partir d’Amazon S3. Ou alors, remplacez-le par d’autres compartiments Amazon S3 que vous utilisez pour charger des données dans Amazon Redshift. 

Les valeurs **your-account-id**, **your-role** et **your-s3-bucket** sont l’ID de compte, le rôle et le compartiment que vous spécifiez dans votre commande CREATE MODEL.

Vous pouvez éventuellement utiliser la section AWS KMS clés de l'exemple de politique si vous spécifiez une AWS KMS clé à utiliser avec Amazon Redshift ML. La valeur **your-kms-key** est la clé que vous utilisez dans le cadre de votre instruction CREATE MODEL.

Lorsque vous spécifiez un cloud privé virtuel (VPC) privé pour votre tâche de réglage d’hyperparamètres, ajoutez les autorisations suivantes :

```
{
            "Effect": "Allow",
            "Action": [
            "ec2:CreateNetworkInterface",
            "ec2:CreateNetworkInterfacePermission",
            "ec2:DeleteNetworkInterface",
            "ec2:DeleteNetworkInterfacePermission",
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeVpcs",
            "ec2:DescribeDhcpOptions",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups"
            ]
}
```

Pour utiliser l'explication du modèle, assurez-vous que vous êtes autorisé à appeler les opérations de l'API SageMaker AI. Nous vous recommandons d’utiliser la politique gérée `AmazonSageMakerFullAccess`. Si vous souhaitez créer un rôle IAM avec une politique plus restrictive, utilisez celle qui suit.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateEndpointConfig",
        "sagemaker:DeleteEndpoint",
        "sagemaker:DeleteEndpointConfig",
        "sagemaker:DescribeEndpoint",
        "sagemaker:DescribeEndpointConfig",
        "sagemaker:DescribeModel",
        "sagemaker:InvokeEndpoint",
        "sagemaker:ListTags"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Pour plus d'informations sur la politique `AmazonSageMakerFullAccess` gérée, consultez [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSageMakerFullAccess)le manuel *Amazon SageMaker AI Developer Guide*.

Si vous souhaitez créer des modèles de prévision, nous vous recommandons d’utiliser la politique gérée par `AmazonForecastFullAccess`. Si vous souhaitez utiliser une politique plus restrictive, ajoutez la politique suivante à votre rôle IAM.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "forecast:CreateAutoPredictor",
                "forecast:CreateDataset",
                "forecast:CreateDatasetGroup",
                "forecast:CreateDatasetImportJob",
                "forecast:CreateForecast",
                "forecast:CreateForecastExportJob",
                "forecast:DeleteResourceTree",
                "forecast:DescribeAutoPredictor",
                "forecast:DescribeDataset",
                "forecast:DescribeDatasetGroup",
                "forecast:DescribeDatasetImportJob",
                "forecast:DescribeForecast",
                "forecast:DescribeForecastExportJob",
                "forecast:StopResource",
                "forecast:TagResource",
                "forecast:UpdateDatasetGroup"
             ],
             "Resource": "*"
         }
    ]
}
```

------

Si vous souhaitez créer des modèles Amazon Bedrock, nous vous recommandons d’utiliser la politique gérée par `AmazonBedrockFullAccess`. Si vous souhaitez utiliser une politique plus restrictive, ajoutez la politique suivante à votre rôle IAM.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "bedrock:InvokeModel",
            "Resource": [
                "*",
                "arn:aws:bedrock:us-east-1::foundation-model/*"
            ]
        }
    ]
}
```

------

Pour plus d’informations sur Amazon Redshift ML, consultez [Utilisation du machine learning dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/machine_learning.html), [CREATE MODEL](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_MODEL.html) ou [CREATE EXTERNAL MODEL](https://docs.aws.amazon.com/redshift/latest/dg/r_create_external_model.html).

## Autorisations pour l’ingestion en streaming
<a name="iam-permission-streaming-ingestion"></a>

L’ingestion en streaming fonctionne avec deux services. Il s’agit de Kinesis Data Streams et d’Amazon MSK.

### Autorisations requises pour utiliser l’ingestion en streaming avec Kinesis Data Streams
<a name="iam-permission-streaming-ingestion-kinesis"></a>

Une procédure comportant un exemple de politique gérée est disponible sur la page [Mise en route de l’ingestion en streaming à partir d’Amazon Kinesis Data Streams](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion-getting-started.html).

### Autorisations requises pour utiliser l’ingestion en streaming avec Amazon MSK
<a name="iam-permission-streaming-ingestion-kafka"></a>

Une procédure comportant un exemple de politique gérée est disponible sur la page [Mise en route de l’ingestion en streaming à partir d’Amazon Managed Streaming for Apache Kafka](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion-getting-started-MSK.html).

## Autorisations requises pour utiliser les opérations d’API de partage de données
<a name="iam-permission-datasharing"></a>

Pour contrôler l’accès aux opérations d’API de partage de données, utilisez des politiques basées sur une action IAM. Pour plus d’informations sur la gestion des politiques IAM, consultez [Gestion des politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) dans le *Guide de l’utilisateur IAM*.

Supposons plus particulièrement qu’un administrateur de cluster producteur ait besoin d’utiliser l’appel `AuthorizeDataShare` pour autoriser la sortie d’une unité de partage des données en dehors d’un Compte AWS. Dans ce cas, vous configurez une politique IAM basée sur l’action pour accorder cette autorisation. Utilisation de l’appel `DeauthorizeDataShare` pour révoquer la sortie.

Lorsque vous utilisez des politiques IAM basées sur des actions, vous pouvez également spécifier une ressource IAM dans la politique, par exemple `DataShareARN`. Ci-dessous, le format et un exemple pour `DataShareARN`.

```
arn:aws:redshift:region:account-id:datashare:namespace-guid/datashare-name
arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare
```

Vous pouvez restreindre l’accès `AuthorizeDataShare` à une unité de partage des données spécifique en spécifiant le nom de l’unité de partage des données dans la politique IAM.

```
{
  "Statement": [
    {
      "Action": [
        "redshift:AuthorizeDataShare",
      ],
      "Resource": [
        "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare"
      ],
      "Effect": "Deny"
    }
  ]
}
```

Vous pouvez également restreindre la politique IAM à toutes les unité de partage des données appartenant à un cluster producteur spécifique. Pour ce faire, remplacez la valeur **datashare-name** dans la politique par un caractère générique ou un astérisque. Gardez la valeur `namespace-guid` du cluster.

```
arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*
```

Voici une politique IAM qui empêche une entité d’appeler `AuthorizeDataShare` sur les unités de partage des données appartenant à un cluster producteur spécifique. 

```
{
  "Statement": [
    {
      "Action": [
        "redshift:AuthorizeDataShare",
      ],
      "Resource": [
        "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*"
      ],
      "Effect": "Deny"
    }
  ]
}
```

`DataShareARN` restreint l’accès en fonction du nom de l’unité de partage des données et de l’ID global unique (GUID) de l’espace de noms du cluster propriétaire. Il le fait en spécifiant le nom comme un astérisque.

## Politiques en matière de ressources pour GetClusterCredentials
<a name="redshift-policy-resources.getclustercredentials-resources"></a>

Pour vous connecter à une base de données de cluster à l'aide d'une connexion JDBC ou ODBC avec des informations d'identification de base de données IAM, ou pour appeler l'`GetClusterCredentials`action par programmation, vous devez être autorisé à appeler l'`redshift:GetClusterCredentials`action avec accès à une ressource. `dbuser`

Si vous utilisez une connexion JDBC ou ODBC, au lieu de `server` et de `port`, vous pouvez spécifier `cluster_id` et `region`, mais pour ce faire, votre politique doit autoriser l’action `redshift:DescribeClusters` avec accès à la ressource `cluster`. 

Si vous appelez `GetClusterCredentials` avec les paramètres facultatifs `Autocreate`, `DbGroups` et `DbName`, veillez aussi à autoriser les actions et à permettre l’accès aux ressources répertoriées dans le tableau ci-dessous.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html)

Pour plus d’informations sur les ressources, consultez [Ressources et opérations Amazon Redshift](redshift-iam-access-control-overview.md#redshift-iam-accesscontrol.actions-and-resources).

Vous pouvez aussi inclure les conditions suivantes dans votre politique :
+ `redshift:DurationSeconds`
+ `redshift:DbName`
+ `redshift:DbUser`

**Important**  
Pour les intégrations SSO SAML, vous devrez peut-être spécifier une politique IAM à l'aide de la variable. `${redshift:DbUser}` Dans ces cas, nous recommandons vivement l'utilisation d'une déclaration de condition garantissant que l'appelant ne peut pas obtenir les informations d'identification d'un utilisateur qui ne correspondent pas à son AWS identifiant utilisateur. Par exemple`"StringEquals": {"aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}"}"`. Consultez [Exemple 8 : stratégie IAM pour l'utilisation GetClusterCredentials](#redshift-policy-examples-getclustercredentials). Pour plus d'informations sur les conditions, consultez [Spécification de conditions dans une politique](redshift-iam-access-control-overview.md#redshift-policy-resources.specifying-conditions) 

## Exemples de politiques gérées par le client
<a name="redshift-iam-accesscontrol.examples"></a>

Dans cette section, vous trouverez des exemples de politiques utilisateur qui accordent des autorisations pour diverses actions Amazon Redshift. Ces politiques fonctionnent lorsque vous utilisez l'API Amazon Redshift AWS SDKs, ou le. AWS CLI

**Note**  
Tous les exemples utilisent la région de l'Ouest des États-Unis (Oregon) (`us-west-2`) et contiennent un récit fictif. IDs

### Exemple 1 : Accorder à l’utilisateur un accès complet à toutes les actions et ressources d’Amazon Redshift
<a name="redshift-policy-example-allow-full-access"></a>

La politique suivante autorise l’accès à toutes les actions Amazon Redshift sur toutes les ressources. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowRedshift",
      "Action": [
        "redshift:*"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

------

La valeur `redshift:*` dans l’élément `Action` indique toutes les actions dans Amazon Redshift.

### Exemple 2 : Refuser à un utilisateur l’accès à un ensemble d’actions Amazon Redshift
<a name="redshift-policy-example-deny-specific-actions"></a>

Par défaut, toutes les autorisations sont refusées. Cependant, vous devrez parfois refuser explicitement l’accès à une action ou à un ensemble d’actions spécifique. La politique suivante autorise l’accès à toutes les actions Amazon Redshift et refuse explicitement l’accès à toute action Amazon Redshift dont le nom commence par `Delete`. Cette politique s’applique à toutes les ressources Amazon Redshift dans `us-west-2`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowUSWest2Region",
      "Action": [
        "redshift:*"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:redshift:us-east-1:111122223333:*"
    },
   {
     "Sid":"DenyDeleteUSWest2Region",
     "Action": [
        "redshift:Delete*"
      ],
      "Effect": "Deny",
      "Resource": "arn:aws:redshift:us-east-1:111122223333:*"
   }
  ]
}
```

------

### Exemple 3 : Autoriser un utilisateur à gérer les clusters
<a name="redshift-policy-example-allow-manage-clusters"></a>

La politique suivante permet à un utilisateur de créer, supprimer, modifier et redémarrer tous les clusters, puis refuse l’autorisation de supprimer les clusters si le nom du cluster commence par `protected`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowClusterManagement",
      "Action": [
        "redshift:CreateCluster",
        "redshift:DeleteCluster",
        "redshift:ModifyCluster",
        "redshift:RebootCluster"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid":"DenyDeleteProtected",
      "Action": [
        "redshift:DeleteCluster"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:cluster:protected*"
      ],
      "Effect": "Deny"
    }
  ]
}
```

------

### Exemple 4 : Autoriser un utilisateur à accorder et à révoquer l’accès aux instantanés
<a name="redshift-policy-example-allow-authorize-revoke-snapshot"></a>

La politique suivante autorise un utilisateur, par exemple l’utilisateur A, à effectuer les opérations suivantes :
+ Autoriser l’accès à n’importe quel instantané créé à partir d’un cluster nommé `shared`.
+ Annuler l’accès aux instantanés pour tous les instantanés créés à partir du cluster `shared` dont le nom d’instantané commence par `revokable`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowSharedSnapshots",
      "Action": [
        "redshift:AuthorizeSnapshotAccess"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:shared/*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid":"AllowRevokableSnapshot",
      "Action": [
        "redshift:RevokeSnapshotAccess"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:snapshot:*/revokable*"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------

Si l’utilisateur A a autorisé l’utilisateur B à accéder à un instantané, l’utilisateur B doit disposer d’une politique telle que les suivantes pour autoriser l’utilisateur B à restaurer un cluster à partir de l’instantané. La politique suivante permet à l’utilisateur B de décrire et de restaurer à partir d’un instantané et de créer des clusters. Le nom de ces clusters doit commencer par `from-other-account`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowDescribeSnapshots",
      "Action": [
        "redshift:DescribeClusterSnapshots"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid":"AllowUserRestoreFromSnapshot",
      "Action": [
        "redshift:RestoreFromClusterSnapshot"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:snapshot:*/*",
        "arn:aws:redshift:us-west-2:444455556666:cluster:from-other-account*"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------

### Exemple 5 : Permettre à un utilisateur de copier un instantané du cluster et de restaurer un cluster à partir d’un instantané
<a name="redshift-policy-example-allow-copy-restore-snapshot"></a>

La politique suivante permet à un utilisateur de copier n’importe quel instantané créé à partir du cluster nommé `big-cluster-1` et de restaurer n’importe quel instantané dont le nom commence par `snapshot-for-restore`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowCopyClusterSnapshot",
      "Action": [
        "redshift:CopyClusterSnapshot"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:snapshot:big-cluster-1/*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid":"AllowRestoreFromClusterSnapshot",
      "Action": [
        "redshift:RestoreFromClusterSnapshot"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:snapshot:*/snapshot-for-restore*",
        "arn:aws:redshift:us-west-2:123456789012:cluster:*"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------

### Exemple 6 : autoriser un utilisateur à accéder à Amazon Redshift, ainsi qu'aux actions et ressources courantes pour les services associés AWS
<a name="redshift-policy-example-allow-related-services"></a>

 L'exemple de politique suivant autorise l'accès à toutes les actions et ressources pour Amazon Redshift, Amazon Simple Notification Service (Amazon SNS) et Amazon. CloudWatch Il permet également des actions spécifiques sur toutes les ressources Amazon EC2 liées au compte. 

**Note**  
 Les autorisations au niveau des ressources ne sont pas prises en charge pour les actions Amazon EC2 qui sont spécifiées dans cet exemple de politique. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowRedshift",
      "Effect": "Allow",
      "Action": [
        "redshift:*"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid":"AllowSNS",
      "Effect": "Allow",
        "Action": [
          "sns:*"
        ],
        "Resource": [
          "*"
        ]
      },
    {
      "Sid":"AllowCloudWatch",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:*"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid":"AllowEC2Actions",
      "Effect": "Allow",
      "Action": [
        "ec2:AllocateAddress",
        "ec2:AssociateAddress",
        "ec2:AttachNetworkInterface",
        "ec2:DescribeAccountAttributes",
        "ec2:DescribeAddresses",
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeInternetGateways",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcs"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

### Exemple 7 : Autoriser un utilisateur à labéliser des ressources avec la console Amazon Redshift
<a name="redshift-policy-example-allow-tagging-with-console"></a>

L’exemple de politique suivant permet à un utilisateur de labéliser des ressources avec la console Amazon Redshift à l’aide de Groupes de ressources AWS. Cette politique peut être attachée à un rôle d’utilisateur qui appelle la console Amazon Redshift d’origine ou nouvelle. Pour plus d’informations sur le balisage, consultez [Étiqueter les ressources dans Amazon Redshift.](amazon-redshift-tagging.md). 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid":"TaggingPermissions",
            "Effect": "Allow",
            "Action": [
                "redshift:DeleteTags",
                "redshift:CreateTags",
                "redshift:DescribeTags",
                "tag:UntagResources",
                "tag:TagResources"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Exemple 8 : stratégie IAM pour l'utilisation GetClusterCredentials
<a name="redshift-policy-examples-getclustercredentials"></a>

La politique suivante utilise ces exemples de valeurs de paramètre :
+ Région: `us-west-2` 
+ AWS Compte : `123456789012` 
+ Nom du cluster: `examplecluster` 

La politique suivante active les actions `GetCredentials`, `CreateClusterUser` et `JoinGroup`. La politique utilise des clés de condition pour autoriser les `CreateClusterUser` actions `GetClusterCredentials` et uniquement lorsque l'ID AWS utilisateur correspond`"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com"`. L’accès IAM est demandé pour la base de données `"testdb"` uniquement. La politique autorise également les utilisateurs à rejoindre un groupe nommé `"common_group"`.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
  "Statement": [
    {
     "Sid":"GetClusterCredsStatement",
      "Effect": "Allow",
      "Action": [
        "redshift:GetClusterCredentials"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}",
        "arn:aws:redshift:us-west-2:123456789012:dbname:examplecluster/testdb",
        "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group"
      ],
        "Condition": {
           "StringEquals": {
           "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com"
           }
        }
    },
    {
      "Sid":"CreateClusterUserStatement",
      "Effect": "Allow",
      "Action": [
        "redshift:CreateClusterUser"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}"
      ],
      "Condition": {
        "StringEquals": {
          "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com"
        }
      }
    },
    {
      "Sid":"RedshiftJoinGroupStatement",
      "Effect": "Allow",
      "Action": [
        "redshift:JoinGroup"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group"
      ]
    }
  ]
}
```

------

L'exemple suivant illustre une politique qui autorise le rôle IAM à appeler l'opération `GetClusterCredentials`. La spécification de la ressource Amazon Redshift `dbuser` accorde au rôle l'accès au nom d'utilisateur de la base de données ` temp_creds_user` sur le cluster nommé ` examplecluster`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "redshift:GetClusterCredentials",
    "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/temp_creds_user"
  }
}
```

------

Vous pouvez utiliser un caractère générique (\$1) pour remplacer tout ou partie du nom de cluster, du nom d'utilisateur et des noms de groupes de bases de données. L'exemple suivant autorise tout nom d'utilisateur commençant par `temp_` avec tout cluster dans le compte spécifié.

**Important**  
L'instruction de l'exemple suivant spécifie un caractère générique (\$1) comme valeur pour la ressource de telle sorte que la politique autorise n'importe quelle ressource commençant par les caractères spécifiés. L'utilisation d'un caractère générique dans les politiques IAM peut être excessivement permissive. En tant que bonne pratique, il est recommandé d'utiliser la politique la plus restrictive acceptable pour votre application métier. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "redshift:GetClusterCredentials",
    "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:*/temp_*"
  }
}
```

------

L'exemple suivant montre une politique qui autorise le rôle IAM à appeler l'opération `GetClusterCredentials` avec l'option de créer automatiquement un nouvel utilisateur et de spécifier les groupes que l'utilisateur rejoint lors de la connexion. La clause `"Resource": "*" `accorde au rôle l'accès à n'importe quelle ressource, y compris les clusters, utilisateurs de base de données ou groupes d'utilisateurs.

**Important**  
L'instruction de l'exemple suivant spécifie un caractère générique (\$1) comme ressource pour les actions données, de sorte que la politique autorise l'accès à tous les utilisateurs de clusters et de bases de données, et autorise la création de n'importe quel utilisateur. L'utilisation d'un caractère générique dans les politiques IAM peut être excessivement permissive. En tant que bonne pratique, il est recommandé d'utiliser la politique la plus restrictive acceptable pour votre application métier. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
             "redshift:GetClusterCredentials",
             "redshift:CreateClusterUser",
		"redshift:JoinGroup"
            ],
    "Resource": "*"
  }
}
```

------

Pour plus d'informations, consultez [Syntaxe de l'ARN Amazon Redshift](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-redshift).

# Fédération de fournisseurs d’identité natifs pour Amazon Redshift
<a name="redshift-iam-access-control-native-idp"></a>

La gestion des identités et des autorisations pour Amazon Redshift est simplifiée grâce à la fédération des fournisseurs d’identités natifs, car elle exploite votre fournisseur d’identité existant pour simplifier l’authentification et la gestion des autorisations. Pour ce faire, elle permet de partager des métadonnées d’identité avec Redshift à partir de votre fournisseur d’identité. Pour la première itération de cette fonction, le fournisseur d’identité pris en charge est [Microsoft Azure Active Directory (Azure AD)](https://azure.microsoft.com/en-us/services/active-directory/). 

Pour configurer Amazon Redshift afin qu’il puisse authentifier les identités du fournisseur d’identité tiers, vous enregistrez le fournisseur d’identité auprès d’Amazon Redshift. Cela permet à Redshift d’authentifier les utilisateurs et les rôles définis par le fournisseur d’identité. Cela vous évite de devoir effectuer une gestion précise des identités tant dans votre fournisseur d’identité tiers que dans Amazon Redshift, car les informations d’identité sont partagées.

Pour obtenir des informations sur l’utilisation de rôles de session transférés depuis des groupes de fournisseurs d’identité (IdP), consultez [PG\$1GET\$1SESSION\$1ROLES](https://docs.aws.amazon.com/redshift/latest/dg/PG_GET_SESSION_ROLES.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

## Fédération de fournisseurs d’identité (IdP) natifs
<a name="redshift-iam-access-control-native-idp-login"></a>

 Pour terminer la configuration préliminaire entre le fournisseur d’identité et Amazon Redshift, vous effectuez quelques étapes : tout d’abord, vous enregistrez Amazon Redshift en tant qu’application tierce auprès de votre fournisseur d’identité, en demandant les autorisations d’API nécessaires. Vous créez ensuite des utilisateurs et des groupes dans le fournisseur d’identité. Enfin, vous enregistrez le fournisseur d’identité auprès d’Amazon Redshift, à l’aide d’instructions SQL, qui définissent des paramètres d’authentification uniques pour le fournisseur d’identité. Dans le cadre de l’enregistrement du fournisseur d’identité auprès de Redshift, vous attribuez un espace de noms pour vous assurer que les utilisateurs et les rôles sont correctement regroupés. 

 Une fois le fournisseur d’identité enregistré auprès d’Amazon Redshift, la communication est configurée entre Redshift et le fournisseur d’identité. Un client peut ensuite transmettre des jetons et s’authentifier auprès de Redshift en tant qu’entité de fournisseur d’identité. Amazon Redshift utilise les informations d’appartenance au groupe de fournisseurs d’identités pour mapper les rôles Redshift. Si l’utilisateur n’existe pas auparavant dans Redshift, il est créé. Les rôles sont créés et mappés à des groupes de fournisseurs d’identité, s’ils n’existent pas. L’administrateur Amazon Redshift accorde des autorisations sur les rôles, et les utilisateurs peuvent exécuter des requêtes et effectuer d’autres tâches de base de données. 

Les étapes suivantes décrivent le fonctionnement de la fédération de fournisseurs d’identités natifs lorsqu’un utilisateur se connecte :

1. Lorsqu’un utilisateur se connecte à l’aide de l’option de fournisseurs d’identités natifs, à partir du client, le jeton du fournisseur d’identité est envoyé du client au pilote.

1. L’utilisateur est authentifié. Si l’utilisateur n’existe pas déjà dans Amazon Redshift, un nouvel utilisateur est créé. Redshift mappe les groupes de fournisseurs d’identité de l’utilisateur aux rôles Redshift.

1. Les autorisations sont attribuées, en fonction des rôles Redshift de l’utilisateur. Ils sont accordés aux utilisateurs et aux rôles par un administrateur.

1. L’utilisateur peut interroger Redshift.

## Outils client de bureau
<a name="redshift-iam-access-control-native-idp-oauth"></a>

Pour obtenir des instructions sur l’utilisation de la fédération de fournisseurs d’identités natifs pour se connecter à Amazon Redshift avec Power BI, consultez le billet de blog [Integrate Amazon Redshift native IdP federation with Microsoft Azure Active Directory (AD) and Power BI](https://aws.amazon.com/blogs/big-data/integrate-amazon-redshift-native-idp-federation-with-microsoft-azure-ad-and-power-bi/) (Intégrer la fédération d’identités natives Amazon Redshift à Microsoft Azure Active Directory (AD) et Power BI). Il décrit une step-by-step implémentation de la configuration IdP native d'Amazon Redshift avec Azure AD. Il détaille les étapes de configuration de la connexion client pour Power BI Desktop ou pour le service Power BI. Les étapes comprennent l’enregistrement de l’application, la configuration des autorisations et la configuration des informations d’identification.

Pour apprendre comment intégrer la fédération IdP native d’Amazon Redshift avec Azure AD, à l’aide de Power BI Desktop et de JDBC Client-SQL Workbench/J, regardez la vidéo suivante :

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/S3MQLvZ-NiI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/S3MQLvZ-NiI)


Pour savoir comment utiliser la fédération de fournisseurs d'identité native pour se connecter à Amazon Redshift avec un client SQL, en particulier DBeaver ou SQL Workbench/J, consultez le billet de blog Intégrer la [fédération d'IdP native Amazon Redshift à Microsoft Azure AD à l'aide d'un](https://aws.amazon.com/blogs/big-data/integrate-amazon-redshift-native-idp-federation-with-microsoft-azure-ad-using-a-sql-client/) client SQL.

## Limitations
<a name="redshift-iam-access-control-idp-connect-limitations"></a>

Les limitations suivantes s’appliquent :
+  Les pilotes Amazon Redshift prennent en charge `BrowserIdcAuthPlugin` à partir des versions suivantes : 
  +  Pilote JDBC Amazon Redshift v2.1.0.30 
  +  Pilote ODBC Amazon Redshift v2.1.3 
  +  Pilote Python Amazon Redshift v2.1.3 
+  Les pilotes Amazon Redshift prennent en charge `IdpTokenAuthPlugin` à partir des versions suivantes : 
  +  Pilote JDBC Amazon Redshift v2.1.0.19 
  +  Pilote ODBC Amazon Redshift v2.0.0.9 
  +  Pilote Python Amazon Redshift v2.0.914 
+ **Aucune prise en charge de VPC amélioré** : le VPC amélioré n’est pas pris en charge lorsque vous configurez la propagation d’identité sécurisée Redshift avec AWS IAM Identity Center. Pour plus d’informations sur le VPC amélioré, consultez [Routage VPC amélioré dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html).
+ AWS Mise en **cache du centre d'identité IAM : le** centre d'identité AWS IAM met en cache les informations de session. Cela peut entraîner des problèmes d’accès imprévisibles lorsque vous tentez de vous connecter à votre base de données Redshift via l’éditeur de requêtes v2 Redshift. Cela est dû au fait que la session AWS IAM Identity Center associée dans l'éditeur de requêtes v2 reste valide, même dans le cas où l'utilisateur de la base de données est déconnecté de la AWS console. Le cache expire au bout d’une heure, ce qui résout généralement les problèmes.

# Configuration du fournisseur d'identité sur Amazon Redshift
<a name="redshift-iam-access-control-native-idp-setup"></a>

Cette section présente les étapes à suivre pour configurer le fournisseur d’identité et Amazon Redshift afin d’établir une communication pour la fédération des fournisseurs d’identité natifs. Vous avez besoin d’un compte actif auprès de votre fournisseur d’identité. Avant de configurer Amazon Redshift, vous enregistrez Redshift en tant qu’application auprès de votre fournisseur d’identité, en accordant le consentement de l’administrateur.

Effectuez les étapes suivantes dans Amazon Redshift :

1. Vous exécutez une instruction SQL pour enregistrer le fournisseur d’identité, y compris des descriptions des métadonnées de l’application Azure. Pour créer le fournisseur d’identité dans Amazon Redshift, exécutez la commande suivante après avoir remplacé la valeur des paramètres *issuer*, *client\$1id*, *client\$1secret* et *audience*. Ces paramètres sont spécifiques à Microsoft Azure AD. Remplacez le nom du fournisseur d’identité par le nom de votre choix et remplacez l’espace de noms par un nom unique pour contenir les utilisateurs et les rôles de votre répertoire de fournisseur d’identité.

   ```
   CREATE IDENTITY PROVIDER oauth_standard TYPE azure
   NAMESPACE 'aad'
   PARAMETERS '{
   "issuer":"https://sts.windows.net/2sdfdsf-d475-420d-b5ac-667adad7c702/",
   "client_id":"<client_id>",
   "client_secret":"BUAH~ewrqewrqwerUUY^%tHe1oNZShoiU7",
   "audience":["https://analysis.windows.net/powerbi/connector/AmazonRedshift"]
   }'
   ```

   Le type `azure` indique que le fournisseur facilite spécifiquement la communication avec Microsoft Azure AD. Il s’agit actuellement du seul fournisseur d’identité tiers pris en charge.
   + *issuer* : identifiant de l’auteur à qui faire confiance lors de la réception d’un jeton. L’identifiant unique du *tenant\$1id* (ID de locataire) est joint à l’auteur.
   + *client\$1id* : identifiant public unique de l’application enregistrée auprès du fournisseur d’identité. Celui-ci peut être référencé en tant qu’ID d’application.
   + *client\$1secret* : identifiant secret, ou mot de passe, connu uniquement du fournisseur d’identité et de l’application enregistrée.
   + *audience* : ID d’application attribué à l’application dans Azure.

   

   Au lieu d’utiliser un secret client partagé, vous pouvez définir des paramètres pour spécifier un certificat, une clé privée et un mot de passe de clé privée lorsque vous créez le fournisseur d’identité.

   ```
   CREATE IDENTITY PROVIDER example_idp TYPE azure 
   NAMESPACE 'example_aad' 
   PARAMETERS '{"issuer":"https://sts.windows.net/2sdfdsf-d475-420d-b5ac-667adad7c702/", 
   "client_id":"<client_id>", 
   "audience":["https://analysis.windows.net/powerbi/connector/AmazonRedshift"], 
   "client_x5t":"<certificate thumbprint>", 
   "client_pk_base64":"<private key in base64 encoding>", 
   "client_pk_password":"test_password"}';
   ```

   Le mot de passe de la clé privée, *client\$1pk\$1password*, est facultatif.

1. Facultatif : exécutez des commandes SQL dans Amazon Redshift pour créer en amont des utilisateurs et des rôles. Cela facilite l’octroi d’autorisations à l’avance. Le nom du rôle dans Amazon Redshift est le suivant : *: < GroupName sur Azure* <Namespace>AD>. Par exemple, lorsque vous créez un groupe dans Microsoft Azure AD appelé `rsgroup` et un espace de noms appelé `aad`, le nom du rôle est `aad:rsgroup`. Les noms d’utilisateur et de rôle dans Amazon Redshift sont définis à partir de ces noms d’utilisateur et de ces appartenances aux groupes dans l’espace de noms du fournisseur d’identité.

   Le mappage des rôles et des utilisateurs comprend la vérification de leur valeur `external_id`, pour s’assurer qu’elle est à jour. L’ID externe correspond à l’identifiant du groupe ou de l’utilisateur dans le fournisseur d’identité. Par exemple, l’ID externe d’un rôle correspond à l’ID de groupe Azure AD correspondant. De même, l’ID externe de chaque utilisateur correspond à son ID dans le fournisseur d’identité.

   ```
   create role "aad:rsgroup";
   ```

1. Accordez des autorisations pertinentes aux rôles selon vos besoins. Par exemple : 

   ```
   GRANT SELECT on all tables in schema public to role "aad:rsgroup";
   ```

1. Vous pouvez également accorder des autorisations à un utilisateur spécifique.

   ```
   GRANT SELECT on table foo to aad:alice@example.com
   ```

   Notez que l’appartenance au rôle d’un utilisateur externe fédéré n’est disponible que dans la session de cet utilisateur. Cela a des conséquences sur la création d’objets de base de données. Lorsqu’un utilisateur externe fédéré crée une vue ou une procédure stockée, par exemple, il ne peut pas déléguer l’autorisation de ces objets à d’autres utilisateurs et rôles.

**Explication des espaces de noms**

Un espace de noms mappe un utilisateur ou un rôle à un fournisseur d’identité spécifique. Par exemple, le préfixe pour les utilisateurs créés dans AWS IAM est. `iam:` Ce préfixe empêche les collisions de noms d’utilisateur et permet la prise en charge de plusieurs magasins d’identités. Si un utilisateur alice@example.com de la source d’identité enregistrée auprès de l’espace de noms *aad* se connecte, l’utilisateur `aad:alice@example.com` est créé dans Redshift s’il n’existe pas déjà. Notez qu’un espace de noms d’utilisateur et de rôle a une fonction différente de celle d’un espace de noms de cluster Amazon Redshift, qui est un identifiant unique associé à un cluster.

# Création automatique de rôles Amazon Redshift pour les fournisseurs d’identité
<a name="redshift-iam-access-control-native-idp-autocreate"></a>

Cette fonctionnalité vous permet de créer automatiquement des rôles dans Redshift en fonction de l’appartenance à un groupe auprès de votre fournisseur d’identité (IdP). La création automatique de rôles prend en charge Azure Active Directory avec l’intégration IdP native.

La création automatique de rôles présente plusieurs avantages. Lorsque vous créez automatiquement un rôle, Redshift le crée avec l’appartenance à un groupe dans votre IdP, ce qui vous permet d’éviter la création et la maintenance manuelles fastidieuses des rôles. Vous avez également la possibilité de filtrer quels groupes sont mappés aux rôles Redshift.

## Comment ça marche
<a name="sso-autocreate-overview"></a>

Lorsque vous, en tant qu’utilisateur IdP, vous connectez à Redshift, la séquence d’événements suivante se produit : 

1. Redshift récupère les adhésions à vos groupes depuis l’IdP.

1. Redshift crée automatiquement des rôles correspondant à ces groupes, selon le format des rôles `idp_namespace:rolename`. 

1. Redshift vous accorde des autorisations pour les rôles mappés. 

À chaque connexion utilisateur, chaque groupe qui n’est pas présent dans le catalogue mais dont l’utilisateur fait partie est créé automatiquement. Vous pouvez éventuellement définir des filtres d’inclusion et d’exclusion pour contrôler les groupes IdP pour lesquels des rôles Redshift ont été créés.

## Configuration de la création automatique des rôles
<a name="sso-autocreate-configuring"></a>

Utilisez les commandes `CREATE IDENTITY PROVIDER` et `ALTER IDENTITY PROVIDER` pour activer et configurer la création automatique de rôles.

```
-- Create a new IdP with auto role creation enabled
CREATE IDENTITY PROVIDER <idp_name> TYPE azure
  NAMESPACE '<namespace>' 
  APPLICATION_ARN 'app_arn'
  IAM_ROLE 'role_arn'
  AUTO_CREATE_ROLES TRUE; 

-- Enable on existing IdP 
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES TRUE;

-- Disable  
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES FALSE;
```

## Groupes de filtres
<a name="sso-autocreate-filtering"></a>

Vous pouvez éventuellement filtrer les groupes IdP mappés aux rôles Redshift à l’aide des modèles `INCLUDE` et `EXCLUDE`. En cas de conflit entre les modèles, `EXCLUDE` a la priorité sur `INCLUDE`.

```
-- Only create roles for groups with 'dev' 
CREATE IDENTITY PROVIDER <idp_name> TYPE azure
  ...
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%';
    
-- Exclude 'test' groups
ALTER IDENTITY PROVIDER <idp_name> 
  AUTO_CREATE_ROLES TRUE
  EXCLUDE GROUPS LIKE '%test%';
```

## Exemples
<a name="sso-autocreate-filtering"></a>

L’exemple suivant montre comment activer la création automatique de rôles sans filtrage.

```
CREATE IDENTITY PROVIDER prod_idc TYPE azure ...
  AUTO_CREATE_ROLES TRUE;
```

L’exemple suivant inclut les groupes de développement et exclut les groupes de test.

```
ALTER IDENTITY PROVIDER prod_idc
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%'
  EXCLUDE GROUPS LIKE '%test%';
```

## Bonnes pratiques
<a name="sso-autocreate-bp"></a>

Tenez compte des bonnes pratiques suivantes lorsque vous activez la création automatique pour les rôles :
+ Utilisez les filtres `INCLUDE` et `EXCLUDE` pour contrôler quels groupes obtiennent des rôles.
+ Auditez régulièrement les rôles et nettoyez ceux qui ne sont pas utilisés.
+ Tirez parti des hiérarchies de rôles Redshift pour simplifier la gestion des autorisations.

# Connectez Redshift à AWS IAM Identity Center pour une expérience d'authentification unique
<a name="redshift-iam-access-control-idp-connect"></a>

Vous pouvez gérer l’accès des utilisateurs et des groupes aux entrepôts des données Amazon Redshift par le biais de la propagation d’identité approuvée.

[La propagation fiable des identités](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overview.html) est une AWS IAM Identity Center fonctionnalité que les administrateurs de Connected Services AWS peuvent utiliser pour accorder et auditer l'accès aux données de service. L’accès à ces données est basé sur les attributs utilisateur tels que les associations de groupe. La mise en place d'une propagation d'identité sécurisée nécessite une collaboration entre les administrateurs de Connected Services AWS et les administrateurs d'IAM Identity Center. Pour plus d’informations, consultez [Prérequis et considérations](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html).​

Pour illustrer un end-to-end cas, vous pouvez utiliser un Amazon Quick tableau de bord ou l'éditeur de requêtes Amazon Redshift v2 pour accéder à Redshift. Dans ce cas, l'accès est basé sur les groupes AWS IAM Identity Center. Redshift peut déterminer qui est un utilisateur et son appartenance à un groupe. AWS IAM Identity Center permet également de connecter et de gérer les identités par le biais d'un fournisseur d'identité tiers (IdP) tel qu'Okta ou. PingOne

Une fois que votre administrateur a établi la connexion entre Redshift et AWS IAM Identity Center, il peut configurer un accès précis en fonction des groupes de fournisseurs d'identité afin d'autoriser l'accès des utilisateurs aux données.

**Important**  
Lorsque vous supprimez un utilisateur d'un AWS IAM Identity Center ou d'un annuaire de fournisseurs d'identité connectés (IdP), il n'est pas automatiquement supprimé du catalogue Amazon Redshift. Pour supprimer manuellement l'utilisateur du catalogue Amazon Redshift, exécutez la `DROP USER` commande pour supprimer complètement l'utilisateur qui a été supprimé d'un AWS IAM Identity Center ou d'un IdP. Pour plus d’informations sur la procédure à suivre pour supprimer un utilisateur, consultez [DROP USER](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_USER.html) dans le *Guide du développeur de base de données Amazon Redshift*.

## Avantages de l'intégration de Redshift à AWS IAM Identity Center
<a name="redshift-iam-access-control-idp-connect-benefits"></a>

L'utilisation d' AWS IAM Identity Center avec Redshift peut bénéficier à votre organisation des manières suivantes :
+  Les auteurs de tableaux de bord Amazon Quick peuvent se connecter aux sources de données Redshift sans avoir à saisir à nouveau les mots de passe ou à demander à un administrateur de configurer des rôles IAM avec des autorisations complexes. 
+  AWS IAM Identity Center fournit un emplacement central pour les utilisateurs de votre personnel. AWS Vous pouvez créer des utilisateurs et des groupes directement dans AWS IAM Identity Center ou connecter des utilisateurs et des groupes existants que vous gérez dans un fournisseur d'identité normalisé tel qu'Okta PingOne ou Microsoft Entra ID (Azure AD). AWS IAM Identity Center dirige l'authentification vers la source de vérité que vous avez choisie pour les utilisateurs et les groupes, et il gère un répertoire des utilisateurs et des groupes auxquels Redshift peut accéder. Pour plus d’informations, consultez [Gestion de votre source d’identité](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source.html) et [Fournisseurs d’identité pris en charge](https://docs.aws.amazon.com/singlesignon/latest/userguide/supported-idps.html) dans le *Guide de l’utilisateur AWS IAM Identity Center*. 
+ Vous pouvez partager une instance AWS IAM Identity Center avec plusieurs clusters et groupes de travail Redshift grâce à une simple fonctionnalité de découverte automatique et de connexion. Cela permet d'ajouter rapidement des clusters sans avoir à configurer la connexion AWS IAM Identity Center pour chacun d'entre eux, et garantit que tous les clusters et groupes de travail disposent d'une vue cohérente des utilisateurs, de leurs attributs et de leurs groupes. Notez que l'instance AWS IAM Identity Center de votre organisation doit se trouver dans la même région que tous les partages de données Redshift auxquels vous vous connectez.
+ Comme les identités des utilisateurs sont connues et journalisées en même temps que l’accès aux données, il vous est plus facile de respecter les règles de conformité en auditant l’accès des utilisateurs dans AWS CloudTrail.

## Personas d’administrateur pour la connexion des applications
<a name="redshift-iam-access-control-idp-personas"></a>

Les personas suivants sont essentiels pour connecter les applications analytiques à l’application gérée par AWS IAM Identity Center pour Redshift :
+ **Administrateur de l’application** : crée une application et configure les services avec lesquels elle permettra des échanges de jetons d’identité. Cet administrateur spécifie également les utilisateurs et les groupes qui ont accès à l’application.
+ **Administrateur de données** : configure un accès précis aux données. Les utilisateurs et les groupes d' AWS IAM Identity Center peuvent être mappés à des autorisations spécifiques.

## Connexion à Amazon Redshift avec AWS IAM Identity Center via Amazon Quick
<a name="redshift-iam-access-control-idp-connect-qs"></a>

Voici comment utiliser Quick pour s'authentifier auprès de Redshift lorsqu'il est connecté à IAM Identity Center et que l'accès est géré AWS via celui-ci [: Autoriser les connexions entre Quick et les clusters Amazon](https://docs.aws.amazon.com/quick/latest/userguide/enabling-access-redshift.html) Redshift. Ces étapes s’appliquent également à Amazon Redshift sans serveur.

## Connexion à Amazon Redshift avec AWS IAM Identity Center via l'éditeur de requêtes Amazon Redshift v2
<a name="redshift-iam-access-control-idp-connect-qe"></a>

Une fois les étapes de configuration d'une connexion AWS IAM Identity Center avec Redshift terminées, l'utilisateur peut accéder à la base de données et aux objets appropriés de la base de données via AWS son identité basée sur IAM Identity Center et préfixée par un espace de noms. Pour plus d’informations sur la connexion aux bases de données Redshift avec la connexion à l’éditeur de requêtes v2, consultez [Interrogation d’une base de données à l’aide de l’éditeur de requête v2Interrogation d’une base de données à l’aide de Amazon Redshift Query Editor V2](query-editor-v2.md).



## Utilisation d' AWS IAM Identity Center sur plusieurs Régions AWS
<a name="redshift-iam-access-control-idp-connect-multi-region"></a>

Amazon Redshift prend en charge AWS IAM Identity Center en plusieurs versions. Régions AWS Vous pouvez étendre AWS IAM Identity Center de votre région principale Région AWS à d'autres régions pour améliorer les performances grâce à la proximité des utilisateurs et à la fiabilité. Lorsqu'une nouvelle région est ajoutée dans AWS IAM Identity Center, vous pouvez créer des applications Redshift IAM Identity Center dans la nouvelle région sans répliquer les identités de la région principale. Vous pouvez configurer les autorisations fédérées Amazon Redshift à l'aide d' AWS IAM Identity Center dans la nouvelle région, où vous pouvez activer les contrôles au niveau des lignes, des colonnes et du masquage. Pour plus de détails sur la façon de démarrer avec AWS IAM Identity Center dans plusieurs régions, voir [Gérer le centre d'identité AWS IAM dans plusieurs régions dans](https://docs.aws.amazon.com/singlesignon/latest/userguide/multi-region-iam-identity-center.html) le guide de l' Régions AWS utilisateur d'*AWS IAM Identity Center*.

## Limitations relatives à la connexion à Amazon Redshift avec AWS IAM Identity Center
<a name="redshift-iam-access-control-idp-connect-limitations"></a>

Lorsque vous utilisez l'authentification unique AWS IAM Identity Center, tenez compte des limites suivantes :


+  **Aucune prise en charge du VPC amélioré : le VPC** amélioré n'est pas pris en charge lorsque vous utilisez l'authentification unique AWS IAM Identity Center pour Amazon Redshift. Pour plus d’informations sur le VPC amélioré, consultez [Routage VPC amélioré dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html). 

# Configuration de l'intégration d' AWS IAM Identity Center à Amazon Redshift
<a name="redshift-iam-access-control-idp-connect-console"></a>

Votre administrateur de cluster Amazon Redshift ou administrateur Amazon Redshift Serverless doit effectuer plusieurs étapes pour configurer Redshift en tant AWS qu'application compatible avec IAM Identity Center. Redshift peut ainsi découvrir et se connecter automatiquement à AWS IAM Identity Center pour recevoir les services de connexion et d'annuaire des utilisateurs. Ensuite, lorsque votre administrateur Redshift crée un cluster ou un groupe de travail, il peut permettre au nouvel entrepôt de données d'utiliser AWS IAM Identity Center pour gérer l'accès à la base de données.

L'objectif de l'activation de Redshift en tant qu'application gérée par AWS IAM Identity Center est de vous permettre de contrôler les autorisations des utilisateurs et des groupes depuis AWS IAM Identity Center ou depuis un fournisseur d'identité tiers qui y est intégré. Lorsque les utilisateurs de votre base de données se connectent à une base de données Redshift, par exemple un analyste ou un data scientist, celui-ci vérifie leurs groupes dans AWS IAM Identity Center et ceux-ci correspondent aux noms de rôles dans Redshift. De cette manière, un groupe qui définit le nom d’un rôle de base de données Redshift peut accéder à un ensemble de tables pour l’analyse des ventes, par exemple. Les sections suivantes décrivent comment configurer cela.

## Conditions préalables
<a name="redshift-iam-access-control-idp-connect-prerequisites"></a>

Voici les conditions préalables à l'intégration d' AWS IAM Identity Center à Amazon Redshift :
+ *Configuration du compte* : vous devez configurer AWS IAM Identity Center dans le compte de gestion de votre AWS organisation si vous prévoyez d'avoir des cas d'utilisation entre comptes ou si vous utilisez des clusters Redshift dans différents comptes avec la même instance d' AWS IAM Identity Center. Cela inclut la configuration de votre source d’identité. Pour plus d’informations, consultez [Prise en main](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html), [Identités de personnel](https://docs.aws.amazon.com/singlesignon/latest/userguide/identities.html) et [Fournisseurs d’identité pris en charge](https://docs.aws.amazon.com/singlesignon/latest/userguide/supported-idps.html) dans le *guide de l’utilisateur AWS IAM Identity Center*. Vous devez vous assurer que vous avez créé des utilisateurs ou des groupes dans AWS IAM Identity Center, ou que vous avez synchronisé des utilisateurs et des groupes à partir de votre source d'identité avant de pouvoir les attribuer aux données de Redshift.
**Note**  
Vous avez la possibilité d'utiliser une instance de compte d' AWS IAM Identity Center, à condition que Redshift AWS et IAM Identity Center soient dans le même compte. Vous pouvez créer cette instance à l’aide d’un widget lorsque vous créez et configurez un cluster ou un groupe de travail Redshift.
+ *Configuration d’un émetteur de jetons approuvé* : dans certains cas, vous devrez peut-être utiliser un émetteur de jetons approuvé, qui est une entité capable d’émettre et de vérifier des jetons de confiance. Avant de pouvoir le faire, des étapes préliminaires sont nécessaires avant que l'administrateur Redshift chargé de configurer l'intégration d' AWS IAM Identity Center puisse sélectionner l'émetteur de jetons de confiance et ajouter les attributs nécessaires pour terminer la configuration. Cela peut inclure la configuration d'un fournisseur d'identité externe pour qu'il serve d'émetteur de jetons de confiance et l'ajout de ses attributs dans la console AWS IAM Identity Center. Pour effectuer ces étapes, consultez [Utilisation d’applications avec un émetteur de jetons approuvés](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-apps-with-trusted-token-issuer.html#setuptrustedtokenissuer).
**Note**  
La configuration d’un émetteur de jetons approuvé n’est pas requise pour toutes les connexions externes. La connexion à votre base de données Redshift à l’aide de l’éditeur de requêtes Amazon Redshift v2 ne nécessite pas la configuration d’un émetteur de jetons approuvé. Toutefois, cela peut s’appliquer à des applications tierces telles que des tableaux de bord ou des applications personnalisées qui s’authentifient auprès de votre fournisseur d’identité.
+ *Configuration d’un ou de plusieurs rôles IAM* : les sections suivantes mentionnent les autorisations qui doivent être configurées. Vous devrez ajouter des autorisations conformément aux bonnes pratiques IAM. Les autorisations spécifiques sont détaillées dans les procédures qui suivent. 

Pour plus d’informations, consultez [Bien démarrer avec AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-enable-identity-center.html).

## Configuration de votre fournisseur d'identité pour qu'il fonctionne avec AWS IAM Identity Center
<a name="redshift-iam-access-control-idp-connect-admin-config"></a>

La première étape du contrôle de la gestion des identités des utilisateurs et des groupes consiste à vous connecter à AWS IAM Identity Center et à configurer votre fournisseur d’identité. Vous pouvez utiliser AWS IAM Identity Center lui-même comme fournisseur d'identité, ou vous pouvez connecter un magasin d'identité tiers, tel qu'Okta, par exemple. Pour plus d’informations sur la configuration de la connexion et de votre fournisseur d’identité, consultez [Connexion à un fournisseur d’identité externe](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html) dans le *Guide de l’utilisateur AWS IAM Identity Center*. À la fin de ce processus, assurez-vous qu'une petite collection d'utilisateurs et de groupes a été ajoutée à AWS IAM Identity Center, à des fins de test.

### Autorisations administratives
<a name="redshift-iam-access-control-idp-connect-admin-permissions"></a>

#### Autorisations requises pour la gestion du cycle de vie des applications Redshift/AWS IAM Identity Center
<a name="redshift-iam-access-control-permissions-application"></a>

Vous devez créer une identité IAM, qu'un administrateur Redshift utilise pour configurer Redshift afin de l'utiliser AWS avec IAM Identity Center. Le plus souvent, vous créez un rôle IAM avec des autorisations et vous l’attribuez à d’autres identités selon les besoins. Il doit disposer des autorisations répertoriées pour effectuer les actions suivantes.

**Création de l'application Redshift/AWS IAM Identity Center**
+ `sso:PutApplicationAssignmentConfiguration` : pour la sécurité.
+ `sso:CreateApplication`— Utilisé pour créer une application AWS IAM Identity Center.
+ `sso:PutApplicationAuthenticationMethod` : accorde l’accès à l’authentification Redshift.
+ `sso:PutApplicationGrant` : sert à modifier les informations relatives à l’émetteur de jetons approuvé.
+ `sso:PutApplicationAccessScope`— Pour la configuration de l'application Redshift AWS IAM Identity Center. Cela inclut les [subventions d'accès pour AWS Lake Formation et pour Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html).
+ `redshift:CreateRedshiftIdcApplication`— Utilisé pour créer l'application Redshift AWS IAM Identity Center.

**Décrire l'application Redshift/AWS IAM Identity Center**
+ `sso:GetApplicationGrant` : sert à répertorier les informations relatives à l’émetteur de jetons approuvé.
+ `sso:ListApplicationAccessScopes` : pour configurer l’application Redshift AWS IAM Identity Center afin de répertorier les intégrations en aval, telles que pour AWS Lake Formation et les autorisations d’accès S3.
+ `redshift:DescribeRedshiftIdcApplications`— Utilisé pour décrire les applications AWS IAM Identity Center existantes.

**Modification de l'application Redshift/AWS IAM Identity Center**
+ `redshift:ModifyRedshiftIdcApplication` : sert à modifier une application Redshift existante.
+ `sso:UpdateApplication`— Utilisé pour mettre à jour une application AWS IAM Identity Center.
+ `sso:GetApplicationGrant` : récupère les informations relatives à l’émetteur de jetons approuvé.
+ `sso:ListApplicationAccessScopes` : pour la configuration de l’application Redshift AWS IAM Identity Center.
+ `sso:DeleteApplicationGrant` : supprime les informations relatives à l’émetteur de jetons approuvé.
+ `sso:PutApplicationGrant` : sert à modifier les informations relatives à l’émetteur de jetons approuvé.
+ `sso:PutApplicationAccessScope`— Pour la configuration de l'application Redshift AWS IAM Identity Center. Cela inclut les [subventions d'accès pour AWS Lake Formation et pour Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html).
+ `sso:DeleteApplicationAccessScope` : pour supprimer l’application Redshift AWS IAM Identity Center. Cela inclut les [subventions d'accès pour AWS Lake Formation et pour Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html).

**Suppression de l’application Redshift/AWS IAM Identity Center**
+ `sso:DeleteApplication`— Utilisé pour supprimer une application AWS IAM Identity Center.
+ `redshift:DeleteRedshiftIdcApplication`— Permet de supprimer une application Redshift AWS IAM Identity Center existante.

#### Autorisations requises pour la gestion du cycle de vie des applications Redshift/query Editor v2
<a name="redshift-iam-access-control-permissions-application-qev2"></a>

Vous devez créer une identité IAM, qu'un administrateur Redshift utilise pour configurer Redshift afin de l'utiliser AWS avec IAM Identity Center. Le plus souvent, vous créez un rôle IAM avec des autorisations et vous l’attribuez à d’autres identités selon les besoins. Il doit disposer des autorisations répertoriées pour effectuer les actions suivantes.

**Création de l’application de l’éditeur de requête v2**
+ `redshift:CreateQev2IdcApplication`— Utilisé pour créer l' QEV2 application.
+ `sso:CreateApplication` : permet de créer une application AWS IAM Identity Center.
+ `sso:PutApplicationAuthenticationMethod` : accorde l’accès à l’authentification Redshift.
+ `sso:PutApplicationGrant` : sert à modifier les informations relatives à l’émetteur de jetons approuvé.
+ `sso:PutApplicationAccessScope`— Pour la configuration de l'application Redshift AWS IAM Identity Center. Cela inclut l’éditeur de requêtes v2.
+ `sso:PutApplicationAssignmentConfiguration` : pour la sécurité.

**Décrire l’application de l’éditeur de requête v2**
+ `redshift:DescribeQev2IdcApplications`— Utilisé pour décrire l' QEV2 application AWS IAM Identity Center.

**Modifier l’application de l’éditeur de requête v2**
+ `redshift:ModifyQev2IdcApplication`— Utilisé pour modifier l' QEV2 application AWS IAM Identity Center.
+ `sso:UpdateApplication`— Utilisé pour modifier l' QEV2 application AWS IAM Identity Center.

**Supprimer l’application de l’éditeur de requête v2**
+ `redshift:DeleteQev2IdcApplication`— Utilisé pour supprimer l' QEV2 application.
+ `sso:DeleteApplication`— Utilisé pour supprimer l' QEV2application.

**Note**  
Dans le SDK Amazon Redshift, les éléments suivants APIs ne sont pas disponibles :  
CreateQev2IdcApplication
DescribeQev2IdcApplications
ModifyQev2IdcApplication
DeleteQev2IdcApplication
Ces actions sont spécifiques à l'intégration d' AWS IAM Identity Center à QEV2 Redshift dans AWS la console. Pour de plus amples informations, consultez [Actions définies par Amazon Redshift](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshift.html#amazonredshift-actions-as-permissions). 

#### Autorisations requises pour que l’administrateur de base de données puisse se connecter à de nouvelles ressources dans la console
<a name="redshift-iam-access-control-permissions-application-new-resources"></a>

Ces autorisations sont requises pour connecter de nouveaux clusters provisionnés ou des groupes de travail Amazon Redshift sans serveur au cours du processus de création. Si vous disposez de ces autorisations, une sélection apparaît dans la console pour que vous choisissiez de vous connecter à l’application gérée par AWS IAM Identity Center pour Redshift.
+ `redshift:DescribeRedshiftIdcApplications`
+ `sso:ListApplicationAccessScopes`
+ `sso:GetApplicationAccessScope`
+ `sso:GetApplicationGrant`

Il est recommandé d’associer des politiques d’autorisation à un rôle IAM, puis de l’attribuer à des utilisateurs et à des groupes, le cas échéant. Pour plus d’informations, consultez [Identity and Access Management dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html).

## Configuration de Redshift en tant qu'application AWS gérée avec AWS IAM Identity Center
<a name="redshift-iam-access-control-idp-connect-admin-tasks"></a>

Avant qu' AWS IAM Identity Center puisse gérer les identités d'un cluster provisionné par Amazon Redshift ou d'un groupe de travail Amazon Redshift Serverless, l'administrateur Redshift doit suivre les étapes nécessaires pour faire de Redshift une application gérée par IAM Identity Center : AWS 

1. Sélectionnez **Intégration àAWS IAM Identity Center** dans le menu de la console Amazon Redshift ou Amazon Redshift Serverless, puis sélectionnez **Connect** to IAM Identity Center. AWS À partir de là, vous devez effectuer une série de sélections pour renseigner les propriétés nécessaires à l’intégration d’ AWS IAM Identity Center.

1. Choisissez un nom d'affichage et un nom unique pour l'application gérée par le AWS IAM Identity Center de Redshift.

1. Spécifiez l’espace de noms de votre organisation. Il s’agit généralement d’une version abrégée du nom de votre organisation. Il est ajouté en tant que préfixe pour vos utilisateurs et rôles gérés par AWS IAM Identity Center dans la base de données Redshift.

1. Sélectionnez un rôle IAM à utiliser. Ce rôle IAM doit être distinct des autres rôles utilisés pour Redshift et nous vous recommandons de ne pas l’utiliser à d’autres fins. Les autorisations de politique spécifiques requises sont les suivantes :
   + `sso:DescribeApplication` : requise pour créer une entrée de fournisseur d’identité (IdP) dans le catalogue.
   + `sso:DescribeInstance` : sert à créer manuellement des rôles ou des utilisateurs fédérés par le fournisseur d’identité.

1. Configurez les connexions client et les émetteurs de jetons approuvés. La configuration d’émetteurs de jetons approuvés facilite la propagation d’identités approuvées en établissant une relation avec un fournisseur d’identité externe. La propagation de l’identité permet à un utilisateur, par exemple, de se connecter à une application et d’accéder à des données spécifiques dans une autre application. Cela permet aux utilisateurs de collecter des données à partir d’emplacements distincts de manière plus fluide. À ce stade, dans la console, vous définissez les attributs de chaque émetteur de jetons approuvé. Ces attributs incluent le nom et la réclamation d’audience (ou *aud claim*), que vous devrez peut-être obtenir à partir des attributs de configuration de l’outil ou du service. Vous devrez peut-être également fournir le nom de l’application à partir du jeton Web JSON (JWT) de l’outil tiers.
**Note**  
L’élément `aud claim` requis à partir de chaque outil ou service tiers peut varier en fonction du type de jeton, qui peut être un jeton d’accès émis par un fournisseur d’identité, ou d’un autre type, tel qu’un jeton d’identification. Chaque fournisseur peut être différent. Lorsque vous implémentez la propagation d’identité approuvée et intégrez Redshift, il est nécessaire de fournir la valeur *aud* correcte pour le type de jeton que l’outil tiers envoie à AWS. Consultez les recommandations de votre fournisseur d’outils ou de services.

   Pour obtenir des informations détaillées sur la propagation d’identité approuvée, consultez [Présentation de la propagation d’identité approuvée](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overview.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *. 

Une fois que l’administrateur Redshift a terminé les étapes et enregistré la configuration, les propriétés d’ AWS IAM Identity Center apparaissent dans la console Redshift. Vous pouvez également interroger la vue système [SVV\$1IDENTITY\$1PROVIDERS](https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_IDENTITY_PROVIDERS.html) pour vérifier les propriétés de l’application. Celles-ci incluent le nom de l’application et l’espace de noms. Vous utilisez l’espace de noms comme préfixe pour les objets de base de données Redshift associés à l’application. L'exécution de ces tâches fait de Redshift une application compatible avec AWS IAM Identity Center. Les propriétés de la console incluent l’état de l’intégration. Il indique **Activé** lorsque l’intégration est terminée. À l’issue de ce processus, l’intégration d’ AWS IAM Identity Center peut être activée sur chaque nouveau cluster.

**Après la configuration, vous pouvez inclure les utilisateurs et les groupes d' AWS IAM Identity Center dans Redshift en choisissant **l'**onglet Utilisateurs **ou** groupes, puis en choisissant Attribuer.**

## Activation de l'intégration d' AWS IAM Identity Center pour un nouveau cluster Amazon Redshift ou un nouveau groupe de travail Amazon Redshift Serverless
<a name="redshift-iam-access-control-idp-connect-resource-creation"></a>

Votre administrateur de base de données configure les nouvelles ressources Redshift pour qu'elles fonctionnent en harmonie AWS avec IAM Identity Center afin de faciliter la connexion et l'accès aux données. Cela s’effectue dans le cadre des étapes de création d’un cluster provisionné ou d’un groupe de travail sans serveur. Toute personne autorisée à créer des ressources Redshift peut effectuer ces tâches d'intégration à AWS IAM Identity Center. Lorsque vous créez un cluster provisionné, vous commencez par choisir Create Cluster **dans la** console Amazon Redshift. Les étapes suivantes montrent comment activer la gestion du centre d'identité AWS IAM pour une base de données. (Elle n’inclut pas toutes les étapes de création d’un cluster.)

1. Choisissez **Activer pour <nom du cluster>** dans la section relative à l’**intégration d’IAM Identity Center** dans les étapes de création de cluster.

1. Le processus comporte une étape où vous activez l’intégration. Pour ce faire, choisissez **Activer l’intégration d’IAM Identity Center** dans la console.

1. Pour le nouveau cluster ou groupe de travail, créez des rôles de base de données dans Redshift à l’aide de commandes SQL. Voici la commande :

   ```
   CREATE ROLE <idcnamespace:rolename>;
   ```

   L’espace de noms et le nom du rôle sont les suivants : 
   + *Préfixe d'espace de noms IAM Identity Center* : il s'agit de l'espace de noms que vous avez défini lors de la configuration de la connexion entre AWS IAM Identity Center et Redshift.
   + *Nom du rôle* : ce rôle de base de données Redshift doit correspondre au nom du groupe dans AWS IAM Identity Center.

   Redshift se connecte à AWS IAM Identity Center et récupère les informations nécessaires pour créer et mapper le rôle de base de données au groupe AWS IAM Identity Center.

Notez que lorsqu’un nouvel entrepôt des données est créé, le rôle IAM spécifié pour l’intégration AWS IAM Identity Center est automatiquement associé au cluster alloué ou au groupe de travail Amazon Redshift sans serveur. Après avoir saisi les métadonnées de cluster requises et créé la ressource, vous pouvez vérifier le statut de l'intégration d' AWS IAM Identity Center dans les propriétés. Si les noms de vos groupes dans AWS IAM Identity Center comportent des espaces, vous devez utiliser des guillemets en SQL lorsque vous créez le rôle correspondant.

Après avoir activé la base de données Redshift et créé des rôles, vous êtes prêt à vous connecter à la base de données avec l’éditeur de requêtes Amazon Redshift v2 ou Amazon Quick. Les détails sont expliqués dans les sections suivantes.

### Configuration de l’élément par défaut `RedshiftIdcApplication` à l’aide de l’API
<a name="redshift-iam-access-control-idp-connect-admin-config-api"></a>

La configuration est effectuée par votre administrateur d’identité. À l'aide de l'API, vous créez et renseignez un`RedshiftIdcApplication`, qui représente l'application Redshift AWS dans IAM Identity Center.

1. Pour commencer, vous pouvez créer des utilisateurs et les ajouter à des groupes dans AWS IAM Identity Center. Pour ce faire, vous devez le faire dans la AWS console d' AWS IAM Identity Center.

1. Appelez `create-redshift-idc-application` pour créer une application AWS IAM Identity Center et la rendre compatible avec l'utilisation de Redshift. Vous créez l’application en renseignant les valeurs requises. Le nom d’affichage est le nom qui s’affichera sur le tableau de bord AWS IAM Identity Center. L’ARN du rôle IAM est un ARN doté d’autorisations pour accéder à AWS IAM Identity Center, qui est également endossable par Redshift.

   ```
   aws redshift create-redshift-idc-application
   ––idc-instance-arn 'arn:aws:sso:::instance/ssoins-1234a01a1b12345d'
   ––identity-namespace 'MYCO'
   ––idc-display-name 'TEST-NEW-APPLICATION'
   ––iam-role-arn 'arn:aws:redshift:us-east-1:012345678901:role/TestRedshiftRole'
   ––redshift-idc-application-name 'myredshiftidcapplication'
   ```

   L’exemple suivant montre un exemple de réponse `RedshiftIdcApplication` renvoyé à partir de l’appel à `create-redshift-idc-application`.

   ```
   "RedshiftIdcApplication": {
                   "IdcInstanceArn": "arn:aws:sso:::instance/ssoins-1234a01a1b12345d",
                   "RedshiftIdcApplicationName": "test-application-1",
                   "RedshiftIdcApplicationArn": "arn:aws:redshift:us-east-1:012345678901:redshiftidcapplication:12aaa111-3ab2-3ab1-8e90-b2d72aea588b",
                   "IdentityNamespace": "MYCO",
                   "IdcDisplayName": "Redshift-Idc-Application",
                   "IamRoleArn": "arn:aws:redshift:us-east-1:012345678901:role/TestRedshiftRole",
                   "IdcManagedApplicationArn": "arn:aws:sso::012345678901:application/ssoins-1234a01a1b12345d/apl-12345678910",
                   "IdcOnboardStatus": "arn:aws:redshift:us-east-1:123461817589:redshiftidcapplication",
                   "RedshiftIdcApplicationArn": "Completed",
                   "AuthorizedTokenIssuerList": [
                          "TrustedTokenIssuerArn": ...,
                          "AuthorizedAudiencesList": [...]...
                   ]}
   ```

1. Vous pouvez l'utiliser `create-application-assignment` pour attribuer des groupes particuliers ou des utilisateurs individuels à l'application gérée dans AWS IAM Identity Center. Ce faisant, vous pouvez spécifier les groupes à gérer via AWS IAM Identity Center. Si l'administrateur de base de données crée des rôles de base de données dans Redshift, les noms de groupe dans AWS IAM Identity Center correspondent aux noms de rôles dans Redshift. Les rôles contrôlent les autorisations dans la base de données. Pour plus d'informations, voir [Attribuer un accès utilisateur aux applications dans la console AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/assignuserstoapp.html).

1. Après avoir activé l'application, appelez `create-cluster` et incluez l'ARN de l'application gérée Redshift depuis AWS IAM Identity Center. Cela permet d'associer le cluster à l'application gérée dans AWS IAM Identity Center.

### Associer une application AWS IAM Identity Center à un cluster ou à un groupe de travail existant
<a name="redshift-iam-access-control-idp-connect-admin-config-existing"></a>

Si vous avez un cluster ou un groupe de travail existant que vous souhaitez activer pour l’intégration d’ AWS IAM Identity Center, vous pouvez le faire en exécutant des commandes SQL. Vous pouvez également exécuter des commandes SQL pour modifier les paramètres de l’intégration. Pour plus d’informations, consultez [ALTER IDENTITY PROVIDER](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_IDENTITY_PROVIDER.html).

Il est également possible de supprimer un fournisseur d’identité existant. L’exemple suivant montre comment CASCADE supprime les utilisateurs et les rôles attachés au fournisseur d’identité.

```
DROP IDENTITY PROVIDER
<provider_name> [ CASCADE ]
```

## Configuration des autorisations utilisateur
<a name="redshift-iam-access-control-idp-connect-user-permissions"></a>

Un administrateur configure les autorisations d'accès à diverses ressources, en fonction des attributs d'identité des utilisateurs et de leur appartenance à un groupe, au sein de leur fournisseur d'identité ou directement au sein d' AWS IAM Identity Center. Par exemple, l'administrateur du fournisseur d'identité peut ajouter un ingénieur de base de données à un groupe correspondant à son rôle. Ce nom de groupe correspond à un nom de rôle de base de données Redshift. Le rôle fournit ou restreint l’accès à des tables ou à des vues spécifiques dans Redshift.

# Création automatique de rôles Amazon Redshift pour AWS IAM Identity Center
<a name="redshift-iam-access-control-sso-autocreate"></a>

Cette fonctionnalité est une intégration AWS IAM Identity Center qui vous permet de créer automatiquement des rôles dans Redshift en fonction de l'appartenance à un groupe.

La création automatique de rôles présente plusieurs avantages. Lorsque vous créez automatiquement un rôle, Redshift le crée avec l’appartenance à un groupe dans votre IdP, ce qui vous permet d’éviter la création et la maintenance manuelles fastidieuses des rôles. Vous avez également la possibilité de filtrer les groupes mappés aux rôles Redshift avec des modèles d’inclusion et d’exclusion.

## Comment ça marche
<a name="autocreate-overview"></a>

Lorsque vous, en tant qu’utilisateur IdP, vous connectez à Redshift, la séquence d’événements suivante se produit : 

1. Redshift récupère les adhésions à vos groupes depuis l’IdP.

1. Redshift crée automatiquement des rôles correspondant à ces groupes, selon le format des rôles `idp_namespace:rolename`. 

1. Redshift vous accorde des autorisations pour les rôles mappés. 

À chaque connexion utilisateur, chaque groupe qui n’est pas présent dans le catalogue mais dont l’utilisateur fait partie est créé automatiquement. Vous pouvez éventuellement définir des filtres d’inclusion et d’exclusion pour contrôler les groupes IdP pour lesquels des rôles Redshift ont été créés.

## Configuration de la création automatique des rôles
<a name="autocreate-configuring"></a>

Utilisez les commandes `CREATE IDENTITY PROVIDER` et `ALTER IDENTITY PROVIDER` pour activer et configurer la création automatique de rôles.

```
-- Create a new IdP with auto role creation enabled
CREATE IDENTITY PROVIDER <idp_name> TYPE AWSIDC
  NAMESPACE '<namespace>' 
  APPLICATION_ARN 'app_arn'
  IAM_ROLE 'role_arn'
  AUTO_CREATE_ROLES TRUE; 

-- Enable on existing IdP 
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES TRUE;

-- Disable  
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES FALSE;
```

## Groupes de filtres
<a name="autocreate-filtering"></a>

Vous pouvez éventuellement filtrer les groupes IdP mappés aux rôles Redshift à l’aide des modèles `INCLUDE` et `EXCLUDE`. En cas de conflit entre les modèles, `EXCLUDE` a la priorité sur `INCLUDE`.

```
-- Only create roles for groups with 'dev' 
CREATE IDENTITY PROVIDER <idp_name> TYPE AWSIDC
  ...
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%';
    
-- Exclude 'test' groups
ALTER IDENTITY PROVIDER <idp_name>  
  AUTO_CREATE_ROLES TRUE
  EXCLUDE GROUPS LIKE '%test%';
```

## Exemples
<a name="autocreate-filtering"></a>

L’exemple suivant montre comment activer la création automatique de rôles sans filtrage.

```
CREATE IDENTITY PROVIDER prod_idc TYPE AWSIDC  ...
  AUTO_CREATE_ROLES TRUE;
```

L’exemple suivant inclut les groupes de développement et exclut les groupes de test.

```
ALTER IDENTITY PROVIDER prod_idc
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%'
  EXCLUDE GROUPS LIKE '%test%';
```

## Bonnes pratiques
<a name="autocreate-bp"></a>

Tenez compte des bonnes pratiques suivantes lorsque vous activez la création automatique pour les rôles :
+ Utilisez les filtres `INCLUDE` et `EXCLUDE` pour contrôler quels groupes obtiennent des rôles.
+ Auditez régulièrement les rôles et nettoyez ceux qui ne sont pas utilisés.
+ Tirez parti des hiérarchies de rôles Redshift pour simplifier la gestion des autorisations.

# Intégration d’Amazon Redshift aux autorisations d’accès Amazon S3
<a name="redshift-iam-access-control-sso-s3idc"></a>

Grâce à l’intégration aux autorisations d’accès Amazon S3, vous pouvez propager en toute simplicité vos identités IAM Identity Center afin de contrôler l’accès aux données Amazon S3. Cette intégration vous permet d’autoriser l’accès aux données Amazon S3 en fonction des utilisateurs et des groupes IAM Identity Center.

Pour plus d’informations sur les autorisations d’accès Amazon S3, consultez [Gestion de l’accès avec les octrois d’accès S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html).

L’utilisation des autorisations d’accès Amazon S3 donne à votre application les avantages suivants :
+ Contrôle d’accès précis aux données Amazon S3, basé sur les identités IAM Identity Center.
+ Gestion centralisée des identités IAM Identity Center sur Amazon Redshift et Amazon S3.
+ Vous pouvez éviter de gérer des autorisations IAM distinctes pour l’accès à Amazon S3.

## Comment ça marche
<a name="redshift-iam-access-control-sso-s3idc-howitworks"></a>

Pour intégrer votre application aux autorisations d’accès Amazon S3, procédez comme suit :
+ Tout d'abord, vous configurez Amazon Redshift pour qu'il s'intègre à Amazon S3 Access Grants à l'aide du AWS Management Console ou. AWS CLI
+ Ensuite, un utilisateur disposant de privilèges d’administrateur IdC accorde l’accès au compartiment ou au préfixe Amazon S3 à des utilisateurs/groupes IdC spécifiques, à l’aide du service d’autorisations d’accès Amazon S3. Pour plus d’informations, consultez [Utilisation des autorisations d’accès S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html).
+ Lorsqu’un utilisateur IdC authentifié auprès de Redshift exécute une requête pour accéder à S3 (telle qu’une opération COPY, UNLOAD ou Spectrum), Amazon Redshift récupère les informations d’identification d’accès S3 temporaires associées à cette identité IdC auprès du service d’autorisations d’accès Amazon S3.
+ Amazon Redshift utilise ensuite les informations d’identification temporaires récupérées pour accéder aux sites Amazon S3 autorisés pour cette requête.

## Configuration de l’intégration à Amazon S3 avec les autorisations d’accès Amazon S3
<a name="redshift-iam-access-control-sso-s3idc-setup"></a>

Pour configurer l’intégration avec les autorisations d’accès Amazon S3 pour Amazon Redshift, procédez comme suit :

**Topics**
+ [

### Configuration de l'intégration avec Amazon S3 Access Grants à l'aide du AWS Management Console
](#redshift-iam-access-control-sso-s3idc-setup-console)
+ [

### Activation de l'intégration avec Amazon S3 Access Grants à l'aide du AWS CLI
](#redshift-iam-access-control-sso-s3idc-setup-cli)

### Configuration de l'intégration avec Amazon S3 Access Grants à l'aide du AWS Management Console
<a name="redshift-iam-access-control-sso-s3idc-setup-console"></a>

1. Ouvrez la console Amazon Redshift.

1. Choisissez votre cluster dans le volet **Clusters**.

1. Sur la page de détails de votre cluster, dans la section **Intégration du fournisseur d’identité**, activez l’intégration avec le service **Autorisations d’accès S3**.
**Note**  
La section **Intégration du fournisseur d’identité** ne s’affiche pas si IAM Identity Center n’est pas configuré. Pour plus d'informations, consultez la section [Activation AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html).

### Activation de l'intégration avec Amazon S3 Access Grants à l'aide du AWS CLI
<a name="redshift-iam-access-control-sso-s3idc-setup-cli"></a>

1. Pour créer une nouvelle application Amazon Redshift IdC avec l’intégration S3 activée, procédez comme suit :

   ```
   aws redshift create-redshift-idc-application <other parameters> 
     --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Enabled"}}]} ]'
   ```

1. Pour modifier une application existante afin d’activer l’intégration des autorisations d’accès S3, procédez comme suit :

   ```
   aws redshift modify-redshift-idc-application <other parameters>
     --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Enabled"}}]} ]'
   ```

1. Pour modifier une application existante afin de désactiver l’intégration des autorisations d’accès S3, procédez comme suit :

   ```
   aws redshift modify-redshift-idc-application <other parameters>
     --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Disabled"}}]} ]'
   ```

## Utilisation des intégrations avec les autorisations d’accès S3
<a name="redshift-iam-access-control-sso-s3idc-using"></a>

Après avoir configuré l’intégration des autorisations d’accès S3, les requêtes qui accèdent aux données S3 (telles que les requêtes `COPY`, `UNLOAD` ou Spectrum) utilisent l’identité IdC pour l’autorisation. Les utilisateurs qui ne sont pas authentifiés à l’aide d’IdC peuvent également exécuter ces requêtes, mais ces comptes utilisateur ne bénéficient pas de l’administration centralisée fournie par IdC.

L’exemple suivant montre les requêtes exécutées avec l’intégration des autorisations d’accès S3. 

```
COPY table FROM 's3://mybucket/data';  // -- Redshift uses IdC identity 
UNLOAD ('SELECT * FROM table') TO 's3://mybucket/unloaded/'    // -- Redshift uses IdC identity
```

# Interrogation de données via AWS Lake Formation
<a name="redshift-iam-access-control-idp-analytics-connecting-steps"></a>

L'utilisation AWS Lake Formation facilite la gouvernance et la sécurisation centralisées de votre lac de données, ainsi que la fourniture d'un accès aux données. La configuration de la propagation des identités vers Lake Formation via AWS IAM Identity Center et Redshift permet à un administrateur d'autoriser un accès précis à un lac de données Amazon S3, en fonction des groupes de fournisseurs d'identité (IdP) de l'organisation. Ces groupes sont gérés via AWS IAM Identity Center. Cette section explique comment configurer deux cas d'utilisation, l'interrogation depuis un lac de données et l'interrogation depuis un partage de données, qui montrent comment tirer parti d' AWS IAM Identity Center avec Redshift pour se connecter aux ressources gouvernées par Lake Formation.

## Utilisation d'une connexion AWS IAM Identity Center et Redshift pour interroger un lac de données
<a name="redshift-iam-access-control-idp-analytics-connecting-datalake"></a>

Ces étapes concernent un cas d'utilisation dans lequel vous utilisez AWS IAM Identity Center connecté à Redshift pour interroger un lac de données régi par Lake Formation.

**Prérequis**

Cette procédure exige plusieurs étapes préalables :

1. AWS IAM Identity Center doit être configuré pour prendre en charge l'authentification et la gestion des identités avec Redshift. Vous pouvez activer AWS IAM Identity Center depuis la console et sélectionner une source de fournisseur d'identité (IdP). Synchronisez ensuite un ensemble de vos utilisateurs IdP avec AWS IAM Identity Center. Vous devez également configurer une connexion entre AWS IAM Identity Center et Redshift, en suivant les étapes décrites précédemment dans ce document.

1. Créez un nouveau cluster Amazon Redshift et activez la gestion des identités via AWS IAM Identity Center lors des étapes de configuration.

1. Créez une application AWS IAM Identity Center gérée pour Lake Formation et configurez-la. Cela fait suite à la configuration de la connexion entre AWS IAM Identity Center et Redshift. La procédure est la suivante :

   1. Dans le AWS CLI, utilisez la `modify-redshift-idc-application` commande pour activer l'intégration du service Lake Formation à l'application gérée par AWS IAM Identity Center pour Redshift. Cet appel inclut le paramètre `service-integrations`, qui est défini sur une valeur de chaîne de configuration qui active l’autorisation pour accéder à Lake Formation.

   1. Configurez Lake Formation à l’aide de la commande `create-lake-formation-identity-center-configuration`. Cela crée une application AWS IAM Identity Center pour Lake Formation, qui est visible sur le portail AWS IAM Identity Center. L'administrateur doit définir l'`––cli-input-json`argument, dont la valeur est le chemin d'accès à un fichier JSON qui utilise le format standard pour tous les appels d'API AWS CLI. Vous devez inclure des valeurs pour :
      + `CatalogId` : l’identifiant du catalogue Lake Formation.
      + `InstanceArn`— La valeur ARN de l'instance AWS IAM Identity Center.

Une fois que l’administrateur a terminé la configuration prérequise, l’administrateur de base de données peut créer un schéma externe dans le but d’interroger le lac de données.

1. **L’administrateur crée le schéma externe** : l’administrateur de base de données Redshift se connecte à la base de données et crée un schéma externe à l’aide de l’instruction SQL suivante :

   ```
   CREATE EXTERNAL SCHEMA if not exists my_external_schema from DATA CATALOG database 'my_lf_integrated_db' catalog_id '12345678901234';
   ```

   Notez que la spécification d'un rôle IAM n'est pas requise dans ce cas, car l'accès est géré via AWS IAM Identity Center.

1. **L'administrateur accorde des autorisations** : l'administrateur accorde l'utilisation à un groupe AWS IAM Identity Center, qui accorde des autorisations sur les ressources Redshift. Cela s’effectue en exécutant une instruction SQL telle que la suivante :

   ```
   GRANT USAGE ON SCHEMA "my_external_schema" to "MYCO:sales";
   ```

   Par la suite, l'administrateur accorde à Lake Formation des autorisations sur les objets, en fonction des exigences de l'organisation, à l'aide de la AWS CLI :

   ```
   aws lakeformation grant-permissions ...
   ```

1. **Les utilisateurs exécutent des requêtes** : à ce stade, un utilisateur AWS IAM Identity Center qui fait partie du groupe de vente peut, à des fins d’illustration, se connecter via l’éditeur de requêtes v2 à la base de données Redshift. Il peut ensuite exécuter une requête qui accède à une table dans le schéma externe, comme dans l’exemple suivant :

   ```
   SELECT * from my_external_schema.table1;
   ```

## Utilisation d'une connexion AWS IAM Identity Center et Redshift pour se connecter à un partage de données
<a name="redshift-iam-access-control-idp-analytics-connecting-datashare"></a>

 Vous pouvez accéder à un partage de données depuis un autre entrepôt de données Redshift lorsque l'accès est géré via AWS IAM Identity Center. Pour ce faire, vous devez exécuter une requête pour configurer une base de données externe. Avant de terminer ces étapes, il est supposé que vous avez établi une connexion entre Redshift et AWS IAM Identity Center, et que vous avez créé l' AWS Lake Formation application, comme indiqué dans la procédure précédente.

1. **Création de la base de données externe** : l’administrateur crée une base de données externe pour le partage des données, en la référençant via son ARN. Voici un exemple qui montre comment procéder :

   ```
   CREATE DATABASE "redshift_external_db" FROM ARN 'arn:aws:glue:us-east-1:123456789012:database/redshift_external_db-iad' WITH NO DATA CATALOG SCHEMA;
   ```

   Dans ce cas d'utilisation, où vous utilisez AWS IAM Identity Center avec Redshift pour la gestion des identités, le rôle IAM n'est pas inclus.

1. **L'administrateur définit les autorisations** : après avoir créé une base de données, l'administrateur accorde l'utilisation à un groupe AWS IAM Identity Center. Cela accorde des autorisations sur les ressources Redshift :

   ```
   GRANT USAGE ON DATABASE "my_external_db" to "MYCO:sales";
   ```

   L’administrateur accorde également à Lake Formation des autorisations sur les objets, à l’aide de l’interface de ligne de commande AWS  :

   ```
   aws lakeformation grant-permissions ...
   ```

1. **Les utilisateurs exécutent des requêtes** : un utilisateur du groupe de vente peut interroger une table figurant dans la base de données, en fonction des autorisations attribuées :

   ```
   select * from redshift_external_db.public.employees;
   ```

Pour plus d’informations sur l’octroi d’autorisations sur un lac de données et sur l’octroi d’autorisations sur les partages de données, consultez [Octroi d’autorisations aux utilisateurs et aux groupes](https://docs.aws.amazon.com/lake-formation/latest/dg/grant-permissions-sso.html). Pour plus d’informations sur l’octroi de l’autorisation d’utilisation à un schéma ou à une base de données, consultez [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html).

# Intégrer votre application ou votre outil à OAuth l'utilisation d'un émetteur de jetons de confiance
<a name="redshift-iam-access-control-idp-connect-oauth"></a>

 Vous pouvez ajouter des fonctionnalités aux outils clients que vous créez pour vous connecter à Redshift via la connexion AWS IAM Identity Center. Si vous avez déjà configuré l’intégration de Redshift à AWS IAM Identity Center, utilisez les propriétés détaillées dans cette section pour configurer une connexion. 

## Plug-in d'authentification pour la connexion à Redshift à l'aide d' AWS IAM Identity Center
<a name="redshift-iam-access-control-idp-connect-plugin"></a>

Vous pouvez utiliser AWS IAM Identity Center pour vous connecter à Amazon Redshift à l'aide des plug-ins de pilote suivants : 
+  `BrowserIdcAuthPlugin`— Ce plugin facilite une single-sign-on intégration fluide avec AWS IAM Identity Center. Il crée une fenêtre de navigateur permettant aux utilisateurs de se connecter avec les informations d’identification définies dans leurs fournisseurs d’identité d’entreprise. 
+  `IdpTokenAuthPlugin`— Ce plugin doit être utilisé par les applications qui souhaitent gérer elles-mêmes le flux d'authentification, au lieu de laisser le pilote Amazon Redshift ouvrir une fenêtre de navigateur pour l'authentification AWS IAM Identity Center. Il accepte un jeton d'accès automatique AWS IAM Identity Center ou un jeton Web JSON (JWT) OpenID Connect (OIDC) provenant de tout fournisseur d'identité Web connecté à AWS IAM Identity Center, tel qu'Okta, PingOne et Microsoft Entra ID (Azure AD). L’application cliente est chargée de générer ce jeton d’accès/JWT requis. 

### Authentification avec `BrowserIdcAuthPlugin`
<a name="redshift-iam-access-control-idp-connect-plugin-browseridcauthplugin"></a>

Utilisez les noms de plug-in suivants pour vous connecter à l’aide de `BrowserIdcAuthPlugin`, en fonction de votre pilote Amazon Redshift.


| Pilote | Clé d’option de connexion | Value | Remarques | 
| --- | --- | --- | --- | 
| JDBC | `plugin_name` | com.amazon.redshift.plugin. BrowserIdcAuthPlugin | Vous devez saisir le nom de classe complet du plug-in lorsque vous vous connectez. | 
| ODBC | `plugin_name` | BrowserIdcAuthPlugin |  | 
| Python | `credentials_provider` | BrowserIdcAuthPlugin | Aucune option `plugin_name` n’est disponible pour le pilote Python. Utilisez à la place `credentials_provider`. | 

Le plug-in `BrowserIdcAuthPlugin` possède les options de connexion supplémentaires suivantes :


| Nom d’option | Obligatoire ? | Description | Exemple | 
| --- | --- | --- | --- | 
| idc\$1region | Obligatoire | L' Région AWS emplacement de l'instance AWS IAM Identity Center. | us-east-1 | 
| issuer\$1url | Obligatoire | Point de terminaison de l'instance du serveur AWS IAM Identity Center. Vous pouvez trouver cette valeur à l'aide de la console AWS IAM Identity Center. | https://identitycenter.amazonaws.com/ssoins-g5j2k70sn4yc5nsc | 
| listen\$1port | Facultatif | Port utilisé par le pilote Amazon Redshift pour recevoir la `auth_code` réponse d' AWS IAM Identity Center via la redirection du navigateur. | 7890 | 
| idc\$1client\$1display\$1name | Facultatif | Nom que le client AWS IAM Identity Center utilise pour l'application dans la fenêtre contextuelle de consentement à l'authentification unique de l' AWS IAM Identity Center. | Pilote Amazon Redshift | 
| idp\$1response\$1timeout | Facultatif | Durée, en secondes, pendant laquelle le pilote Redshift attend la fin du flux d’authentification. | 60 | 

Vous devez entrer ces valeurs dans les propriétés de connexion de l’outil que vous créez et utilisez pour vous connecter. Pour plus d’informations, consultez la documentation relative aux options de connexion pour chaque pilote :
+ [Options de configuration du pilote JDBC version 2.x](jdbc20-configuration-options.md)
+ [Options du pilote ODBC](odbc20-configuration-options.md)
+ [Options de configuration du connecteur Amazon Redshift Python](python-configuration-options.md)

### Authentification avec `IdpTokenAuthPlugin`
<a name="redshift-iam-access-control-idp-connect-plugin-idptokenauthplugin"></a>

Utilisez les noms de plug-in suivants pour vous connecter à l’aide de `IdpTokenAuthPlugin`, en fonction de votre pilote Amazon Redshift.


| Pilote | Clé d’option de connexion | Value | Remarques | 
| --- | --- | --- | --- | 
| JDBC | `plugin_name` | com.amazon.redshift.plugin. IdpTokenAuthPlugin | Vous devez saisir le nom de classe complet du plug-in lorsque vous vous connectez. | 
| ODBC | `plugin_name` | IdpTokenAuthPlugin |  | 
| Python | `credentials_provider` | IdpTokenAuthPlugin | Aucune option `plugin_name` n’est disponible pour le pilote Python. Utilisez à la place `credentials_provider`. | 

Le plug-in `IdpTokenAuthPlugin` possède les options de connexion supplémentaires suivantes :


| Nom d’option | Obligatoire ? | Description | 
| --- | --- | --- | 
| jeton | Obligatoire | Un jeton d'accès automatique AWS IAM Identity Center ou un jeton Web JSON (JWT) OpenID Connect (OIDC) fourni par un fournisseur d'identité Web connecté à IAM Identity Center. AWS Votre application doit générer ce jeton en authentifiant l'utilisateur de votre application auprès d' AWS IAM Identity Center ou d'un fournisseur d'identité connecté à AWS IAM Identity Center. | 
| token\$1type | Obligatoire | Type de jeton utilisé pour `IdpTokenAuthPlugin`. Les valeurs possibles sont les suivantes :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/redshift-iam-access-control-idp-connect-oauth.html)  | 

Vous devez entrer ces valeurs dans les propriétés de connexion de l’outil que vous créez et utilisez pour vous connecter. Pour plus d’informations, consultez la documentation relative aux options de connexion pour chaque pilote :
+ [Options de configuration du pilote JDBC version 2.x](jdbc20-configuration-options.md)
+ [Options du pilote ODBC](odbc20-configuration-options.md)
+ [Options de configuration du connecteur Amazon Redshift Python](python-configuration-options.md)

# Résolution des problèmes de connexion à l’aide de Amazon Redshift Query Editor V2
<a name="redshift-iam-access-control-idp-connect-troubleshooting"></a>

Cette liste détaille les erreurs les plus fréquentes et peut vous aider à vous connecter à votre base de données Redshift avec l'éditeur de requêtes v2, en utilisant une identité AWS IAM Identity Center.
+ Error: **Connection Issue: No Identity center session information available.** — Lorsque cette erreur se produit, vérifiez les paramètres de sécurité et de confidentialité de votre navigateur. Ces paramètres du navigateur, en particulier ceux relatifs aux cookies sécurisés, tels que la fonctionnalité Total Cookie Protection de Firefox, peuvent bloquer les tentatives de connexion entre Amazon Redshift Query Editor V2 et une base de données Redshift. Suivez les étapes de correction détaillées pour votre navigateur :
  + **Firefox** : actuellement, les cookies tiers sont bloqués par défaut. Cliquez sur le bouclier dans la barre d’adresse du navigateur et activez le bouton pour désactiver la protection améliorée contre le suivi pour l’éditeur de requêtes v2.
  + **Mode navigation privée de Chrome** : par défaut, le mode navigation privée de Chrome bloque les cookies tiers. Cliquez sur l’icône en forme d’œil dans la barre d’adresse pour autoriser les cookies tiers pour l’éditeur de requêtes v2. Après avoir modifié le paramètre pour autoriser les cookies, il est possible que l’icône en forme d’œil ne s’affiche pas dans la barre d’adresse.
  + **Safari** : sur un Mac, ouvrez l’application Safari. Choisissez **Paramètres**, puis **Paramètres avancés**. Activez pour désactiver : **Bloquer tous les cookies**.
  + **Edge** : choisissez **Paramètres**, puis choisissez **Cookies et autorisations du site**. Sélectionnez ensuite **Gérer et supprimer les cookies et les données du site**, puis désactivez **Bloquer les cookies tiers**.

  Si vous essayez de vous connecter après avoir modifié les paramètres et que le message d'erreur **Problème de connexion persiste : aucune information de session du centre d'identité n'est disponible**, nous vous recommandons d'actualiser votre connexion avec AWS IAM Identity Center. Pour ce faire, cliquez avec le bouton droit sur votre instance de base de données Redshift et choisissez **Actualiser**. Une nouvelle fenêtre apparaît, dans laquelle vous pouvez vous authentifier.
+ Error: **Connection issue: Identity center session expired or invalid.** — Suite à l'intégration d'un cluster provisionné par Redshift ou d'un groupe de travail sans serveur à AWS IAM Identity Center, un utilisateur peut recevoir cette erreur lorsqu'il tente de se connecter à une base de données Redshift depuis l'éditeur de requêtes v2. Cela peut faire suite à des tentatives de connexion réussies. Dans ce cas, nous vous recommandons de vous authentifier à nouveau. Pour ce faire, cliquez avec le bouton droit sur votre instance de base de données Redshift et choisissez **Actualiser**. Une nouvelle fenêtre apparaît, dans laquelle vous pouvez vous authentifier.
+ Error: **Invalid scope. User credentials are not authorized to connect to Redshift.** — Suite à l'intégration d'un cluster provisionné par Redshift ou d'un groupe de travail sans serveur à AWS IAM Identity Center pour la gestion des identités, un utilisateur peut recevoir cette erreur lorsqu'il tente de se connecter à une base de données Redshift depuis l'éditeur de requêtes v2. Dans ce cas, pour que l'éditeur de requêtes v2 puisse correctement connecter et authentifier un utilisateur via AWS IAM Identity Center afin d'accéder aux ressources appropriées, un administrateur doit affecter l'utilisateur à l'application Redshift AWS IAM Identity Center via la console Redshift. Ceci est effectué dans le cadre des **Connexions IAM Identity Center**. Ensuite, l'utilisateur peut établir une connexion réussie au bout d'une heure, ce qui est la limite de mise en cache de session AWS IAM Identity Center.
+ Error: **Databases couldn’t be listed. FATAL: Failed query when cluster is auto paused.** — Lorsqu'une base de données Amazon Redshift Serverless est inactive et ne traite aucune charge de travail, elle peut rester suspendue lorsque vous vous connectez à une AWS identité IAM Identity Center. Pour y remédier, connectez-vous à l’aide d’une autre méthode d’authentification afin de reprendre le groupe de travail sans serveur. Connectez-vous ensuite à la base de données avec votre identité AWS IAM Identity Center.
+ Error: **An error occurred during the attempt to federate with AWS IAM Identity Center. Un administrateur Amazon Redshift doit supprimer et recréer l' QEV2application AWS IAM Identity Center à l'aide de la console Redshift.** — Cette erreur se produit généralement lorsque l'instance d'application AWS IAM Identity Center associée à l'éditeur de requêtes v2 est supprimée. Pour y remédier, un administrateur Amazon Redshift doit supprimer et recréer les applications Redshift et Query Editor v2 pour IAM Identity Center. AWS Cela peut être effectué sur la console Redshift ou à l’aide de la commande CLI [https://docs.aws.amazon.com/cli/latest/reference/redshift/delete-redshift-idc-application.html](https://docs.aws.amazon.com/cli/latest/reference/redshift/delete-redshift-idc-application.html).

# Utilisation des rôles liés à un service pour Amazon Redshift
<a name="using-service-linked-roles"></a>

[Amazon Redshift utilise des rôles liés à un Gestion des identités et des accès AWS service (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Un rôle lié à un service est un type unique de rôle IAM lié directement à Amazon Redshift. Les rôles liés aux services sont prédéfinis par Amazon Redshift et incluent toutes les autorisations requises par le service pour AWS appeler des services au nom de votre cluster Amazon Redshift. 

Un rôle lié à un service facilite la configuration d’Amazon Redshift, car vous n’avez pas à ajouter manuellement les autorisations nécessaires. Le rôle est lié aux cas d’utilisation d’Amazon Redshift et dispose de permissions prédéfinies. Seul Amazon Redshift peut endosser le rôle, et seul le rôle lié au service peut utiliser la stratégie d’autorisations prédéfinie. Amazon Redshift crée un rôle lié à un service dans votre compte la première fois que vous créez un cluster ou un point de terminaison d’un VPC géré par Redshift. Vous pouvez supprimer le rôle lié au service uniquement après avoir supprimé tous les clusters Amazon Redshift ou points de terminaison d’un VPC géré par Redshift de votre compte. Vos ressources Amazon Redshift sont ainsi protégées, car vous ne pouvez pas involontairement supprimer les autorisations nécessaires pour y accéder.

Amazon Redshift prend en charge l’utilisation de rôles liés à un service dans toutes les régions où le service est disponible. Pour plus d’informations, consultez [Régions et points de terminaison AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html?id=docs_gateway#redshift_region).

Pour plus d'informations sur les autres services qui prennent en charge les rôles liés à un service, consultez [AWS services that work with IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) (Services AWS fonctionnant avec IAM) et recherchez les services avec un **Yes **(Oui) dans la colonne **Service-Linked Role** (Rôle lié à un service). Choisissez un **Oui** ayant un lien permettant de consulter les détails du rôle pour ce service.

## Autorisations du rôle lié à un service pour Amazon Redshift
<a name="service-linked-role-permissions"></a>

Amazon Redshift utilise le rôle lié au service nommé — Permet à **AWSServiceRoleForRedshift**Amazon Redshift d'appeler les services en votre nom. AWS Ce rôle lié à un service est attaché à la politique gérée suivante : `AmazonRedshiftServiceLinkedRolePolicy`. Pour obtenir des mises à jour de cette stratégie, consultez [Stratégies (prédéfinies) gérées par AWS pour Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html#redshift-policy-resources.managed-policies).

Le rôle AWSService RoleForRedshift lié au service fait confiance uniquement **redshift.amazonaws.com** pour assumer le rôle.

La politique d'autorisation des rôles AWSService RoleForRedshift liés au service permet à Amazon Redshift d'effectuer les opérations suivantes sur toutes les ressources associées :
+ `ec2:DescribeVpcs `
+ `ec2:DescribeSubnets `
+ `ec2:DescribeNetworkInterfaces `
+ `ec2:DescribeAddress `
+ `ec2:AssociateAddress `
+ `ec2:DisassociateAddress `
+ `ec2:CreateNetworkInterface `
+ `ec2:DeleteNetworkInterface `
+ `ec2:ModifyNetworkInterfaceAttribute`
+ `ec2:CreateVpcEndpoint`
+ `ec2:DeleteVpcEndpoints`
+ `ec2:DescribeVpcEndpoints`
+ `ec2:ModifyVpcEndpoint`
+ `ec2:DescribeVpcAttribute`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeInternetGateways`
+ `ec2:DescribeSecurityGroupRules`
+ `ec2:DescribeAvailabilityZones`
+ `ec2:DescribeNetworkAcls`
+ `ec2:DescribeRouteTables`
+ `ec2:AssignIpv6Addresses`
+ `ec2:UnassignIpv6Addresses`

**Autorisations pour les ressources réseau**

Les autorisations suivantes permettent d’effectuer des actions de création et de gestion de règles de groupe de sécurité dans Amazon EC2. Ces groupes et règles de sécurité sont spécifiquement associés à la balise de ressource Amazon Redshift `aws:RequestTag/Redshift`. Cela permet de limiter l’étendue des autorisations à des ressources Amazon Redshift spécifiques.
+ `ec2:CreateSecurityGroup`
+ `ec2:AuthorizeSecurityGroupEgress`
+ `ec2:AuthorizeSecurityGroupIngress`
+ `ec2:RevokeSecurityGroupEgress`
+ `ec2:RevokeSecurityGroupIngress`
+ `ec2:ModifySecurityGroupRules`
+ `ec2:DeleteSecurityGroup`

**Autorisations pour les quotas de service**

Les autorisations suivantes permettent à l’appelant d’obtenir des quotas de service.

`servicequotas:GetServiceQuota`

Le fragment JSON suivant montre l’action et l’étendue des ressources pour les quotas de service.

```
{
   "Sid": "ServiceQuotasToCheckCustomerLimits",
   "Effect": "Allow",
   "Action": [
      "servicequotas:GetServiceQuota"
   ],
   "Resource": [
      "arn:aws:servicequotas:*:*:ec2/L-0263D0A3",
      "arn:aws:servicequotas:*:*:vpc/L-29B6F2EB" 
   ]
}
```

Les codes de quota sont les suivants :
+ *L-0263D0A3* — Le code de quota pour EC2-VPC Elastic. IPs
+ *L-29B6F2EB* : le code de quota pour les points de terminaison d’un VPC d’interface par VPC.

Pour plus d’informations, consultez [Quotas de service AWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html).

**Actions pour la journalisation des audits**

Les actions répertoriées avec le préfixe `logs` concernent la journalisation des audits et les fonctions associées. Plus précisément, la création et la gestion de groupes de journaux et de flux de journaux.
+ `logs:CreateLogGroup`
+ `logs:PutRetentionPolicy`
+ `logs:CreateLogStream`
+ `logs:PutLogEvents`
+ `logs:DescribeLogStreams`
+ `logs:GetLogEvents`

Le fichier JSON suivant affiche la portée des actions et des ressources, à Amazon Redshift, pour la journalisation des audits.

```
[
    {
        "Sid": "EnableCreationAndManagementOfRedshiftCloudwatchLogGroups",
        "Effect": "Allow",
        "Action": [
            "logs:CreateLogGroup",
            "logs:PutRetentionPolicy"
        ],
        "Resource": [
            "arn:aws:logs:*:*:log-group:/aws/redshift/*"
        ]
    },
    {
        "Sid": "EnableCreationAndManagementOfRedshiftCloudwatchLogStreams",
        "Effect": "Allow",
        "Action": [
            "logs:CreateLogStream",
            "logs:PutLogEvents",
            "logs:DescribeLogStreams",
            "logs:GetLogEvents"
        ],
        "Resource": [
            "arn:aws:logs:*:*:log-group:/aws/redshift/*:log-stream:*"
        ]
    }
]
```

Pour plus d'informations sur les rôles liés à un service et leur fonction dans AWS, consultez la section [Utilisation des rôles liés à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html). Pour plus d’informations sur des actions spécifiques et d’autres ressources IAM pour Amazon Redshift, consultez [Actions, ressources et clés de condition pour Amazon Redshift](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshift.html).

**Actions de gestion des informations d'identification d'administrateur avec AWS Secrets Manager**

Les actions répertoriées avec le préfixe `secretsmanager` concernent l’utilisation d’Amazon Redshift pour gérer vos informations d’identification d’administrateur. Ces actions permettent à Amazon Redshift de créer et de gérer AWS Secrets Manager les secrets de vos informations d'identification d'administrateur. 

Le JSON suivant indique les actions et l'étendue des ressources, pour Amazon Redshift, pour la gestion des informations d'identification d'administrateur avec. AWS Secrets Manager

```
[
    {
        "Effect": "Allow",
        "Action": [
            "secretsmanager:DescribeSecret",
            "secretsmanager:DeleteSecret",
            "secretsmanager:PutSecretValue",
            "secretsmanager:UpdateSecret",
            "secretsmanager:UpdateSecretVersionStage",
            "secretsmanager:RotateSecret"
        ],
        "Resource": [
            "arn:aws:secretsmanager:*:*:secret:redshift!*"
        ],
        "Condition": {
            "StringEquals": {
                "secretsmanager:ResourceTag/aws:secretsmanager:owningService": "redshift"
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": [
            "secretsmanager:GetRandomPassword"
        ],
        "Resource": "*"
    }
]
```

**Actions d'enregistrement de clusters et d'espaces de noms sans serveur auprès du AWS Glue Data Catalog**

Les actions répertoriées avec le `glue` préfixe concernent l'accès aux catalogues créés à partir de l'enregistrement de clusters provisionnés AWS Glue Data Catalog ou d'espaces de noms sans serveur. Pour plus d’informations, consultez [Compatibilité d’Apache Iceberg pour Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/iceberg-integration_overview.html) dans le *Guide du développeur de base de données Amazon Redshift*.

Le fichier JSON suivant affiche la portée des actions et des ressources, à Amazon Redshift, pour accéder aux catalogues dans le AWS Glue Data Catalog : 

```
[
    {
        "Sid": "DiscoverRedshiftCatalogs",
        "Effect": "Allow",
        "Action": [
            "glue:GetCatalogs",
            "glue:GetCatalog"
        ],
        "Resource": [
            "arn:aws:glue:*:*:catalog",
            "arn:aws:glue:*:*:catalog/*"
        ], 
   "Condition": 
    { 
        "Bool": 
        { 
            "glue:EnabledForRedshiftAutoDiscovery": "true"
        },
        "StringEquals": {
             "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
    } 
 }, 
 {
    "Sid": "LakeFormationGetMetadataAccessForFederatedCatalogs",
    "Effect": "Allow", 
    "Action": [ 
        "lakeformation:GetDataAccess"
    ], 
    "Resource": [ "*" ], 
    "Condition": 
    { 
        "Bool": 
        {
            "lakeformation:EnabledOnlyForMetaDataAccess":"true"
        },
        "StringEquals": {
             "aws:ResourceAccount": "${aws:PrincipalAccount}"
        },
        "ForAnyValue:StringEquals": 
        { 
            "aws:CalledVia": "glue.amazonaws.com"
        } 
    }
 }
    }
]
```

Les autorisations `glue:GetCatalog` et `glue:GetCatalogs` sont soumises à une condition `glue:EnabledForRedshiftAutoDiscovery:true`, ce qui signifie qu’Amazon Redshift accorde l’accès à IAM pour la découverte automatique des catalogues. Pour vous désinscrire, ajoutez une politique de ressources AWS Glue au niveau du compte afin de refuser de manière sélective l'accès aux catalogues aux rôles liés au service. Étant donné que le rôle lié au service comporte déjà une action d’autorisation explicite dans la politique, la politique de désinscription doit explicitement refuser cette action. Prenez l’exemple suivant, où une politique supplémentaire refuse la découverte automatique pour Amazon Redshift : 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : {
            "Effect": "Deny",
            "Action": [
                "glue:GetCatalog",
                "glue:GetCatalogs"
            ],
            "Principal" : {
            "AWS" : "arn:aws:iam::111122223333:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift"
            },
            "Resource": [
                "arn:aws:glue:*:*:catalog/<s3_table_catalog_name>",
                "arn:aws:glue:*:*:catalog/<s3_table_catalog_name>/*"
            ]
        }
}
```

------

**Pour autoriser une entité IAM à créer des rôles liés à un AWSService RoleForRedshift service**

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole"      
    ],
    "Resource": "arn:aws:iam::<AWS-account-ID>:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift",
    "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}}
}
```

**Pour autoriser une entité IAM à supprimer des rôles liés à un AWSService RoleForRedshift service**

Ajoutez la déclaration de stratégie suivante aux autorisations de cette entité IAM :

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::<AWS-account-ID>:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift",
    "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}}
}
```

Vous pouvez également utiliser une politique AWS gérée pour [fournir un accès complet](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftFullAccess) à Amazon Redshift.

## Création d’un rôle lié à un service pour Amazon Redshift
<a name="create-service-linked-role"></a>

Il n'est pas nécessaire de créer manuellement un rôle AWSService RoleForRedshift lié à un service. Amazon Redshift crée automatiquement le rôle lié au service. Si le rôle AWSService RoleForRedshift lié au service a été supprimé de votre compte, Amazon Redshift le crée lorsque vous lancez un nouveau cluster Amazon Redshift.

**Important**  
Si vous avez utilisé le service Amazon Redshift avant le 18 septembre 2017, date à laquelle il a commencé à prendre en charge les rôles liés au service, Amazon Redshift a créé le rôle dans votre compte. AWSService RoleForRedshift Pour en savoir plus, consultez [Un nouveau rôle est apparu dans mon compte IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared). 

## Modification d’un rôle lié à un service pour Amazon Redshift
<a name="edit-service-linked-role"></a>

Amazon Redshift ne vous permet pas de modifier le rôle lié au AWSService RoleForRedshift service. Une fois que vous avez créé un rôle lié à un service, vous ne pouvez pas changer le nom du rôle, car plusieurs entités peuvent faire référence au rôle. Vous pouvez toutefois modifier la description du rôle à l'aide de la console IAM, du AWS Command Line Interface (AWS CLI) ou de l'API IAM. Pour plus d’informations, consultez [Modification d’un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) dans le *Guide de l’utilisateur IAM*.

## Suppression d’un rôle lié à un service pour Amazon Redshift
<a name="delete-service-linked-role"></a>

Si vous n’avez plus besoin d’utiliser une fonction ou un service qui nécessite un rôle lié à un service, nous vous recommandons de supprimer ce rôle. De cette façon, vous n’avez aucune entité inutilisée qui n’est pas surveillée ou gérée activement. 

Avant de pouvoir supprimer un rôle lié à un service pour un compte, vous devez arrêter et supprimer tous les clusters du compte. Pour de plus amples informations, veuillez consulter [Arrêt et suppression d’un cluster](rs-mgmt-shutdown-delete-cluster.md).

Vous pouvez utiliser la console IAM AWS CLI, ou l'API IAM pour supprimer un rôle lié à un service. Pour plus d’informations, consultez la section [Suppression d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dans le *Guide de l’utilisateur IAM*.

# Utilisation de l’authentification IAM pour générer des informations d’identification de l’utilisateur de base de données
<a name="generating-user-credentials"></a>

Vous pouvez générer des informations d'identification de base de données temporaires basées sur les autorisations accordées par le biais d'une politique d'autorisations Gestion des identités et des accès AWS (IAM) pour gérer l'accès de vos utilisateurs à votre base de données Amazon Redshift. 

Généralement, les utilisateurs de base de données Amazon Redshift se connectent à la base de données en fournissant un nom d'utilisateur de base de données et un mot de passe. Toutefois, vous n'avez pas à conserver les noms d'utilisateur et les mots de passe dans votre base de données Amazon Redshift. Vous pouvez également configurer votre système de manière à permettre aux utilisateurs de créer des informations d'identification utilisateur et de se connecter aux bases de données en fonction de leurs informations d'identification IAM.

Amazon Redshift fournit l'opération d'[GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html)API permettant de générer des informations d'identification utilisateur temporaires pour la base de données. Vous pouvez configurer votre client SQL avec les pilotes Amazon Redshift JDBC ou ODBC qui gèrent le processus d'appel de l'opération `GetClusterCredentials`. Pour ce faire, ils récupèrent les informations d'identification de l'utilisateur de la base de données et établissent une connexion entre votre client SQL et votre base de données Amazon Redshift. Vous pouvez également utiliser votre application de base de données pour appeler par programmation l'opération `GetClusterCredentials`, récupérer les informations d'identification de l'utilisateur de base de données et vous connecter à la base de données. 

Si vous gérez déjà les identités des utilisateurs en externe AWS, vous pouvez utiliser un fournisseur d'identité (IdP) compatible avec le langage SAML (Security Assertion Markup Language) 2.0 pour gérer l'accès aux ressources Amazon Redshift. Vous pouvez configurer votre IdP de manière à permettre à vos utilisateurs fédérés d'accéder à un rôle IAM. Avec ce rôle IAM, vous pouvez générer des informations d'identification temporaires de base de données et vous connecter aux bases de données Amazon Redshift. 

Votre client SQL a besoin d'une autorisation pour appeler l'opération `GetClusterCredentials` pour vous. Vous gérez ces autorisations en créant un rôle IAM et en attachant une politique d'autorisations IAM qui accorde ou restreint l'accès à l'opération `GetClusterCredentials` et aux actions associées. Il est recommandé d’associer des politiques d’autorisation à un rôle IAM, puis de l’attribuer à des utilisateurs et à des groupes, le cas échéant. Pour plus d’informations, consultez [Identity and Access Management dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html).

La politique accorde ou restreint également l'accès à des ressources spécifiques, telles que des clusters Amazon Redshift, des bases de données, des noms d'utilisateur de base de données et des noms de groupes d'utilisateurs. 

**Note**  
Nous vous recommandons d'utiliser les pilotes Amazon Redshift JDBC ou ODBC pour gérer le processus d'appel de l'opération `GetClusterCredentials` et de connexion à la base de données. Pour plus de simplicité, nous supposons que vous utilisez un client SQL avec les pilotes JDBC ou ODBC dans cette rubrique.   
Pour des détails spécifiques et des exemples d'utilisation de l'`GetClusterCredentials`opération ou de la commande parallel `get-cluster-credentials` CLI, reportez-vous [GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html)aux sections et [get-cluster-credentials](https://docs.aws.amazon.com/cli/latest/reference/redshift/get-cluster-credentials.html).

Pour gérer l'authentification et l'autorisation de manière centralisée, Amazon Redshift prend en charge l'authentification de base de données avec IAM, ce qui permet l'authentification des utilisateurs via la fédération d'entreprise. Au lieu de créer un utilisateur, vous pouvez utiliser des identités existantes provenant de AWS Directory Service l'annuaire des utilisateurs de votre entreprise ou d'un fournisseur d'identité Web. Ils sont appelés utilisateurs fédérés. AWS attribue un rôle à un utilisateur fédéré lorsque l'accès est demandé par le biais d'un IdP. 

Pour fournir un accès fédéré à un utilisateur ou une application client dans votre organisation pour appeler les opérations de l'API Amazon Redshift, vous pouvez également utiliser le pilote JDBC ou ODBC avec la prise en charge de SAML 2.0 pour demander l'authentification de l'IdP de votre organisation. Dans ce cas, les utilisateurs de l'organisation ne disposent pas d'un accès direct à Amazon Redshift.

Pour plus d’informations, veuillez consulter la rubrique [Fournisseurs d’identité et fédération](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) dans le *Guide de l’utilisateur IAM*.

# Création d’informations d’identification temporaires IAM
<a name="generating-iam-credentials-steps"></a>

Dans cette section, vous trouverez les étapes de configuration de votre système pour générer des informations temporaires d'identification de l'utilisateur de base de données basées sur IAM et vous connecter à votre base de données à l'aide de ces nouvelles informations d'identification.

Au niveau général, le processus se déroule comme suit :

1. [Étape 1 : créer un rôle IAM pour un accès IAM par authentification unique](#generating-iam-credentials-sso-role)

   (Facultatif) Vous pouvez authentifier des utilisateurs pour l'accès à une base de données Amazon Redshift en intégrant l'authentification IAM et un fournisseur d'identité (IdP) tiers. 

1. [Étape 2 : Configurer des assertions SAML pour votre IdP](#configuring-saml-assertions)

   (Facultatif) Pour utiliser l'authentification IAM à l'aide d'un IdP, vous devez définir une règle de demande dans votre application d'IdP qui mappe des utilisateurs ou des groupes de votre organisation au rôle IAM. Le cas échéant, vous pouvez inclure des éléments d'attribut pour définir des paramètres `GetClusterCredentials`.

1. [Étape 3 : créer un rôle IAM autorisé à appeler GetClusterCredentialsWith IAM ou GetClusterCredentials](#generating-iam-credentials-role-permissions)

   Votre application client SQL assume l'utilisateur lorsqu'elle appelle l'opération `GetClusterCredentials`. Si vous avez créé un rôle IAM pour l'accès au fournisseur d'identité, vous pouvez ajouter l'autorisation nécessaire à ce rôle.

1. [Étape 4 : Créer un utilisateur de base de données et des groupes de bases de données](#generating-iam-credentials-user-and-groups)

   (Facultatif) Par défaut, `GetClusterCredentials` renvoie les informations d'identification pour créer un nouvel utilisateur si le nom d'utilisateur n'existe pas. Vous pouvez également choisir de spécifier les groupes d'utilisateurs que les utilisateurs rejoignent lors de la connexion. Par défaut, les utilisateurs de base de données rejoignent le groupe PUBLIC.

1. [Étape 5 : Configurer une connexion JDBC ou ODBC pour utiliser des informations d'identification IAM](#generating-iam-credentials-configure-jdbc-odbc)

   Afin de vous connecter à votre base de données Amazon Redshift, vous configurez votre client SQL pour utiliser un pilote Amazon Redshift JDBC ou ODBC . 

## Étape 1 : créer un rôle IAM pour un accès IAM par authentification unique
<a name="generating-iam-credentials-sso-role"></a>

Si vous n'utilisez pas de fournisseur d'identité pour l'accès avec authentification unique, vous pouvez ignorer cette étape.

Si vous gérez déjà les identités des utilisateurs en dehors de AWS, vous pouvez authentifier les utilisateurs pour accéder à une base de données Amazon Redshift en intégrant l'authentification IAM et un fournisseur d'identité (IdP) SAML-2.0 tiers. 

Pour plus d’informations, veuillez consulter la rubrique [Fournisseurs d’identité et fédération](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) dans le *Guide de l’utilisateur IAM*.

Avant de pouvoir utiliser l'authentification IdP Amazon Redshift, créez un AWS fournisseur d'identité SAML. Vous créez un IdP dans la console IAM pour fournir des informations sur AWS l'IdP et sa configuration. Cela permet d'établir un lien de confiance entre votre AWS compte et l'IdP. Pour connaître les étapes de création d'un rôle, veuillez consulter la rubrique [Création d'un rôle pour la fédération SAML 2.0 (Console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html?icmpid=docs_iam_console) dans le *Guide de l'utilisateur IAM*.

## Étape 2 : Configurer des assertions SAML pour votre IdP
<a name="configuring-saml-assertions"></a>

Une fois que vous avez créé le rôle IAM, vous définissez une règle de demande dans votre application d'IdP qui mappe des utilisateurs ou des groupes de votre organisation au rôle IAM. Pour plus d'informations, veuillez consulter la rubrique [Configuration des assertions SAML pour la réponse d'authentificatio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html)n dans le *Guide de l'utilisateur IAM*.

Si vous choisissez d'utiliser les paramètres `GetClusterCredentials` facultatifs `DbUser`, `AutoCreate` et `DbGroups`, vous avez deux options. Vous pouvez définir les valeurs des paramètres avec votre connexion JDBC ou ODBC, ou vous pouvez définir les valeurs en ajoutant des éléments d'attribut SAML à votre IdP. Pour plus d'informations sur les paramètres `DbUser`, `AutoCreate` et `DbGroups`, consultez [Étape 5 : Configurer une connexion JDBC ou ODBC pour utiliser des informations d'identification IAM](#generating-iam-credentials-configure-jdbc-odbc).

**Note**  
Si vous utilisez la variable de politique IAM `${redshift:DbUser}`, comme décrit dans [Politiques en matière de ressources pour GetClusterCredentials](redshift-iam-access-control-identity-based.md#redshift-policy-resources.getclustercredentials-resources), la valeur pour `DbUser` est remplacée par la valeur récupérée par le contexte de demande de l'opération d'API. Les pilotes Amazon Redshift utilisent la valeur de la variable `DbUser` fournie par l'URL de connexion, plutôt que la valeur fournie comme attribut SAML.   
Pour sécuriser cette configuration, nous vous recommandons d'utiliser une condition dans une politique IAM pour valider la valeur `DbUser` en utilisant `RoleSessionName`. Vous pouvez trouver des exemples montrant comment définir une condition dans une politique IAM dans [Exemple 8 : stratégie IAM pour l'utilisation GetClusterCredentials](redshift-iam-access-control-identity-based.md#redshift-policy-examples-getclustercredentials).

Pour configurer votre IdP pour définir les paramètres `DbUser`, `AutoCreate` et `DbGroups`, incluez les éléments `Attribute` suivants :
+ Un `Attribute` élément dont l'`Name`attribut est défini sur « https://redshift.amazon.com/SAML/ Attributes/ DbUser »

  Définissez l'élément `AttributeValue` sur le nom d'un utilisateur qui se connectera à la base de données Amazon Redshift.

  La valeur de l'élément `AttributeValue` doit être en minuscules, commencer par une lettre, contenir seulement des caractères alphanumériques, des traits de soulignement ('\$1'), des signes plus ('\$1'), des points ('.'), des arobases ('@') ou des tirets ('-') et comporter moins de 128 caractères. Généralement, le nom d'utilisateur et un ID utilisateur (par exemple, bobsmith) ou une adresse e-mail (par exemple bobsmith@example.com). La valeur ne peut pas contenir d'espace (par exemple, un nom complet d'utilisateur comme Bob Smith).

  ```
  <Attribute Name="https://redshift.amazon.com/SAML/Attributes/DbUser">
      <AttributeValue>user-name</AttributeValue>
  </Attribute>
  ```
+ Un élément d'attribut dont l'attribut Name est défini sur « https://redshift.amazon.com/SAML/ Attributes/ AutoCreate »

  Définissez l' AttributeValue élément sur true pour créer un nouvel utilisateur de base de données s'il n'en existe aucun. Définissez la valeur AttributeValue sur false pour spécifier que l'utilisateur de base de données doit exister dans la base de données Amazon Redshift.

  ```
  <Attribute Name="https://redshift.amazon.com/SAML/Attributes/AutoCreate">
      <AttributeValue>true</AttributeValue>
  </Attribute>
  ```
+ Un `Attribute` élément dont l'`Name`attribut est défini sur « https://redshift.amazon.com/SAML/ Attributes/ DbGroups »

  Cet élément contient un ou plusieurs éléments `AttributeValue`. Définissez chaque élément `AttributeValue` sur un nom de groupe de bases de données que `DbUser` rejoint pendant la durée de la séance lorsqu'il se connecte à la base de données Amazon Redshift.

  ```
  <Attribute Name="https://redshift.amazon.com/SAML/Attributes/DbGroups">
      <AttributeValue>group1</AttributeValue>
      <AttributeValue>group2</AttributeValue>
      <AttributeValue>group3</AttributeValue>
  </Attribute>
  ```

## Étape 3 : créer un rôle IAM autorisé à appeler GetClusterCredentialsWith IAM ou GetClusterCredentials
<a name="generating-iam-credentials-role-permissions"></a>

Votre client SQL a besoin d'une autorisation pour appeler l'`GetClusterCredentials`opération ` GetClusterCredentialsWithIAM` or en votre nom. Pour fournir cette autorisation, vous créez un utilisateur ou un rôle et vous attachez une politique qui accorde les autorisations nécessaires. Les deux opérations sont disponibles pour obtenir les informations d'identification du cluster, mais leur méthode d'authentification diffère. ` GetClusterCredentialsWithIAM`utilise un rôle IAM, créant automatiquement un utilisateur de base de données mappé au rôle, ce qui est avantageux pour gérer les autorisations au niveau du rôle IAM, tout en `GetClusterCredentials` fournissant des informations d'identification pour un nom d'utilisateur donné dans la base de données. 

**Pour créer un rôle IAM autorisé à appeler GetClusterCredentialsWith IAM**

1. A l'aide du service IAM, créez un utilisateur ou un rôle. Vous pouvez aussi utiliser un utilisateur ou un rôle existant. Par exemple, si vous avez créé un rôle IAM pour l'accès au fournisseur d'identité, vous pouvez attacher les politiques IAM nécessaires à ce rôle. 

1. Attachez une politique d'autorisation avec l'autorisation d'appeler l'opération ` redshift:GetClusterCredentialsWithIAM`. L'exemple de politique suivant présente les options permettant d'autoriser le fonctionnement d'un cluster et d'une base de données spécifiques, de n'importe quelle base de données d'un cluster et de n'importe quelle base de données de n'importe quel cluster. 

   ```
   {
       "Version": "2012-10-17", 		 	 	 
       "Statement": [
           {
               "Sid": "SpecificClusterAndDBName",
               "Effect": "Allow",
               "Action": "redshift:GetClusterCredentialsWithIAM",
               "Resource": [
                   "arn:aws:redshift:us-east-1:123456789012:dbname:testcluster/testdatabase"
               ]
           },
           {
               "Sid": "SpecificClusterAndAnyDBName",
               "Effect": "Allow",
               "Action": "redshift:GetClusterCredentialsWithIAM",
               "Resource": "arn:aws:redshift:us-east-1:123456789012:dbname:examplecluster/*",
           },
           {
               "Sid": "AnyClusterAnyDatabase",
               "Effect": "Allow",
               "Action": "redshift:GetClusterCredentialsWithIAM",
               "Resource": "*"
           }
       ]
   }
   ```

**Pour créer un rôle IAM autorisé à appeler GetClusterCredentials**

1. A l'aide du service IAM, créez un utilisateur ou un rôle. Vous pouvez aussi utiliser un utilisateur ou un rôle existant. Par exemple, si vous avez créé un rôle IAM pour l'accès au fournisseur d'identité, vous pouvez attacher les politiques IAM nécessaires à ce rôle. 

1. Attachez une politique d'autorisation avec l'autorisation d'appeler l'opération `redshift:GetClusterCredentials`. En fonction des paramètres facultatifs que vous spécifiez, vous pouvez aussi autoriser ou restreindre des actions et des ressources supplémentaires dans votre politique :
   + Pour permettre à votre client SQL de récupérer l'ID, AWS la région et le port du cluster, incluez l'autorisation d'appeler l'`redshift:DescribeClusters`opération avec la ressource de cluster Redshift. 
   + Si vous utilisez l'option `AutoCreate`, incluez l'autorisation d'appeler `redshift:CreateClusterUser` avec la ressource `dbuser`. L'Amazon Resource Name (ARN) suivant spécifie le `dbuser` Amazon Redshift. Remplacez *`region`**`account-id`*, et par *`cluster-name`* les valeurs de votre AWS région, de votre compte et de votre cluster. Pour *`dbuser-name`*, spécifiez le nom d'utilisateur à utiliser pour se connecter à la base de données de cluster. 

     ```
     arn:aws:redshift:region:account-id:dbuser:cluster-name/dbuser-name
     ```
   + (Facultatif) Ajoutez un ARN qui spécifie la ressource Amazon Redshift `dbname` dans le format suivant. Remplacez *`region`**`account-id`*, et par *`cluster-name`* les valeurs de votre AWS région, de votre compte et de votre cluster. Pour `database-name`, spécifiez le nom d'une base de données à laquelle l'utilisateur se connectera. 

     ```
     arn:aws:redshift:region:account-id:dbname:cluster-name/database-name
     ```
   + Si vous utilisez l'option `DbGroups`, incluez la permission d'appeler l'opération `redshift:JoinGroup` avec la ressource Amazon Redshift `dbgroup` au format suivant. Remplacez *`region`**`account-id`*, et par *`cluster-name`* les valeurs de votre AWS région, de votre compte et de votre cluster. Pour `dbgroup-name`, spécifiez le nom d'un groupe d'utilisateurs que l'utilisateur rejoint lors de la connexion.

     ```
     arn:aws:redshift:region:account-id:dbgroup:cluster-name/dbgroup-name
     ```

Pour plus d’informations et d’exemples, consultez [Politiques en matière de ressources pour GetClusterCredentials](redshift-iam-access-control-identity-based.md#redshift-policy-resources.getclustercredentials-resources). 

## Étape 4 : Créer un utilisateur de base de données et des groupes de bases de données
<a name="generating-iam-credentials-user-and-groups"></a>

Vous pouvez aussi créer un utilisateur de base de données que vous utilisez pour vous connecter à la base de données de cluster. Si vous créez des informations d'identification utilisateur temporaires pour un utilisateur existant, vous pouvez désactiver le mot de passe de l'utilisateur pour forcer ce dernier à se connecter à l'aide du mot de passe temporaire. Vous pouvez aussi utiliser l'option `GetClusterCredentials` Autocreate pour créer automatiquement un utilisateur de base de données. 

Vous pouvez créer les groupes d'utilisateurs de bases de données avec les autorisations que vous souhaitez que l'utilisateur de base de données IAM rejoigne lors de la connexion. Lorsque vous appelez l'opération `GetClusterCredentials`, vous pouvez spécifier une liste de noms de groupes d'utilisateurs que le nouvel utilisateur rejoint lors de la connexion. Ces appartenances à des groupes sont valides uniquement pour les séances créées avec les informations d'identification générées à l'aide de la demande donnée.

**Pour créer un utilisateur de base de données et des groupes de bases de données**

1. Connectez-vous à votre base de données Amazon Redshift et créez un utilisateur de base de données en utilisant [CREATE USER](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) ou modifiez un utilisateur existant en utilisant [ALTER USER](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_USER.html). 

1. Vous pouvez aussi spécifier l'option PASSWORD DISABLE pour empêcher l'utilisateur d'utiliser un mot de passe. Lorsque le mot de passe d'un utilisateur est désactivé, l'utilisateur peut se connecter uniquement à l'aide d'informations d'identification temporaires. Si le mot de passe n'est pas désactivé, l'utilisateur peut se connecter avec le mot de passe ou à l'aide d'informations d'identification temporaires. Vous ne pouvez pas désactiver le mot de passe d'un super-utilisateur.

   Les utilisateurs ont besoin d'un accès programmatique s'ils souhaitent interagir avec AWS l'extérieur du AWS Management Console. La manière d'accorder un accès programmatique dépend du type d'utilisateur qui y accède AWS.

   Pour accorder aux utilisateurs un accès programmatique, choisissez l’une des options suivantes.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/generating-iam-credentials-steps.html)

   L'exemple suivant crée un utilisateur dont le mot de passe est désactivé.

   ```
   create user temp_creds_user password disable; 
   ```

   L'exemple suivant désactive le mot de passe pour un utilisateur existant. 

   ```
   alter user temp_creds_user password disable;
   ```

1. Créez des groupes d'utilisateurs de bases de données à l'aide de [CREATE GROUP](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_GROUP.html). 

1. Utilisez la commande [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) pour définir les privilèges d'accès pour les groupes.

## Étape 5 : Configurer une connexion JDBC ou ODBC pour utiliser des informations d'identification IAM
<a name="generating-iam-credentials-configure-jdbc-odbc"></a>

Vous pouvez configurer votre client SQL avec un pilote Amazon Redshift JDBC ou ODBC. Ce pilote gère le processus de création des informations d'identification de l'utilisateur de la base de données et l'établissement d'une connexion entre votre client SQL et votre base de données Amazon Redshift. 

Si vous utilisez un fournisseur d'identité pour l'authentification, spécifiez le nom d'un plugin de fournisseur d'informations d'identification. Les pilotes Amazon Redshift JDBC et ODBC comprennent des plugins pour les fournisseurs d'identité basés sur SAML suivants : 
+ Active Directory Federation Services (AD FS)
+ PingOne
+ Okta
+ Microsoft Azure AD

  Pour savoir comment configurer Microsoft Azure AD en tant que fournisseur d'identité, consultez [Configuration de l’authentification unique JDBC ou ODBC](setup-azure-ad-identity-provider.md). <a name="to-configure-a-jdbc-connection"></a>

**Pour configurer une connexion JDBC pour utiliser des informations d'identification IAM**

1. Téléchargez la dernière version du pilote JDBC d'Amazon Redshift depuis la page [Configuration d’une connexion pour la version 2.x du pilote JDBC pour Amazon Redshift](jdbc20-install.md).

1. Créez une URL JDBC avec les options d'informations d'identification IAM dans un des formats suivants. Pour utiliser l'authentification IAM, ajoutez `iam:` à l'URL Amazon Redshift JDBC après `jdbc:redshift:`, comme indiqué dans l'exemple suivant.

   ```
   jdbc:redshift:iam://
   ```

   Ajoutez `cluster-name`, `region` et `account-id`. Le pilote JDBC utilise les informations de votre compte IAM et le nom du cluster pour récupérer l'ID et la région du cluster. AWS Pour ce faire, votre utilisateur ou rôle doit être autorisé à appeler l'opération `redshift:DescribeClusters` avec le cluster spécifié. Si votre utilisateur ou votre rôle n'est pas autorisé à appeler l'`redshift:DescribeClusters`opération, incluez l'ID du cluster, AWS la région et le port, comme indiqué dans l'exemple suivant. Le numéro de port est facultatif.

   ```
   jdbc:redshift:iam://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev
   ```

1. Ajoutez des options JDBC pour fournir des informations d'identification IAM. Vous utilisez différentes combinaisons d'options JDBC pour fournir des informations d'identification IAM. Pour en savoir plus, consultez [Options JDBC et ODBC pour la création d’informations d’identification de l’utilisateur de base de données](options-for-providing-iam-credentials.md#jdbc-and-odbc-options-for-database-credentials).

   L'URL suivante indique l' AccessKeyID et SecretAccessKey le nom d'un utilisateur.

   ```
   jdbc:redshift:iam://examplecluster:us-west-2/dev?AccessKeyID=AKIAIOSFODNN7EXAMPLE&SecretAccessKey=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   ```

    L'exemple suivant spécifie un profil nommé qui contient les informations d'identification IAM.

   ```
   jdbc:redshift:iam://examplecluster:us-west-2/dev?Profile=user2
   ```

1. Ajoutez les options JDBC que le pilote JDBC utilise pour appeler l'opération d'API `GetClusterCredentials`. N'incluez pas ces options si vous appelez l'opération d'API `GetClusterCredentials` par programmation.

   L'exemple suivant inclut les options JDBC `GetClusterCredentials`.

   ```
   jdbc:redshift:iam://examplecluster:us-west-2/dev?plugin_name=com.amazon.redshift.plugin.AzureCredentialsProvider&UID=user&PWD=password&idp_tenant=my_tenant&client_secret=my_secret&client_id=my_id
   ```<a name="to-configure-an-odbc-connection"></a>

**Pour configurer une connexion ODBC pour utiliser des informations d'identification IAM**

Dans la procédure suivante, vous pouvez rechercher uniquement les étapes de configuration de l'authentification IAM. Pour connaître les étapes permettant d'utiliser l'authentification standard, avec un nom d'utilisateur de base de données et un mot de passe, consultez [Configuration d’une connexion pour le pilote ODBC version 2.x pour Amazon Redshift](odbc20-install.md).

1. Installez et configurez le dernier pilote OBDC Amazon Redshift pour votre système d'exploitation. Pour plus d'informations, consultez [Configuration d’une connexion pour le pilote ODBC version 2.x pour Amazon Redshift](odbc20-install.md).
**Important**  
La version du pilote ODBC Amazon Redshift doit être 1.3.6.1000 ou une version ultérieure.

1. Suivez les étapes pour votre système d'exploitation afin de configurer les paramètres de connexion.

1. Sur les systèmes d'exploitation Microsoft Windows, accédez à la fenêtre de configuration DNS du pilote ODBC Amazon Redshift.

   1. Sous **Paramètres de connexion**, saisissez les informations suivantes :
      + **Nom de la source de données** 
      + **Server (Serveur)** (facultatif) 
      + **Port** (facultatif) 
      + **Base de données** 

      Si votre utilisateur ou rôle est autorisé à appeler l'opération `redshift:DescribeClusters`, seuls le **nom de la source de données** et la **base de données** sont requis. Amazon Redshift utilise **ClusterId**une **région** pour obtenir le serveur et le port en appelant l'`DescribeCluster`opération. 

      Si votre utilisateur ou rôle n'a pas l'autorisation d'appeler l'opération `redshift:DescribeClusters`, spécifiez **Serveur** et **Port**.

   1. Sous **Authentication (Authentification)**, choisissez une valeur pour **Auth Type (Type d'authentification)**.

      Pour chaque type d'authentification, entrez les valeurs suivantes :  
AWS Profile  
Entrez les informations suivantes :   
      + **ClusterID** 
      + **Région** 
      + **Profile name (Nom de profil)** 

        Entrez le nom d'un profil dans un fichier de AWS configuration contenant les valeurs des options de connexion ODBC. Pour de plus amples informations, veuillez consulter [Utilisation d’un profil de configuration](options-for-providing-iam-credentials.md#using-configuration-profile). 
(Facultatif) Fournissez des détails sur les options que le pilote ODBC utilise pour appeler l'opération d'API `GetClusterCredentials` :   
      + **DbUser**
      + **Utilisateur AutoCreate**
      + **DbGroups**

        Pour de plus amples informations, veuillez consulter [Options JDBC et ODBC pour la création d’informations d’identification de l’utilisateur de base de données](options-for-providing-iam-credentials.md#jdbc-and-odbc-options-for-database-credentials).  
Informations d’identification IAM  
Entrez les informations suivantes :   
      + **ClusterID** 
      + **Région** 
      + **AccessKeyID** et **SecretAccessKey** 

        ID de clé d'accès et clé d'accès secrète pour le rôle IAM ou l'utilisateur configurées pour l'authentification de base de données IAM. 
      + **SessionToken** 

        **SessionToken**est requis pour un rôle IAM avec des informations d'identification temporaires. Pour plus d'informations, consultez [ Informations d'identification de sécurité temporaires](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html). 
Fournissez des détails sur les options que le pilote ODBC utilise pour appeler l'opération d'API `GetClusterCredentials` :  
      + **DbUser** (obligatoire) 
      + **Utilisateur AutoCreate** (facultatif) 
      + **DbGroups** (facultatif) 

        Pour de plus amples informations, veuillez consulter [Options JDBC et ODBC pour la création d’informations d’identification de l’utilisateur de base de données](options-for-providing-iam-credentials.md#jdbc-and-odbc-options-for-database-credentials).   
Identity Provider (Fournisseur d'identité) : AD FS  
Pour l'authentification Windows intégrée avec AD FS, laissez **User (Utilisateur)** et **Password (Mot de passe)** vides.  
Fournissez les détails sur l’IdP :  
      + **IdP Host (Hôte IdP)** 

        Nom de l’hôte du fournisseur d’identité d’entreprise. Ce nom ne doit pas inclure de barre oblique ( / ).
      + **IdP Port (Port IdP)** (facultatif)

        Port utilisé par le fournisseur d’identité. La valeur par défaut est 443. 
      + **Preferred Role (Rôle préféré)** 

        Un Amazon Resource Name (ARN) pour le rôle IAM provenant des éléments `AttributeValue` pour l’attribut `Role` dans l’assertion SAML. Collaborez avec votre administrateur IdP pour rechercher la valeur appropriée pour le rôle préféré. Pour plus d’informations, consultez [Étape 2 : Configurer des assertions SAML pour votre IdP](#configuring-saml-assertions).
(Facultatif) Fournissez des détails sur les options que le pilote ODBC utilise pour appeler l'opération d'API `GetClusterCredentials` :   
      + **DbUser** 
      + **Utilisateur AutoCreate** 
      + **DbGroups** 
Pour de plus amples informations, veuillez consulter [Options JDBC et ODBC pour la création d’informations d’identification de l’utilisateur de base de données](options-for-providing-iam-credentials.md#jdbc-and-odbc-options-for-database-credentials).   
Fournisseur d'identité : PingFederate  
Pour **User (Utilisateur)** et **Password (Mot de passe)**, entrez le nom d’utilisateur et le mot de passe de votre IdP.  
Fournissez les détails sur l’IdP :  
      + **IdP Host (Hôte IdP)** 

        Nom de l’hôte du fournisseur d’identité d’entreprise. Ce nom ne doit pas inclure de barre oblique ( / ).
      + **IdP Port (Port IdP)** (facultatif)

        Port utilisé par le fournisseur d’identité. La valeur par défaut est 443. 
      + **Preferred Role (Rôle préféré)** 

        Un Amazon Resource Name (ARN) pour le rôle IAM provenant des éléments `AttributeValue` pour l’attribut `Role` dans l’assertion SAML. Collaborez avec votre administrateur IdP pour rechercher la valeur appropriée pour le rôle préféré. Pour plus d’informations, consultez [Étape 2 : Configurer des assertions SAML pour votre IdP](#configuring-saml-assertions).
(Facultatif) Fournissez des détails sur les options que le pilote ODBC utilise pour appeler l'opération d'API `GetClusterCredentials` :   
      + **DbUser** 
      + **Utilisateur AutoCreate** 
      + **DbGroups** 
Pour de plus amples informations, veuillez consulter [Options JDBC et ODBC pour la création d’informations d’identification de l’utilisateur de base de données](options-for-providing-iam-credentials.md#jdbc-and-odbc-options-for-database-credentials).   
Identity Provider (Fournisseur d'identité) : Okta  
Pour **User (Utilisateur)** et **Password (Mot de passe)**, entrez le nom d’utilisateur et le mot de passe de votre IdP.  
Fournissez les détails sur l’IdP :  
      + **IdP Host (Hôte IdP)** 

        Nom de l’hôte du fournisseur d’identité d’entreprise. Ce nom ne doit pas inclure de barre oblique ( / ).
      + **IdP Port (Port IdP) ** 

        Cette valeur n'est pas utilisée par Okta. 
      + **Preferred Role (Rôle préféré)** 

        Un Amazon Resource Name (ARN) pour le rôle IAM provenant des éléments `AttributeValue` pour l'attribut `Role` dans l'assertion SAML. Collaborez avec votre administrateur IdP pour rechercher la valeur appropriée pour le rôle préféré. Pour plus d’informations, consultez [Étape 2 : Configurer des assertions SAML pour votre IdP](#configuring-saml-assertions).
      + **Okta App ID (ID de l'application Okta)** 

        ID d’une application Okta. La valeur de l'ID d'application suit "amazon\$1aws" dans le lien intégré de l'application Okta. Collaborez avec votre administrateur IdP pour obtenir cette valeur. 
(Facultatif) Fournissez des détails sur les options que le pilote ODBC utilise pour appeler l'opération d'API `GetClusterCredentials` :   
      + **DbUser** 
      + **Utilisateur AutoCreate** 
      + **DbGroups** 
Pour de plus amples informations, veuillez consulter [Options JDBC et ODBC pour la création d’informations d’identification de l’utilisateur de base de données](options-for-providing-iam-credentials.md#jdbc-and-odbc-options-for-database-credentials).   
Fournisseur d'identité : Azure AD  
Pour **User (Utilisateur)** et **Password (Mot de passe)**, entrez le nom d’utilisateur et le mot de passe de votre IdP.  
Pour **Cluster ID (ID de cluster)** et **Region (Région)**, entrez l'ID de cluster et la région AWS de votre cluster Amazon Redshift.   
Pour **Database (Base de données)**, entrez la base de données que vous avez créée pour votre cluster Amazon Redshift.  
Fournissez les détails sur l’IdP :  
      + **IdP Tenant (Locataire IdP)** 

        Le locataire utilisé pour Azure AD.
      + **Azure Client Secret (Secret client Azure)**

        Le secret client de l'application d'entreprise Amazon Redshift dans Azure. 
      + **Azure Client ID (ID client Azure)** 

        L'ID du client (ID de l'application) de l'application d'entreprise Amazon Redshift dans Azure.
(Facultatif) Fournissez des détails sur les options que le pilote ODBC utilise pour appeler l'opération d'API `GetClusterCredentials` :   
      + **DbUser** 
      + **Utilisateur AutoCreate** 
      + **DbGroups** 
Pour de plus amples informations, veuillez consulter [Options JDBC et ODBC pour la création d’informations d’identification de l’utilisateur de base de données](options-for-providing-iam-credentials.md#jdbc-and-odbc-options-for-database-credentials). 

# Options visant à fournir des informations d’identification IAM
<a name="options-for-providing-iam-credentials"></a>

Pour fournir des informations d'identification IAM pour une connexion JDBC ou ODBC, choisissez une des options suivantes.
+ **AWS profile** 

  Au lieu de saisir les valeurs d'informations d'identification sous la forme de paramètres JDBC ou ODBC, vous pouvez inclure les valeurs dans un profil nommé. Pour plus d'informations, consultez [Utilisation d’un profil de configuration](#using-configuration-profile).
+ **Informations d'identification IAM**

  Fournissez des valeurs pour l' AccessKeyID et SecretAccessKey, éventuellement, SessionToken sous la forme de paramètres JDBC ou ODBC. SessionToken est requis uniquement pour un rôle IAM doté d'informations d'identification temporaires. Pour de plus amples informations, veuillez consulter [Options JDBC et ODBC visant à fournir des informations d’identification IAM](#jdbc-options-for-providing-iam-credentials).
+ **Fédération du fournisseur d'identité** 

  Lorsque vous utilisez la fédération de fournisseurs d'identité pour permettre aux utilisateurs d'un fournisseur d'identité de s'authentifier auprès d'Amazon Redshift, spécifiez le nom d'un plugin de fournisseur d'informations d'identification. Pour plus d'informations, consultez [Plug-in de fournisseur d’informations](#using-credentials-provider-plugin).

  Les pilotes Amazon Redshift JDBC et ODBC incluent des plugins pour les fournisseurs d'informations d'identification de fédération d'identité basées sur SAML suivants : 
  + Microsoft Active Identity Federation Services (AD FS)
  + PingOne
  + Okta
  + Microsoft Azure Active Directory (Azure AD)

  Vous pouvez fournir le nom de plugin et les valeurs associées sous la forme de paramètres JDBC ou ODBC ou en utilisant un profil. Pour plus d’informations, consultez [Options de configuration du pilote JDBC version 2.x](jdbc20-configuration-options.md). 

Pour plus d’informations, consultez [Étape 5 : Configurer une connexion JDBC ou ODBC pour utiliser des informations d'identification IAM](generating-iam-credentials-steps.md#generating-iam-credentials-configure-jdbc-odbc).

## Utilisation d’un profil de configuration
<a name="using-configuration-profile"></a>

Vous pouvez fournir les options d'identification IAM et les `GetClusterCredentials` options sous forme de paramètres dans les profils nommés de votre fichier AWS de configuration. Fournissez le nom de profil, utilisez l'option Profil JDBC. La configuration est stockée dans un fichier nommé `config` ou un fichier nommé `credentials` dans un dossier nommé `.aws` dans votre répertoire personnel.

Pour un plugin de fournisseur d'informations d'identification basé sur SAML inclus dans un pilote JDBC ou ODBC d'Amazon Redshift, vous pouvez utiliser les paramètres décrits précédemment dans [Plug-in de fournisseur d’informations](#using-credentials-provider-plugin). Si `plugin_name` n'est pas utilisé, les autres options sont ignorées.

L'exemple suivant montre le fichier \$1/.aws/credentials avec deux profils.

```
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user2]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
session_token=AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd
QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU
9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz
+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
```

Pour utiliser les informations d'identification pour l'exemple `user2`, spécifiez `Profile=user2` dans l'URL JDBC.

Pour plus d'informations sur l'utilisation des profils, consultez [la section Configuration et paramètres des fichiers d'identification](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) dans le *Guide de l' AWS Command Line Interface utilisateur*. 

Pour plus d'informations sur l'utilisation des profils pour le pilote JDBC, consultez [Spécification des profils](jdbc20-configure-authentication-ssl.md#jdbc20-aws-credentials-profiles). 

Pour plus d'informations sur l'utilisation des profils pour le pilote ODBC, consultez [Méthodes d’authentification](odbc20-authentication-ssl.md). 

## Options JDBC et ODBC visant à fournir des informations d’identification IAM
<a name="jdbc-options-for-providing-iam-credentials"></a>

Le tableau suivant répertorie les Options JDBC et ODBC visant à fournir des informations d'identification IAM.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/options-for-providing-iam-credentials.html)

## Options JDBC et ODBC pour la création d’informations d’identification de l’utilisateur de base de données
<a name="jdbc-and-odbc-options-for-database-credentials"></a>

Pour utiliser le pilote JDBC ou ODBC Amazon Redshift pour créer des informations d'identification de l'utilisateur de base de données, fournissez le nom de l'utilisateur de la base de données en tant qu'option JDBC ou ODBC. Vous pouvez aussi faire en sorte que le pilote crée un nouvel utilisateur de base de données s'il n'en existe pas, et vous pouvez spécifier une liste de groupes d'utilisateurs de bases de données que l'utilisateur rejoint lors de la connexion. 

Si vous utilisez un fournisseur d'identité (IdP), collaborez avec votre administrateur IdP pour déterminer les valeurs correctes pour ces options. Votre administrateur IdP peut aussi configurer votre IdP pour fournir ces options, auquel cas il n'est pas nécessaire que vous les fournissiez en tant qu'options JDBC ou ODBC. Pour plus d’informations, consultez [Étape 2 : Configurer des assertions SAML pour votre IdP](generating-iam-credentials-steps.md#configuring-saml-assertions). 

**Note**  
Si vous utilisez la variable de politique IAM `${redshift:DbUser}`, comme décrit dans [Politiques en matière de ressources pour GetClusterCredentials](redshift-iam-access-control-identity-based.md#redshift-policy-resources.getclustercredentials-resources), la valeur pour `DbUser` est remplacée par la valeur récupérée par le contexte de demande de l'opération d'API. Les pilotes Amazon Redshift utilisent la valeur de la variable `DbUser` fournie par l'URL de connexion, plutôt que la valeur fournie comme attribut SAML.   
Pour sécuriser cette configuration, nous vous recommandons d'utiliser une condition dans une politique IAM pour valider la valeur `DbUser` avec le `RoleSessionName`. Vous pouvez trouver des exemples montrant comment définir une condition dans une politique IAM dans [Exemple 8 : stratégie IAM pour l'utilisation GetClusterCredentials](redshift-iam-access-control-identity-based.md#redshift-policy-examples-getclustercredentials).

Le tableau suivant répertorie les options à utiliser la création d'informations d'identification de l'utilisateur de base de données. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/options-for-providing-iam-credentials.html)

## Plug-in de fournisseur d’informations
<a name="using-credentials-provider-plugin"></a>

Amazon Redshift utilise des plugins de fournisseur d'informations d'identification pour l'authentification unique.

Pour prendre en charge l'authentification unique, Amazon Redshift fournit le plugin Azure AD pour Microsoft Azure Active Directory. Pour plus d'informations sur la configuration de ce plugin, consultez [Configuration de l’authentification unique JDBC ou ODBC](setup-azure-ad-identity-provider.md).

### Authentification multifacteur
<a name="setting_mfa"></a>

Pour prendre en charge l'authentification multifacteur (MFA), Amazon Redshift fournit des plugins basés sur un navigateur. Utilisez le plug-in SAML du navigateur pour Okta et PingOne le plug-in Azure AD du navigateur pour Microsoft Azure Active Directory.

Avec le plugin SAML du navigateur, OAuth l'authentification se déroule comme suit :

![\[OAuth des flux de travail expliquant comment le plugin, le serveur local, le navigateur Web et le point de terminaison fonctionnent ensemble pour authentifier un utilisateur à l'aide de l'authentification SAML.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/BrowserSAML_plugin.png)


1. Un utilisateur essaie de se connecter.

1. Le plugin lance un serveur local pour écouter les connexions entrantes sur le localhost.

1. Le plugin lance un navigateur Web pour demander une réponse SAML via HTTPS à partir du point de terminaison du fournisseur d'identité fédérée d'URL de connexion par authentification unique spécifié.

1. Le navigateur web suit le lien et invite l'utilisateur à entrer des informations d'identification.

1. Une fois que l'utilisateur s'authentifie et accorde son consentement, le point de terminaison du fournisseur d'identité fédérée renvoie une réponse SAML sur HTTPS à l'URI indiqué par `redirect_uri`.

1. Le navigateur web déplace le message de réponse avec la réponse SAML au `redirect_uri` indiqué.

1. Le serveur local accepte la connexion entrante et le plugin récupère la réponse SAML et la transmet à Amazon Redshift.

Avec le plugin Azure AD du navigateur, l'authentification SAML s'effectue comme suit :

![\[Des flux de travail Azure expliquant comment le plug-in, le serveur local, le navigateur Web et le point de terminaison fonctionnent ensemble pour authentifier un utilisateur à l’aide de l’authentification SAML.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/BrowserAzure_plugin.png)


1. Un utilisateur essaie de se connecter.

1. Le plugin lance un serveur local pour écouter les connexions entrantes sur le localhost.

1. Le plugin lance un navigateur web pour demander un code d'autorisation à partir du point de terminaison `oauth2/authorize` Azure AD.

1. Le navigateur web suit le lien généré via HTTPS et invite l'utilisateur à entrer des informations d'identification. Le lien est généré à l'aide des propriétés de configuration, telles que le locataire et client\$1id.

1. Une fois que l'utilisateur s'est authentifié et a accordé son consentement, le point de terminaison `oauth2/authorize` Azure AD est renvoyé et envoie une réponse via HTTPS avec le code d'autorisation au `redirect_uri` indiqué.

1. Le navigateur web déplace le message de réponse avec la réponse SAML au `redirect_uri` indiqué.

1. Le serveur local accepte la connexion entrante et le plugin demande et récupère le code d'autorisation et envoie une requête POST au point de terminaison `oauth2/token` Azure AD.

1. Le point de terminaison `oauth2/token` Azure AD renvoie une réponse avec un jeton d'accès au `redirect_uri` indiqué.

1. Le plugin récupère la réponse SAML et la transmet à Amazon Redshift.

Examinez les sections suivantes :
+ Active Directory Federation Services (AD FS)

  Pour de plus amples informations, veuillez consulter [Configuration de l’authentification unique JDBC ou ODBC](setup-azure-ad-identity-provider.md).
+ PingOne (Ping) 

  Le ping n'est pris en charge qu'avec l'adaptateur PingOne IdP prédéterminé utilisant l'authentification par formulaire. 

  Pour de plus amples informations, veuillez consulter [Configuration de l’authentification unique JDBC ou ODBC](setup-azure-ad-identity-provider.md).
+ Okta 

  Okta est pris en charge uniquement pour l'application fournie par Okta utilisée avec le AWS Management Console. 

  Pour plus d’informations, consultez [Configuration de l’authentification unique JDBC ou ODBC](setup-azure-ad-identity-provider.md).
+ Microsoft Azure Active Directory (Azure AD)

  Pour plus d’informations, consultez [Configuration de l’authentification unique JDBC ou ODBC](setup-azure-ad-identity-provider.md).

### Options de plug-in
<a name="configuring_plugin_options"></a>

Pour utiliser un plugin de fournisseur d'informations d'identification basées sur SAML, spécifiez les options suivantes à l'aide des options JDBC ou ODBC ou dans un profil nommé. Si `plugin_name` n'est pas spécifié, les autres options sont ignorées.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/options-for-providing-iam-credentials.html)

# Génération d’informations d’identification de base de données pour une identité IAM à l’aide de la CLI ou de l’API d’Amazon Redshift
<a name="generating-iam-credentials-cli-api"></a>

Pour générer par programmation des informations d'identification utilisateur temporaires de base de données, Amazon Redshift fournit [get-cluster-credentials](https://docs.aws.amazon.com/cli/latest/reference/redshift/get-cluster-credentials.html)la commande pour le AWS CLI() et AWS Command Line Interface [GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html)l'opération API. Ou vous pouvez configurer votre client SQL avec les pilotes Amazon Redshift JDBC ou ODBC qui gèrent le processus d'appel de l'opération `GetClusterCredentials`, la récupération des informations d'identification de l'utilisateur de la base de données et l'établissement d'une connexion entre votre client SQL et votre base de données Amazon Redshift. Pour plus d'informations, consultez [Options JDBC et ODBC pour la création d’informations d’identification de l’utilisateur de base de données](options-for-providing-iam-credentials.md#jdbc-and-odbc-options-for-database-credentials).

**Note**  
Nous vous recommandons d'utiliser les pilotes JDBC ou ODBC d'Amazon Redshift pour générer les informations d'identification des utilisateurs de la base de données.

Dans cette section, vous trouverez les étapes permettant d'appeler l'`GetClusterCredentials`opération ou la get-cluster-credentials commande par programme, de récupérer les informations d'identification de l'utilisateur de la base de données et de se connecter à la base de données.

**Pour générer et utiliser des informations d'identification temporaires de base de données**

1. Créez ou modifiez un utilisateur ou un rôle avec les autorisations requises. Pour plus d’informations sur les autorisations IAM, consultez [Étape 3 : créer un rôle IAM autorisé à appeler GetClusterCredentialsWith IAM ou GetClusterCredentials](generating-iam-credentials-steps.md#generating-iam-credentials-role-permissions).

1. En tant qu'utilisateur ou rôle que vous avez autorisé à l'étape précédente, exécutez la commande get-cluster-credentials CLI ou appelez l'opération `GetClusterCredentials` API et fournissez les valeurs suivantes :
   + **Identifiant du cluster** – Le nom du cluster qui contient la base de données.
   + **Nom d'utilisateur de la base de données** – Le nom d'un utilisateur de base de données, existant ou nouveau.
     + Si l'utilisateur n'existe pas dans la base de données et AutoCreate qu'il est vrai, un nouvel utilisateur est créé avec le MOT DE PASSE désactivé.
     +  Si l'utilisateur n'existe pas et qu' AutoCreate il est faux, la demande échoue. 
     + Pour cet exemple, le nom de l'utilisateur de la base de données est `temp_creds_user`. 
   +  **Autocreate** – (Facultatif) Créez un utilisateur si le nom de l'utilisateur de la base de données n'existe pas.
   +  **Nom de base de données** – (Facultatif) Le nom de la base de données à laquelle l'utilisateur est autorisé à se connecter. Si aucun nom de base de données n'est spécifié, l'utilisateur peut se connecter à n'importe quelle base de données de cluster.
   +  **Groupes de bases de données** – (Facultatif) Une liste des groupes d'utilisateurs de bases de données existants. Lorsque la connexion réussit, l'utilisateur de base de données est ajouté aux groupes d'utilisateurs spécifiés. Si aucun groupe n'est spécifié, l'utilisateur dispose uniquement des autorisations PUBLIC. Les noms des groupes d'utilisateurs doivent correspondre aux ressources dbgroup ARNs spécifiées dans la politique IAM attachée à l'utilisateur ou au rôle. 
   +  **Durée d'expiration** – (Facultatif) La durée, en secondes, après laquelle les informations d'identification temporaires expirent. Vous pouvez spécifier une valeur comprise entre 900 secondes (15 minutes) et 3 600 secondes (60 minutes). Le durée par défaut est 900 secondes.

1. Amazon Redshift vérifie que l'utilisateur dispose de l'autorisation pour appeler l'opération `GetClusterCredentials` avec les ressources spécifiées. 

1. Amazon Redshift renvoie un mot de passe temporaire et le nom de l'utilisateur de la base de données.

   L'exemple suivant utilise Amazon Redshift CLI pour générer des informations d'identification temporaires de base de données pour un utilisateur existant nommé `temp_creds_user`.

   ```
   aws redshift get-cluster-credentials --cluster-identifier examplecluster --db-user temp_creds_user --db-name exampledb --duration-seconds 3600
   ```

   Le résultat est le suivant.

   ```
   {
     "DbUser": "IAM:temp_creds_user", 
     "Expiration": "2016-12-08T21:12:53Z", 
     "DbPassword": "EXAMPLEjArE3hcnQj8zt4XQj9Xtma8oxYEM8OyxpDHwXVPyJYBDm/gqX2Eeaq6P3DgTzgPg=="
   }
   ```

   L'exemple suivant utilise Amazon Redshift CLI avec autocreate pour générer des informations d'identification temporaires de base de données pour un nouvel utilisateur et l'ajouter au groupe `example_group`.

   ```
   aws redshift get-cluster-credentials --cluster-identifier examplecluster --db-user temp_creds_user --auto-create --db-name exampledb --db-groups example_group --duration-seconds 3600
   ```

   Le résultat est le suivant.

   ```
   {
     "DbUser": "IAMA:temp_creds_user:example_group", 
     "Expiration": "2016-12-08T21:12:53Z", 
     "DbPassword": "EXAMPLEjArE3hcnQj8zt4XQj9Xtma8oxYEM8OyxpDHwXVPyJYBDm/gqX2Eeaq6P3DgTzgPg=="
   }
   ```

1. Établissez une connexion avec authentification SSL (Secure Socket Layer) avec le cluster Amazon Redshift et envoyez une demande de connexion avec le nom d'utilisateur et le mot de passe fournis par la réponse `GetClusterCredentials`. Incluez le préfixe `IAM:` ou `IAMA:` avec le nom d'utilisateur, par exemple, `IAM:temp_creds_user` ou `IAMA:temp_creds_user`.
**Important**  
Configurez votre client SQL pour exiger SSL. Sinon, si votre client SQL tente automatiquement de se connecter avec SSL, il peut utiliser à nouveau une connexion non-SSL en cas d'échec. Dans ce cas, la première tentative de connexion peut échouer parce que les informations d'identification ont expiré ou ne sont pas valides, et une seconde tentative de connexion peut échouer parce que la connexion n'est pas de type SSL. Si cela se produit, le premier message d'erreur peut être manqué. Pour plus d'informations sur la connexion à votre cluster à l'aide de SSL, consultez [Configuration des options de sécurité des connexions](connecting-ssl-support.md).

1. Si la connexion n'utilise pas SSL, la tentative de connexion échoue. 

1. Le cluster envoie une demande `authentication` au client SQL. 

1. Le client SQL envoie le mot de passe temporaire au cluster. 

1. Si le mot de passe est valide et n'a pas expiré, le cluster établit la connexion. 

# Configuration de l’authentification unique JDBC ou ODBC
<a name="setup-azure-ad-identity-provider"></a>

Vous pouvez utiliser des fournisseurs d'identité externes (IdPs) pour authentifier et autoriser les utilisateurs à accéder à votre cluster Amazon Redshift, en simplifiant la gestion des utilisateurs et en renforçant la sécurité. Cela permet une gestion centralisée des utilisateurs, un contrôle d’accès basé sur les rôles et des fonctionnalités d’audit sur plusieurs services. Les cas d’utilisation courants incluent la rationalisation de l’authentification pour différents groupes d’utilisateurs, l’application de stratégies d’accès cohérentes et le respect des exigences réglementaires. 

Les pages suivantes vous guident dans la configuration de l’intégration d’IdP avec votre cluster Redshift. *Pour plus d'informations sur la configuration AWS en tant que fournisseur de services pour l'IdP, consultez les sections [Configuration de votre IdP SAML 2.0 en toute confiance et ajout de réclamations dans le](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html#saml_relying-party) guide de l'utilisateur IAM.*

# AD FS
<a name="setup-identity-provider-adfs"></a>

Ce didacticiel vous montre comment vous pouvez utiliser AD FS en tant que fournisseur d’identité (IdP) pour accéder à votre cluster Amazon Redshift.

## Étape 1 : configurer AD FS et votre AWS compte pour qu'ils se fassent mutuellement confiance
<a name="setup-identity-provider-adfs-trust"></a>

 La procédure suivante explique comment configurer une relation d’approbation. 

1. Créez ou utilisez un cluster Amazon Redshift existant pour que vos utilisateurs AD FS puissent se connecter. Pour configurer la connexion, certaines propriétés de ce cluster sont nécessaires, telles que l’identifiant de cluster. Pour de plus amples informations, veuillez consulter [Création d'un cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Configurez AD FS pour contrôler l'accès à Amazon Redshift sur la Console de gestion Microsoft : 

   1. Choisissez **ADFS 2.0**, puis choisissez **Ajouter l'approbation de partie de confiance**. Dans la page **Assistant Ajout d'approbation de partie de confiance**, choisissez **Démarrer**.

   1. Sur la page **Sélectionner une source de données**, choisissez **Importer des données sur la partie de confiance publiées en ligne ou sur un réseau local**.

   1. Pour **Adresse de métadonnées de fédération (nom d'hôte ou URL)**, entrez **https://signin.aws.amazon.com/saml-metadata.xml**. Le fichier XML de métadonnées est un document de métadonnées SAML standard décrit AWS comme une partie utilisatrice.

   1. Dans la page **Spécifier un nom d'affichage**, entrez une valeur pour **Nom d'affichage**. 

   1. Sur la page **Choisir des règles d'autorisation** d'émission, choisissez une règle d'autorisation d'émission pour autoriser ou refuser à tous les utilisateurs l'accès à cette partie de confiance.

   1. Dans la page **Prêt à ajouter l'approbation**, vérifiez vos paramètres.

   1. Sur la page **Terminer**, choisissez **Ouvrir la boîte de dialogue Modifier les règles de revendication pour cette approbation de partie de confiance lorsque l'Assistant se ferme**.

   1. Dans le menu contextuel (clic droit), choisissez **Parties de confiance**.

   1. Pour votre partie de confiance, ouvrez le menu contextuel (clic droit) et choisissez **Modifier les règles de réclamation**. Dans la page **Modifier les règles de réclamation**, choisissez **Ajouter une règle**.

   1. Pour le **modèle de règle de réclamation**, choisissez **Transformer une réclamation entrante**, puis sur la NameId page **Modifier la règle**, procédez comme suit :
      + Dans **Nom de la règle de réclamation**, entrez **NameId**.
      + Pour **Nom de la réclamation entrante**, choisissez **Nom du compte Windows**.
      + Pour **Nom de la réclamation sortante**, choisissez **ID nom**.
      + Pour **Format d'ID de nom sortant**, choisissez **Identifiant persistant**.
      + Choisissez **Transférer toutes les valeurs de réclamation**.

   1. Dans la page **Modifier les règles de réclamation**, choisissez **Ajouter une règle**. Dans la page **Sélectionner un modèle de règle**, pour le **Modèle de règle de réclamation**, choisissez **Envoyer les attributs LDAP en tant que réclamations**.

   1. Sur la page **Configurer une règle**, exécutez les opérations suivantes :
      + Pour **Claim rule name** (Nom de la règle de revendication), saisissez **RoleSessionName**.
      + Pour **Attribute store (Magasin d'attributs)**, choisissez **Active Directory**.
      + Dans **Attribut LDAP**, sélectionnez **Adresses e-mail**.
      + Pour **Outgoing Claim Type** (Type de demande sortante), sélectionnez **https://aws.amazon.com/SAML/Attributes/RoleSessionName**.

   1. Dans la page **Modifier les règles de réclamation**, choisissez **Ajouter une règle**. Dans la page **Sélectionner un modèle de règle**, pour le **Modèle de règle de réclamation**, choisissez **Envoyer des réclamations à l’aide d’une règle personnalisée**.

   1. Dans la page **Modifier la règle — Obtenir les groupes AD** pour le **Nom de la règle de réclamation**, entrez **Obtenir les groupes AD**.

   1. Pour **Règle personnalisée**, entrez ce qui suit.

      ```
      c:[Type ==
                                          "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
                                          Issuer == "AD AUTHORITY"] => add(store = "Active Directory",
                                          types = ("http://temp/variable"), query = ";tokenGroups;{0}",
                                          param = c.Value);
      ```

   1. Dans la page **Modifier les règles de réclamation**, choisissez **Ajouter une règle**. Dans la page **Sélectionner un modèle de règle**, pour le **Modèle de règle de réclamation**, choisissez **Envoyer des réclamations à l’aide d’une règle personnalisée**.

   1. Dans la page **Modifier une règle — Rôles** pour **Nom de la règle de réclamation**, entrez **Rôles**.

   1. Pour **Règle personnalisée**, entrez ce qui suit.

      ```
      c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::123456789012:saml-provider/ADFS,arn:aws:iam::123456789012:role/ADFS-"));
      ```

      Notez le ARNs fournisseur SAML et le rôle à assumer. Dans cet exemple, `arn:aws:iam:123456789012:saml-provider/ADFS` est l'ARN du fournisseur SAML et `arn:aws:iam:123456789012:role/ADFS-` est l'ARN du rôle.

1. Assurez-vous que vous avez téléchargé le fichier `federationmetadata.xml`. Vérifiez que le contenu du document n'a pas de caractères non valides. Il s'agit du fichier de métadonnées que vous utilisez lors de la configuration de la relation d'approbation avec AWS. 

1. Créez un fournisseur d’identité SAML IAM sur la console IAM. Le document de métadonnées que vous fournissez est le fichier XML de métadonnées de fédération que vous avez enregistré lorsque vous avez configuré Azure Enterprise Application. Pour des étapes détaillées, veuillez consulter la rubrique [Création et gestion d'un fournisseur d'identité IAM (Console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) dans le *Guide de l'utilisateur IAM*. 

1. Créez un rôle IAM pour la fédération SAML 2.0 sur la console IAM. Pour des étapes détaillées, voir [Création d'un rôle pour SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) dans le *Guide de l'utilisateur IAM*. 

1. Créez une politique IAM que vous pouvez attacher au rôle IAM que vous avez créé pour la fédération SAML 2.0 sur la console IAM. Pour connaître la marche à suivre en détail, consultez [Création de politiques IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) dans le *Guide de l’utilisateur IAM*. Pour obtenir un exemple Azure AD, consultez [Configuration de l’authentification unique JDBC ou ODBC](setup-azure-ad-identity-provider.md). 

## Étape 2 : pour configurer JDBC ou ODBC pour l’authentification aux services AD FS
<a name="setup-identity-provider-adfs-auth"></a>

------
#### [ JDBC ]

 La procédure suivante explique comment configurer une relation JDBC avec AD FS. 
+ Configurez votre client de base de données pour qu'il se connecte à votre cluster via JDBC à l'aide de l'authentification unique AD FS. 

  Vous pouvez utiliser n'importe quel client qui utilise un pilote JDBC pour vous connecter à l'aide de l'authentification unique AD FS ou utiliser un langage comme Java pour vous connecter à l'aide d'un script. Pour plus d’informations sur l’installation et la configuration, consultez [Configuration d’une connexion pour la version 2.x du pilote JDBC pour Amazon Redshift](jdbc20-install.md).

  Par exemple, vous pouvez utiliser SQLWorkbench/J en tant que client. Lorsque vous configurez SQLWorkbench /J, l'URL de votre base de données utilise le format suivant.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Si vous l'utilisez SQLWorkbench/J en tant que client, suivez les étapes suivantes :

  1. Démarrez SQL Workbench/J. Dans la page **Sélectionner un profil de connexion**, ajoutez un **Groupe de profils**, par exemple **ADFS**.

  1. Dans **Profil de connexion**, entrez le nom de votre profil de connexion, par exemple **ADFS**.

  1. Choisissez **Manage Drivers (Gérer les pilotes)**, puis **Amazon Redshift**. Choisissez l’icône **Open Folder (Ouvrir le dossier)** en regard de **Library (Bibliothèque)**, puis choisissez le fichier JDBC .jar approprié. 

  1. Dans la page **Select Connection Profile (Sélectionner un profil de connexion)** ajoutez les informations suivantes au profil de connexion :
     + Pour **Utilisateur**, entrez votre nom d'utilisateur AD FS. Il s'agit du nom d'utilisateur du compte que vous utilisez pour l'authentification unique et qui a la permission du cluster que vous essayez d'utiliser pour vous authentifier.
     + Pour **Mot de passe**, entrez votre mot de passe AD FS.
     + Pour **Drivers (Pilotes)**, choisissez **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + Pour **URL**, entrez **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Sélectionnez **Extended Properties** (Propriétés étendues). Pour **plugin\$1name**, entrez **com.amazon.redshift.plugin.AdfsCredentialsProvider**. Cette valeur spécifie au pilote d'utiliser l'authentification unique Azure AD comme méthode d'authentification. 

------
#### [ ODBC ]

**Pour configurer ODBC pour l'authentification aux services AD FS**
+ Configurez votre client de base de données pour qu'il se connecte à votre cluster via ODBC à l'aide de l'authentification unique AD FS. 

  Amazon Redshift fournit des pilotes ODBC pour les systèmes d’exploitation Linux, Windows et macOS. Avant d’installer un pilote ODBC, déterminez si votre outil client SQL est en 32 bits ou en 64 bits. Installez le pilote ODBC qui correspond aux exigences de votre outil client SQL. 

  Sous Windows, dans la page **Amazon Redshift ODBC Driver DSN Setup (Configuration DSN du pilote ODBC Amazon Redshift)**, sous **Connection Settings (Paramètres de connexion)**, entrez les informations suivantes : 
  + Pour **Data Source Name (Nom de la source de données)**, entrez ***your-DSN***. Cela indique le nom de la source de données utilisé comme nom de profil ODBC. 
  + Pour **Auth type** (Type d'authentification), sélectionnez **Identity Provider: SAML** (Fournisseur d'identité : SAML). Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier par authentification unique AD FS.
  + Pour **Cluster ID (ID de cluster)**, entrez ***your-cluster-identifier***. 
  + Pour **Region (Région)**, entrez ***your-cluster-region***.
  + Pour **Database (Base de données)**, entrez ***your-database-name***.
  + Pour **Utilisateur**, entrez ***your-adfs-username***. Il s'agit du nom d'utilisateur du compte AD FS que vous utilisez pour l'authentification unique, qui a l'autorisation d'accéder au cluster que vous essayez d'utiliser pour vous authentifier. Utilisez cette option uniquement si le **Type d’authentification** est **Fournisseur d’identité : SAML**.
  + Pour **Mot de passe**, entrez ***your-adfs-password***. Utilisez cette option uniquement si le **Type d’authentification** est **Fournisseur d’identité : SAML**. 

  Sous macOS et Linux, modifiez le fichier `odbc.ini` comme suit : 
**Note**  
Toutes les entrées sont insensibles à la casse.
  + Pour **clusterid**, entrez ***your-cluster-identifier***. Il s'agit du nom du cluster Amazon Redshift qui a été créé.
  + Pour **region (région)**, entrez ***your-cluster-region***. Il s'agit de la AWS région du cluster Amazon Redshift créé.
  + Pour **database (base de données)**, entrez ***your-database-name***. Il s'agit du nom de la base de données à laquelle vous essayez d'accéder sur le cluster Amazon Redshift.
  + Pour **locale (paramètres régionaux)**, entrez **en-us**. Il s’agit de la langue dans laquelle les messages d’erreur s’affichent.
  + Pour **iam**, entrez **1**. Cette valeur spécifie au pilote de s’authentifier à l’aide des informations d’identification IAM.
  + Pour **plugin\$1name**, effectuez l’une des opérations suivantes :
    + Pour la configuration de l'authentification unique AD FS avec MFA, entrez **BrowserSAML**. Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier auprès des services AD FS. 
    + Pour la configuration de l'authentification unique AD FS, entrez **ADFS**. Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier à l'aide de l'authentification unique Azure AD. 
  + Pour **uid**, entrez ***your-adfs-username***. Il s'agit du nom d'utilisateur du compte Microsoft Azure que vous utilisez pour l'authentification unique qui a l'autorisation sur le cluster sur lequel vous essayez de vous authentifier. Utilisez ceci uniquement lorsque **plugin\$1name** est **ADFS**.
  + Pour **pwd**, entrez ***your-adfs-password***. Utilisez ceci uniquement lorsque **plugin\$1name** est **ADFS**. 

  Sous mac OS et Linux, modifiez également les paramètres de profil pour ajouter les exportations suivantes.

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------

# Azure
<a name="setup-identity-provider-azure"></a>

Vous pouvez utiliser Microsoft Azure AD en tant que fournisseur d'identité (IdP) pour accéder à votre cluster Amazon Redshift. Ce didacticiel vous montre comment vous pouvez utiliser Azure en tant que fournisseur d’identité (IdP) pour accéder à votre cluster Amazon Redshift.

Pour savoir comment fédérer l'accès à Amazon Redshift avec l'authentification unique Microsoft Azure AD, regardez la vidéo suivante. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/aXs9hEgJCss/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/aXs9hEgJCss)


## Étape 1 : configurer Azure et votre AWS compte pour qu'ils se fassent mutuellement confiance
<a name="setup-identity-provider-azure-trust"></a>

La procédure suivante explique comment configurer une relation d’approbation.

**Pour configurer Azure AD et votre AWS compte de manière à ce qu'ils se fassent mutuellement confiance**

1. Créez ou utilisez un cluster Amazon Redshift existant pour que vos utilisateurs Azure AD puissent se connecter. Pour configurer la connexion, certaines propriétés de ce cluster sont nécessaires, telles que l’identifiant de cluster. Pour de plus amples informations, veuillez consulter [Création d’un cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Configurez un Azure Active Directory, des groupes et des utilisateurs utilisés AWS sur le portail Microsoft Azure.

1. Ajoutez Amazon Redshift en tant qu'application d'entreprise sur le portail Microsoft Azure à utiliser pour l'authentification unique à la AWS console et la connexion fédérée à Amazon Redshift. Choisissez **Application Entreprise**.

1. Choisissez **\$1Nouvelle application**. La page Ajouter une application apparaît.

1. Recherchez **AWS** dans le champ de recherche.

1. Choisissez **Amazon Web Services (AWS)** et choisissez **Ajouter**. Cela crée l'application AWS .

1. Sous **Gérer**, choisissez **Single Sign-On**.

1. Choisissez **SAML**. La page d'authentification basée sur Amazon Web Services (AWS) \$1 SAML apparaît.

1. Choisissez **Oui** pour passer à la page Configurer l'authentification unique avec SAML. Cette page affiche la liste des attributs préconfigurés associés à l'authentification unique.

1. Pour **Configuration SAML de base**, choisissez l'icône Modifier et choisissez **Enregistrer**.

1. Lorsque vous configurez plusieurs applications, indiquez une valeur d'identificateur. Par exemple, saisissez ***https://signin.aws.amazon.com/saml\$12***. Notez qu'à partir de la deuxième application, utilisez ce format avec un signe \$1 pour spécifier une valeur SPN unique.

1. Dans la section **Attributs utilisateur et réclamations** sélectionnez l'icône Modifier.

   Par défaut, l'identifiant utilisateur unique (UID) RoleSessionName, le rôle et les SessionDuration revendications sont préconfigurés.

1. Choisissez **\$1 Ajouter une nouvelle réclamation** pour ajouter une revendication pour les utilisateurs de la base de données.

   Pour **Nom**, saisissez **DbUser**.

   Pour **Espace de noms**, saisissez **https://redshift.amazon.com/SAML/Attributes**.

   Pour **Source**, choisissez **Attribut**.

   Pour **Attribut source**, choisissez **user.userprincipalname**. Ensuite, choisissez **Enregistrer**.

1. Choisissez **\$1 Ajouter une nouvelle réclamation** pour laquelle ajouter une réclamation AutoCreate.

   Pour **Nom**, saisissez **AutoCreate**.

   Pour **Espace de noms**, saisissez **https://redshift.amazon.com/SAML/Attributes**.

   Pour **Source**, choisissez **Attribut**.

   Pour **Attribut source**, choisissez **« true »**. Ensuite, choisissez **Enregistrer**.

   Ici, `123456789012` correspond à votre compte AWS , *`AzureSSO`* correspond à un rôle IAM que vous avez créé et *`AzureADProvider`* correspond au fournisseur IAM.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/setup-identity-provider-azure.html)

1. Sous **Enregistrement de l'application > ***your-application-name*** > Authentification**, ajoutez **Application mobile et de bureau**. Spécifiez l'URL sous la forme http://localhost/redshift/.

1. Dans la section **Certificat de signature SAML**, choisissez **Télécharger** pour télécharger et enregistrer le fichier XML de métadonnées de fédération à utiliser lorsque vous créez un fournisseur d'identité SAML IAM. Ce fichier est utilisé pour créer l'identité fédérée d'authentification unique.

1. Créez un fournisseur d’identité SAML IAM sur la console IAM. Le document de métadonnées que vous fournissez est le fichier XML de métadonnées de fédération que vous avez enregistré lorsque vous avez configuré Azure Enterprise Application. Pour des étapes détaillées, veuillez consulter la rubrique [Création et gestion d'un fournisseur d'identité IAM (Console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) dans le *Guide de l'utilisateur IAM*. 

1. Créez un rôle IAM pour la fédération SAML 2.0 sur la console IAM. Pour des étapes détaillées, voir [Création d'un rôle pour SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) dans le *Guide de l'utilisateur IAM*. 

1. Créez une politique IAM que vous pouvez attacher au rôle IAM que vous avez créé pour la fédération SAML 2.0 sur la console IAM. Pour connaître la marche à suivre en détail, consultez [Création de politiques IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) dans le *Guide de l’utilisateur IAM*.

   Modifiez la politique suivante (au format JSON) pour votre environnement : 
   + Remplacez la AWS région de votre cluster par`us-west-1`. 
   + Remplacez votre AWS compte par*`123456789012`*. 
   + Remplacez votre identifiant de cluster (ou `*` pour tous les clusters) par *`cluster-identifier`*. 
   + Remplacez votre base de données (ou `*` pour toutes les bases de données) par *`dev`*. 
   + Remplacez *`AROAJ2UCCR6DPCEXAMPLE`* par l'identifiant unique de votre rôle IAM. 
   + Remplacez `example.com` par le domaine de messagerie de votre locataire ou de votre entreprise. 
   + Remplacez *`my_dbgroup`* par le groupe de base de données auquel vous comptez affecter l'utilisateur 

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "redshift:GetClusterCredentials",
               "Resource": [
                   "arn:aws:redshift:us-west-1:123456789012:dbname:cluster-identifier/dev",
                   "arn:aws:redshift:us-west-1:123456789012:dbuser:cluster-identifier/${redshift:DbUser}",
                   "arn:aws:redshift:us-west-1:123456789012:cluster:cluster-identifier"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:userid": "AROAJ2UCCR6DPCEXAMPLE:${redshift:DbUser}@example.com"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": "redshift:CreateClusterUser",
               "Resource": "arn:aws:redshift:us-west-1:123456789012:dbuser:cluster-identifier/${redshift:DbUser}"
           },
           {
               "Effect": "Allow",
               "Action": "redshift:JoinGroup",
               "Resource": "arn:aws:redshift:us-west-1:123456789012:dbgroup:cluster-identifier/my_dbgroup"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "redshift:DescribeClusters",
                   "iam:ListRoles"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

   Cette politique accorde les autorisations suivantes :
   + La première section accorde à l'opération d'API `GetClusterCredentials` l'autorisation d'obtenir des informations d'identification temporaires pour le cluster spécifié. Dans cet exemple, la ressource est `cluster-identifier` avec la base de données *`dev`*, dans le compte *`123456789012`* et la région AWS *`us-west-1`*. La clause `${redshift:DbUser}` autorise uniquement les utilisateurs qui correspondent à la valeur `DbUser` spécifiée dans Azure AD à se connecter.
   + La clause de condition impose que seuls certains utilisateurs obtiennent des informations d'identification temporaires. Il s'agit des utilisateurs sous le rôle spécifié par l'ID unique de rôle *`AROAJ2UCCR6DPCEXAMPLE`* dans le compte IAM identifié par une adresse e-mail dans le domaine de messagerie de votre entreprise. Pour plus d'informations sur le caractère unique IDs, consultez la section [Unique IDs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) dans le *guide de l'utilisateur d'IAM*. 

     Votre configuration avec votre IdP (dans ce cas, Azure AD) détermine la manière dont la clause de condition est écrite. Si l'adresse e-mail de votre employé est `johndoe@example.com`, commencez par définir `${redshift:DbUser}` dans le champ correspondant au nom d'utilisateur de l'employé `johndoe`. Ensuite, pour que cette condition fonctionne, définissez ensuite le champ AWS SAML `RoleSessionName` sur le champ correspondant à l'e-mail de l'employé `johndoe@example.com`. Lorsque vous adoptez cette approche, tenez compte des éléments suivants :
     + Si vous définissez `${redshift:DbUser}` comme étant l'e-mail de l'employé, supprimez `@example.com` dans l'exemple de fichier JSON pour correspondre à `RoleSessionName`. 
     + Si vous définissez `RoleSessionId` comme étant uniquement le nom d'utilisateur de l'employé, supprimez `@example.com` dans l'exemple pour correspondre à `RoleSessionName`. 
     + Dans l'exemple de fichier JSON, `${redshift:DbUser}` et `RoleSessionName` sont tous deux définis sur l'e-mail de l'employé. Cet exemple de fichier JSON utilise le nom d'utilisateur de base de données Amazon Redshift avec `@example.com` pour connecter l'utilisateur en vue d'accéder au cluster.
   + La deuxième section accorde l'autorisation de créer un nom `dbuser` dans le cluster spécifié. Dans cet exemple de fichier JSON, la création est limitée à `${redshift:DbUser}`. 
   + La troisième section accorde l'autorisation de spécifier le `dbgroup` qu'un utilisateur peut rejoindre. Dans cet exemple de fichier JSON, un utilisateur peut rejoindre le groupe `my_dbgroup` dans le cluster spécifié. 
   + La quatrième section accorde l'autorisation pour des actions que l'utilisateur peut effectuer sur toutes les ressources. Dans cet exemple JSON, il permet aux utilisateurs d'appeler pour `redshift:DescribeClusters` obtenir des informations sur le cluster, telles que le point de terminaison, AWS la région et le port du cluster. Il permet également aux utilisateurs d'appeler `iam:ListRoles` pour vérifier les rôles qu'un utilisateur peut assumer. 

## Étape 2 : configurer JDBC ou ODBC pour l’authentification aux services Azure
<a name="setup-identity-provider-azure-auth"></a>

------
#### [ JDBC ]

**Pour configurer JDBC pour l'authentification à Microsoft Azure AD**
+ Configurez votre client de base de données pour qu'il se connecte à votre cluster via JDBC à l'aide de votre authentification unique Azure AD. 

  Vous pouvez utiliser n'importe quel client qui utilise un pilote JDBC pour vous connecter à l'aide de l'authentification unique Azure AD ou utiliser un langage comme Java pour vous connecter à l'aide d'un script. Pour plus d'informations sur l'installation et la configuration, consultez [Configuration d’une connexion pour la version 2.x du pilote JDBC pour Amazon Redshift](jdbc20-install.md).

  Par exemple, vous pouvez utiliser SQLWorkbench/J en tant que client. Lorsque vous configurez SQLWorkbench /J, l'URL de votre base de données utilise le format suivant.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Si vous l'utilisez SQLWorkbench/J en tant que client, suivez les étapes suivantes :

  1. Démarrez SQL Workbench/J. Sur la page **Select Connection Profile (Sélectionner un profil de connexion)**, ajoutez un **Profile group (Groupe de profils)** appelé **AzureAuth**.

  1. Pour **Connection Profil (Profil de connexion)**, entrez **Azure**.

  1. Choisissez **Manage Drivers (Gérer les pilotes)**, puis **Amazon Redshift**. Choisissez l’icône **Open Folder (Ouvrir le dossier)** en regard de **Library (Bibliothèque)**, puis choisissez le fichier JDBC .jar approprié. 

  1. Dans la page **Select Connection Profile (Sélectionner un profil de connexion)** ajoutez les informations suivantes au profil de connexion :
     + Pour **User (Utilisateur)**, entrez votre nom d'utilisateur Microsoft Azure. Il s'agit du nom d'utilisateur du compte Microsoft Azure que vous utilisez pour l'authentification unique et qui a la permission du cluster que vous essayez d'utiliser pour vous authentifier.
     + Pour **Password (Mot de passe)**, entrez votre mot de passe Microsoft Azure.
     + Pour **Drivers (Pilotes)**, choisissez **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + Pour **URL**, entrez **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Choisissez **Extended Properties (Propriétés étendues)** pour ajouter des informations supplémentaires aux propriétés de connexion comme suit.

     Pour la configuration de l'authentification unique Azure AD, ajoutez des informations supplémentaires, comme suit :
     + Pour **plugin\$1name**, entrez **com.amazon.redshift.plugin.AzureCredentialsProvider**. Cette valeur spécifie au pilote d'utiliser l'authentification unique Azure AD comme méthode d'authentification. 
     + Pour **idp\$1tenant**, entrez ***your-idp-tenant***. Utilisé uniquement pour Microsoft Azure AD. Il s’agit du nom du locataire de votre entreprise configuré sur Azure AD. Cette valeur peut être le nom du locataire ou l’ID unique du locataire avec des traits d’union.
     + Pour **client\$1secret**, entrez ***your-azure-redshift-application-client-secret***. Utilisé uniquement pour Microsoft Azure AD. Il s'agit du secret client de l'application Amazon Redshift que vous avez créé lors de la définition de votre configuration d'authentification unique Azure. Cela ne s'applique qu'au com.amazon.redshift.plugin. AzureCredentialsProviderplugin. 
     + Pour **client\$1id**, entrez ***your-azure-redshift-application-client-id***. Utilisé uniquement pour Microsoft Azure AD. Il s'agit de l'ID client (avec des traits d'union) de l'application Amazon Redshift que vous avez créé lors de la définition de votre configuration d'authentification unique Azure. 

     Pour la configuration de l'authentification unique Azure AD avec MFA, ajoutez des informations supplémentaires aux propriétés de connexion, comme suit :
     + Pour **plugin\$1name**, entrez **com.amazon.redshift.plugin.BrowserAzureCredentialsProvider**. Cette valeur spécifie au pilote d'utiliser l'authentification unique Azure AD avec MFA comme méthode d'authentification. 
     + Pour **idp\$1tenant**, entrez ***your-idp-tenant***. Utilisé uniquement pour Microsoft Azure AD. Il s’agit du nom du locataire de votre entreprise configuré sur Azure AD. Cette valeur peut être le nom du locataire ou l’ID unique du locataire avec des traits d’union.
     + Pour **client\$1id**, entrez ***your-azure-redshift-application-client-id***. This option is used only for Microsoft Azure AD. Il s'agit de l'ID client (avec des traits d'union) de l'application Amazon Redshift que vous avez créé lors de la définition de votre configuration d'authentification unique Azure AD avec MFA. 
     + Pour **listen\$1port**, entrez ***your-listen-port***. C’est le port que le serveur local écoute. La valeur par défaut est 7890. 
     + Pour **idp\$1response\$1timeout**, entrez ***the-number-of-seconds***. Il s’agit du nombre de secondes à attendre avant l’expiration lorsque le serveur IdP renvoie une réponse. Le nombre minimum de secondes doit être de 10. Si l’établissement de la connexion dépasse ce seuil, la connexion est abandonnée.

------
#### [ ODBC ]

**Pour configurer ODBC pour l'authentification à Microsoft Azure AD**
+ Configurez votre client de base de données pour qu'il se connecte à votre cluster via ODBC à l'aide de votre authentification unique Azure AD. 

  Amazon Redshift fournit des pilotes ODBC pour les systèmes d'exploitation Linux, Windows et macOS. Avant d’installer un pilote ODBC, déterminez si votre outil client SQL est en 32 bits ou en 64 bits. Installez le pilote ODBC qui correspond aux exigences de votre outil client SQL. 

  Sous Windows, dans la page **Amazon Redshift ODBC Driver DSN Setup (Configuration DSN du pilote ODBC Amazon Redshift)**, sous **Connection Settings (Paramètres de connexion)**, entrez les informations suivantes : 
  + Pour **Data Source Name (Nom de la source de données)**, entrez ***your-DSN***. Cela indique le nom de la source de données utilisé comme nom de profil ODBC. 
  + Pour **Auth type** (Type d'authentification) de la configuration d'authentification unique Azure AD, choisissez **Identity Provider: Azure AD**. Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier à l'aide de l'authentification unique Azure.
  + Pour **Auth type** (Type d'authentification) de la configuration d'authentification unique Azure AD avec MFA, choisissez **Identity Provider: Browser Azure AD**. Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier à l'aide de l'authentification unique Azure avec MFA.
  + Pour **Cluster ID (ID de cluster)**, entrez ***your-cluster-identifier***. 
  + Pour **Region (Région)**, entrez ***your-cluster-region***.
  + Pour **Database (Base de données)**, entrez ***your-database-name***.
  + Pour **Utilisateur**, entrez ***your-azure-username***. Il s'agit du nom d'utilisateur du compte Microsoft Azure que vous utilisez pour l'authentification unique et qui a la permission du cluster que vous essayez d'utiliser pour vous authentifier. Utiliser cette option uniquement lorsque **Type d’authentification** est **Fournisseur d’identité : Azure AD**.
  + Pour **Mot de passe**, entrez ***your-azure-password***. Utiliser cette option uniquement lorsque **Type d’authentification** est **Fournisseur d’identité : Azure AD**. 
  + Pour **IdP Tenant (Locataire IdP)**, entrez ***your-idp-tenant***. Il s’agit du nom du locataire de votre entreprise configuré sur votre IdP (Azure). Cette valeur peut être le nom du locataire ou l’ID unique du locataire avec des traits d’union.
  + Pour **Azure Client Secret (Secret client Azure)**, entrez ***your-azure-redshift-application-client-secret***. Il s'agit du secret client de l'application Amazon Redshift que vous avez créé lors de la définition de votre configuration d'authentification unique Azure. 
  + Pour **Azure Client ID (ID client Azure)**, entrez ***your-azure-redshift-application-client-id***. Il s'agit de l'ID client (avec des traits d'union) de l'application Amazon Redshift que vous avez créé lors de la définition de votre configuration d'authentification unique Azure. 
  + Pour **Port d’écoute**, entrez ***your-listen-port***. Il s'agit du port d'écoute par défaut que le serveur local écoute. La valeur par défaut est 7890. Cela s'applique uniquement au plugin Navigateur Azure AD. 
  + Pour **Délai de réponse**, entrez ***the-number-of-seconds***. Il s’agit du nombre de secondes à attendre avant l’expiration lorsque le serveur IdP renvoie une réponse. Le nombre minimum de secondes doit être de 10. Si l’établissement de la connexion dépasse ce seuil, la connexion est abandonnée. Cette option s'applique uniquement au plugin du navigateur Azure AD.

  Sous macOS et Linux, modifiez le fichier `odbc.ini` comme suit : 
**Note**  
Toutes les entrées sont insensibles à la casse.
  + Pour **clusterid**, entrez ***your-cluster-identifier***. Il s'agit du nom du cluster Amazon Redshift qui a été créé.
  + Pour **region (région)**, entrez ***your-cluster-region***. Il s'agit de la AWS région du cluster Amazon Redshift créé.
  + Pour **database (base de données)**, entrez ***your-database-name***. Il s'agit du nom de la base de données à laquelle vous essayez d'accéder sur le cluster Amazon Redshift.
  + Pour **locale (paramètres régionaux)**, entrez **en-us**. Il s’agit de la langue dans laquelle les messages d’erreur s’affichent.
  + Pour **iam**, entrez **1**. Cette valeur spécifie au pilote de s’authentifier à l’aide des informations d’identification IAM.
  + Pour **plugin\$1name** de la configuration d'authentification unique Azure AD, entrez **AzureAD**. Cela spécifie au pilote d'utiliser l'authentification unique Azure comme méthode d'authentification. 
  + Pour **plugin\$1name** de la configuration d'authentification unique Azure AD avec MFA, entrez **BrowserAzureAD**. Cela spécifie au pilote d'utiliser l'authentification unique Azure avec MFA comme méthode d'authentification. 
  + Pour **uid**, entrez ***your-azure-username***. Il s'agit du nom d'utilisateur du compte Microsoft Azure que vous utilisez pour l'authentification unique qui a l'autorisation sur le cluster sur lequel vous essayez de vous authentifier. Utilisez ceci uniquement lorsque **plugin\$1name** est **AzureAD**.
  + Pour **pwd**, entrez ***your-azure-password***. Utilisez ceci uniquement lorsque **plugin\$1name** est **AzureAD**. 
  + Pour **idp\$1tenant**, entrez ***your-idp-tenant***. Il s’agit du nom du locataire de votre entreprise configuré sur votre IdP (Azure). Cette valeur peut être le nom du locataire ou l’ID unique du locataire avec des traits d’union.
  + Pour **client\$1secret**, entrez ***your-azure-redshift-application-client-secret***. Il s'agit du secret client de l'application Amazon Redshift que vous avez créé lors de la définition de votre configuration d'authentification unique Azure. 
  + Pour **client\$1id**, entrez ***your-azure-redshift-application-client-id***. Il s'agit de l'ID client (avec des traits d'union) de l'application Amazon Redshift que vous avez créé lors de la définition de votre configuration d'authentification unique Azure. 
  + Pour **listen\$1port**, entrez ***your-listen-port***. C’est le port que le serveur local écoute. La valeur par défaut est 7890. Cela s'applique au plugin Navigateur Azure AD.
  + Pour **idp\$1response\$1timeout**, entrez ***the-number-of-seconds***. Il s'agit de la période spécifiée en secondes pour attendre la réponse d'Azure. Cette option s'applique au plugin du navigateur Azure AD.

  Sous mac OS et Linux, modifiez également les paramètres de profil pour ajouter les exportations suivantes.

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------

## Résolution des problèmes
<a name="setup-identity-provider-azure-auth"></a>

Pour résoudre les problèmes liés au plugin Browser Azure AD, tenez compte de ce qui suit.
+ Pour utiliser le plugin Browser Azure AD, vous devez définir l'URL de réponse spécifiée dans la demande pour qu'elle corresponde à l'URL de réponse configurée pour votre application. Accédez à la page **Configurer l'authentification unique avec SAML** sur le portail Microsoft Azure. Ensuite, vérifiez que l'**URL de réponse** est définie sur http://localhost/redshift/.
+ Si vous obtenez une erreur de locataire IdP, vérifiez que le nom du **Locataire IdP** correspond au nom de domaine que vous avez utilisé initialement pour configurer Active Directory dans Microsoft Azure.

  Sous Windows, accédez à la section **Paramètres de connexion** de la page **Configuration du DSN ODBC d'Amazon Redshift**. Vérifiez ensuite que le nom de locataire de votre société configurée sur votre IdP (Azure) correspond au nom de domaine que vous avez initialement utilisé pour configurer Active Directory dans Microsoft Azure.

  Sous macOS et Linux, recherchez le fichier *odbc.ini*. Vérifiez ensuite que le nom de locataire de votre société configurée sur votre IdP (Azure) correspond au nom de domaine que vous avez initialement utilisé pour configurer Active Directory dans Microsoft Azure.
+ Si vous recevez un message d'erreur indiquant que l'URL de réponse spécifiée dans la demande ne correspond pas à la réponse URLs configurée pour votre application, vérifiez que l'URL de **redirection URIs** est identique à l'URL de réponse.

  Accédez à la page **Enregistrement de l'application** de votre application sur le portail Microsoft Azure. Vérifiez ensuite que la redirection URIs correspond à l'URL de réponse.
+ Si vous obtenez la réponse inattendue : erreur non autorisée, vérifiez que vous avez terminé la configuration des **Applications mobiles et de bureau**.

  Accédez à la page **Enregistrement de l'application** de votre application sur le portail Microsoft Azure. Accédez ensuite à **Authentification** et vérifiez que vous avez configuré les **applications mobiles et de bureau** pour utiliser http://localhost/redshift/ comme redirection URIs.

# Ping Identity
<a name="setup-identity-provider-ping"></a>

Vous pouvez utiliser Ping Identity comme fournisseur d'identité (IdP) pour accéder à votre cluster Amazon Redshift. Ce didacticiel vous montre comment vous pouvez utiliser Ping Identity en tant que fournisseur d’identité (IdP) pour accéder à votre cluster Amazon Redshift.

## Étape 1 : Configurez Ping Identity et votre AWS compte pour qu'ils se fassent mutuellement confiance
<a name="setup-identity-provider-ping-trust"></a>

La procédure suivante décrit comment configurer une relation de confiance à l'aide du PingOne portail.

**Pour configurer Ping Identity et votre AWS compte de manière à ce qu'ils se fassent mutuellement confiance**

1. Créez ou utilisez un cluster Amazon Redshift existant pour que vos utilisateurs Ping Identity puissent se connecter. Pour configurer la connexion, certaines propriétés de ce cluster sont nécessaires, telles que l’identifiant de cluster. Pour de plus amples informations, veuillez consulter [Création d’un cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Ajoutez Amazon Redshift en tant que nouvelle application SAML sur le portail. PingOne Pour obtenir des étapes détaillées, consultez la [documentation Ping Identity](https://docs.pingidentity.com/). 

   1. Accédez à **Mes applications**.

   1. Sous **Ajouter une application**, choisissez **Nouvelle application SAML**.

   1. Dans **Application Name (Nom de l'application)**, saisissez **Amazon Redshift**.

   1. Pour **Version de protocole**, choisissez **SAML v2.0**.

   1. Pour **Catégorie**, choisissez ***your-application-category***.

   1. Pour **Assertion Consumer Service (ACS)**, tapez ***your-redshift-local-host-url***. Il s'agit de l'hôte local et du port vers lesquels l'assertion SAML redirige.

   1. Pour **Entity ID (ID d'entité)**, saisissez `urn:amazon:webservices`.

   1. Pour **Signature**, choisissez **Signer l’assertion**.

   1. Dans la section **Mappage d'attributs SSO**, créez les réclamations comme indiqué dans le tableau suivant.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/setup-identity-provider-ping.html)

1. Pour **Accès au groupe**, configurez l'accès au groupe suivant, si nécessaire :
   + **https://aws.amazon.com/SAML/Attributes/Role**
   + **https://aws.amazon.com/SAML/Attributes/RoleSessionName**
   + **https://redshift.amazon.com/SAML/Attributes/AutoCreate**
   + **https://redshift.amazon.com/SAML/Attributes/DbUser**

1. Passez en revue votre configuration et apportez des modifications, si nécessaire. 

1. Utilisez **Lancer l'URL d'authentification unique (SSO)** comme URL de connexion pour le plugin du navigateur SAML.

1. Créez un fournisseur d’identité SAML IAM sur la console IAM. Le document de métadonnées que vous fournissez est le fichier XML de métadonnées de fédération que vous avez enregistré lorsque vous avez configuré Ping Identity. Pour des étapes détaillées, veuillez consulter la rubrique [Création et gestion d'un fournisseur d'identité IAM (Console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) dans le *Guide de l'utilisateur IAM*.

1. Créez un rôle IAM pour la fédération SAML 2.0 sur la console IAM. Pour des étapes détaillées, voir [Création d'un rôle pour SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) dans le *Guide de l'utilisateur IAM*. 

1. Créez une politique IAM que vous pouvez attacher au rôle IAM que vous avez créé pour la fédération SAML 2.0 sur la console IAM. Pour connaître la marche à suivre en détail, consultez [Création de politiques IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) dans le *Guide de l’utilisateur IAM*. Pour obtenir un exemple Azure AD, consultez [Configuration de l’authentification unique JDBC ou ODBC](setup-azure-ad-identity-provider.md). 

## Étape 2 : configurer JDBC ou ODBC pour l’authentification aux services Ping Identity
<a name="setup-identity-provider-ping-auth"></a>

------
#### [ JDBC ]

**Pour configurer JDBC pour l'authentification auprès de Ping Identity**
+ Configurez votre client de base de données pour vous connecter à votre cluster via JDBC à l'aide de l'authentification unique Ping Identity. 

  Vous pouvez utiliser n'importe quel client qui utilise un pilote JDBC pour vous connecter à l'aide de l'authentification unique Ping Identity ou utiliser un langage comme Java pour vous connecter à l'aide d'un script. Pour plus d’informations sur l’installation et la configuration, consultez [Configuration d’une connexion pour la version 2.x du pilote JDBC pour Amazon Redshift](jdbc20-install.md).

  Par exemple, vous pouvez utiliser SQLWorkbench/J en tant que client. Lorsque vous configurez SQLWorkbench /J, l'URL de votre base de données utilise le format suivant.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Si vous l'utilisez SQLWorkbench/J en tant que client, suivez les étapes suivantes :

  1. Démarrez SQL Workbench/J. Dans la page **Sélectionner un profil de connexion**, ajoutez un **Groupe de profils**, par exemple **Ping**.

  1. Pour **Profil de connexion**, entrez ***your-connection-profile-name***, par exemple **Ping**.

  1. Choisissez **Manage Drivers (Gérer les pilotes)**, puis **Amazon Redshift**. Choisissez l’icône **Open Folder (Ouvrir le dossier)** en regard de **Library (Bibliothèque)**, puis choisissez le fichier JDBC .jar approprié. 

  1. Dans la page **Select Connection Profile (Sélectionner un profil de connexion)** ajoutez les informations suivantes au profil de connexion :
     + Dans **Utilisateur**, entrez votre nom PingOne d'utilisateur. Il s'agit du nom d'utilisateur du compte PingOne que vous utilisez pour l'authentification unique et qui a la permission du cluster que vous essayez d'utiliser pour vous authentifier.
     + Dans le **champ Mot de passe**, entrez votre PingOne mot de passe.
     + Pour **Drivers (Pilotes)**, choisissez **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + Pour **URL**, entrez **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Choisissez **Propriétés étendues** et effectuez l’une des opérations suivantes :
     + Pour **login\$1url**, entrez ***your-ping-sso-login-url***. Cette valeur indique à l'URL d'utiliser l'authentification unique comme authentification pour se connecter. 
     + Pour Ping Identity, pour **plugin\$1name**, entrez **com.amazon.redshift.plugin.PingCredentialsProvider**. Cette valeur spécifie au pilote d'utiliser l'authentification unique Ping Identity comme méthode d'authentification. 
     + Pour Ping Identity avec l'authentification unique, pour **plugin\$1name**, entrez **com.amazon.redshift.plugin.BrowserSamlCredentialsProvider**. Cette valeur indique au pilote d'utiliser Ping Identity PingOne avec authentification unique comme méthode d'authentification. 

------
#### [ ODBC ]

**Pour configurer ODBC pour l'authentification à Ping Identity**
+ Configurez votre client de base de données pour qu'il se connecte à votre cluster via ODBC à l'aide de l'authentification PingOne unique Ping Identity. 

  Amazon Redshift fournit des pilotes ODBC pour les systèmes d’exploitation Linux, Windows et macOS. Avant d’installer un pilote ODBC, déterminez si votre outil client SQL est en 32 bits ou en 64 bits. Installez le pilote ODBC qui correspond aux exigences de votre outil client SQL. 

  Sous Windows, dans la page **Amazon Redshift ODBC Driver DSN Setup (Configuration DSN du pilote ODBC Amazon Redshift)**, sous **Connection Settings (Paramètres de connexion)**, entrez les informations suivantes : 
  + Pour **Data Source Name (Nom de la source de données)**, entrez ***your-DSN***. Cela indique le nom de la source de données utilisé comme nom de profil ODBC. 
  + Pour **Type d’authentification**, effectuez l’une des actions suivantes :
    + Pour la configuration de Ping Identity, choisissez **Fournisseur d'identité : Ping Federate**. Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier à l'aide de l'authentification unique Ping Identity.
    + Pour la configuration de Ping Identity avec l'authentification unique, choisissez **Identity Provider: Browser SAML** (Fournisseur d'identité : navigateur SAML). Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier à l'aide de Ping Identity avec l'authentification unique.
  + Pour **Cluster ID (ID de cluster)**, entrez ***your-cluster-identifier***. 
  + Pour **Region (Région)**, entrez ***your-cluster-region***.
  + Pour **Database (Base de données)**, entrez ***your-database-name***.
  + Pour **Utilisateur**, entrez ***your-ping-username***. Il s'agit du nom d'utilisateur du PingOne compte que vous utilisez pour l'authentification unique qui est autorisé à accéder au cluster à l'aide duquel vous essayez de vous authentifier. Utilisez-le uniquement pour le **type d'authentification** est le **fournisseur d'identité : PingFederate**.
  + Pour **Mot de passe**, entrez ***your-ping-password***. Utilisez-le uniquement pour le **type d'authentification** est le **fournisseur d'identité : PingFederate**. 
  + Pour **Port d’écoute**, entrez ***your-listen-port***. C’est le port que le serveur local écoute. La valeur par défaut est 7890. Ceci s'applique uniquement au plugin du navigateur SAML. 
  +  Pour **Délai de réponse**, entrez ***the-number-of-seconds***. Il s’agit du nombre de secondes à attendre avant l’expiration lorsque le serveur IdP renvoie une réponse. Le nombre minimum de secondes doit être de 10. Si l’établissement de la connexion dépasse ce seuil, la connexion est abandonnée. Ceci s'applique uniquement au plugin du navigateur SAML.
  + Pour **URL de connexion**, entrez ***your-login-url***. Ceci s'applique uniquement au plugin du navigateur SAML.

  Sous macOS et Linux, modifiez le fichier `odbc.ini` comme suit : 
**Note**  
Toutes les entrées sont insensibles à la casse.
  + Pour **clusterid**, entrez ***your-cluster-identifier***. Il s'agit du nom du cluster Amazon Redshift qui a été créé.
  + Pour **region (région)**, entrez ***your-cluster-region***. Il s'agit de la AWS région du cluster Amazon Redshift créé.
  + Pour **database (base de données)**, entrez ***your-database-name***. Il s'agit du nom de la base de données à laquelle vous essayez d'accéder sur le cluster Amazon Redshift.
  + Pour **locale (paramètres régionaux)**, entrez **en-us**. Il s’agit de la langue dans laquelle les messages d’erreur s’affichent.
  + Pour **iam**, entrez **1**. Cette valeur spécifie au pilote de s’authentifier à l’aide des informations d’identification IAM.
  + Pour **plugin\$1name**, effectuez l’une des opérations suivantes :
    + Pour la configuration de Ping Identity, entrez **BrowserSAML**. Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier auprès de Ping Identity. 
    + Pour la configuration de Ping Identity avec l'authentification unique, entrez **Ping**. Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier à l'aide de Ping Identity avec l'authentification unique. 
  + Pour **uid**, entrez ***your-ping-username***. Il s’agit du nom d’utilisateur du compte Microsoft Azure que vous utilisez pour l’authentification unique qui a l’autorisation sur le cluster sur lequel vous essayez de vous authentifier. Utilisez ceci uniquement lorsque **plugin\$1name** est **Ping**.
  + Pour **pwd**, entrez ***your-ping-password***. Utilisez ceci uniquement lorsque **plugin\$1name** est **Ping**. 
  + Pour **login\$1url**, entrez ***your-login-url***. Il s'agit de l'URL de lancement de l'authentification unique qui renvoie la réponse SAML. Ceci s’applique uniquement au plugin du navigateur SAML.
  + Pour **idp\$1response\$1timeout**, entrez ***the-number-of-seconds***. Il s'agit du délai spécifié en secondes pour attendre la réponse d' PingOne Identity. Ceci s’applique uniquement au plugin du navigateur SAML.
  + Pour **listen\$1port**, entrez ***your-listen-port***. C’est le port que le serveur local écoute. La valeur par défaut est 7890. Ceci s'applique uniquement au plugin du navigateur SAML.

  Sous mac OS et Linux, modifiez également les paramètres de profil pour ajouter les exportations suivantes.

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------

# Okta
<a name="setup-identity-provider-okta"></a>

Vous pouvez utiliser Okta comme fournisseur d'identité (IdP) pour accéder à votre cluster Amazon Redshift. Ce didacticiel vous montre comment vous pouvez utiliser Okta en tant que fournisseur d’identité (IdP) pour accéder à votre cluster Amazon Redshift.

## Étape 1 : configurez Okta et votre AWS compte pour qu'ils se fassent mutuellement confiance
<a name="setup-identity-provider-okta-trust"></a>

La procédure suivante explique comment configurer une relation d’approbation.

**Pour configurer Okta et votre AWS compte de manière à ce qu'ils se fassent mutuellement confiance**

1. Créez ou utilisez un cluster Amazon Redshift existant pour que vos utilisateurs Okta puissent se connecter. Pour configurer la connexion, certaines propriétés de ce cluster sont nécessaires, telles que l’identifiant de cluster. Pour de plus amples informations, veuillez consulter [Création d'un cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Ajoutez Amazon Redshift comme nouvelle application sur le portail Okta. Pour les étapes détaillées, consultez la [documentation Okta](https://developer.okta.com/docs/). 
   + Choisissez **Ajouter une application**.
   + Sous **Ajouter une application**, choisissez **Créer une nouvelle application**.
   + Dans la page **Créer une nouvelle intégration d'applications**, pour **Plateforme**, choisissez **Web**.
   + Pour **Méthode de connexion**, choisissez **SAML v2.0**.
   + Dans la page **Paramètres généraux**, pour **Nom de l'application**, entrez ***your-redshift-saml-sso-name***. Il s'agit du nom de votre application.
   + Dans la page **Paramètres SAML**, pour **URL d'authentification unique**, entrez ***your-redshift-local-host-url***. Il s'agit de l'hôte local et du port vers lequel l'assertion SAML redirige, par exemple`http://localhost:7890/redshift/` .

1. Utilisez la valeur de l'**URL de connexion unique** comme **URL du destinataire** et **URL de destination**.

1. Pour **Signature**, choisissez **Signer l’assertion**.

1. Pour **URI d'audience (ID d'entité SP)**, entrez **urn:amazon:webservices** pour les réclamations, comme indiqué dans le tableau suivant. 

1. Dans la section **Paramètres avancés**, pour **ID d’émetteur SAML**, saisissez ***your-Identity-Provider-Issuer-ID***, que vous pouvez trouver dans la section **Afficher les instructions de configuration**.

1. Dans la section **Instructions d'attribut**, créez les réclamations comme indiqué dans le tableau suivant.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/setup-identity-provider-okta.html)

1. Dans la section **Lien intégré de l'application**, recherchez l'URL que vous pouvez utiliser comme URL de connexion pour le plugin SAML du navigateur.

1. Créez un fournisseur d’identité SAML IAM sur la console IAM. Le document de métadonnées que vous fournissez est le fichier XML de métadonnées de fédération que vous avez enregistré lorsque vous avez configuré Okta. Pour des étapes détaillées, veuillez consulter la rubrique [Création et gestion d'un fournisseur d'identité IAM (Console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) dans le *Guide de l'utilisateur IAM*. 

1. Créez un rôle IAM pour la fédération SAML 2.0 sur la console IAM. Pour des étapes détaillées, voir [Création d'un rôle pour SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) dans le *Guide de l'utilisateur IAM*. 

1. Créez une politique IAM que vous pouvez attacher au rôle IAM que vous avez créé pour la fédération SAML 2.0 sur la console IAM. Pour connaître la marche à suivre en détail, consultez [Création de politiques IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) dans le *Guide de l’utilisateur IAM*. Pour obtenir un exemple Azure AD, consultez [Configuration de l’authentification unique JDBC ou ODBC](setup-azure-ad-identity-provider.md). 

## Étape 2 : configurer JDBC ou ODBC pour l’authentification aux services Otka
<a name="setup-identity-provider-okta-auth"></a>

------
#### [ JDBC ]

**Pour configurer JDBC pour l'authentification auprès d'Okta**
+ Configurez votre client de base de données pour qu'il se connecte à votre cluster via JDBC à l'aide de l'authentification unique Okta.

  Vous pouvez utiliser n'importe quel client qui utilise un pilote JDBC pour vous connecter à l'aide de l'authentification unique Okta ou utiliser un langage comme Java pour vous connecter à l'aide d'un script. Pour plus d’informations sur l’installation et la configuration, consultez [Configuration d’une connexion pour la version 2.x du pilote JDBC pour Amazon Redshift](jdbc20-install.md).

  Par exemple, vous pouvez utiliser SQLWorkbench/J en tant que client. Lorsque vous configurez SQLWorkbench /J, l'URL de votre base de données utilise le format suivant.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Si vous l'utilisez SQLWorkbench/J en tant que client, suivez les étapes suivantes :

  1. Démarrez SQL Workbench/J. Dans la page **Sélectionner un profil de connexion**, ajoutez un **Groupe de profils**, par exemple **Okta**.

  1. Pour **Profil de connexion**, entrez ***your-connection-profile-name***, par exemple **Okta**.

  1. Choisissez **Manage Drivers (Gérer les pilotes)**, puis **Amazon Redshift**. Choisissez l’icône **Open Folder (Ouvrir le dossier)** en regard de **Library (Bibliothèque)**, puis choisissez le fichier JDBC .jar approprié. 

  1. Dans la page **Select Connection Profile (Sélectionner un profil de connexion)** ajoutez les informations suivantes au profil de connexion :
     + Pour **Utilisateur**, entrez votre nom d'utilisateur Okta. Il s'agit du nom d'utilisateur du compte Okta que vous utilisez pour l'authentification unique et qui a la permission du cluster que vous essayez d'utiliser pour vous authentifier.
     + Pour **Mot de passe**, entrez votre mot de passe Okta.
     + Pour **Drivers (Pilotes)**, choisissez **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + Pour **URL**, entrez **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Choisissez **Propriétés étendues** et effectuez l’une des opérations suivantes :
     + Pour **login\$1url**, entrez ***your-okta-sso-login-url***. Cette valeur indique à l'URL d'utiliser l'authentification unique comme authentification pour se connecter à Okta. 
     + Pour l'authentification unique Okta, pour **plugin\$1name**, entrez **com.amazon.redshift.plugin.OktaCredentialsProvider**. Cette valeur spécifie au pilote d'utiliser l'authentification unique Okta comme méthode d'authentification. 
     + Pour l'authentification unique Okta avec MFA, pour **plugin\$1name**, entrez **com.amazon.redshift.plugin.BrowserSamlCredentialsProvider**. Cette valeur spécifie au pilote d'utiliser l'authentification unique Okta avec MFA comme méthode d'authentification. 

------
#### [ ODBC ]

**Pour configurer ODBC pour l'authentification auprès d'Okta**
+ Configurez votre client de base de données pour qu'il se connecte à votre cluster via ODBC à l'aide de l'authentification unique Okta. 

  Amazon Redshift fournit des pilotes ODBC pour les systèmes d’exploitation Linux, Windows et macOS. Avant d’installer un pilote ODBC, déterminez si votre outil client SQL est en 32 bits ou en 64 bits. Installez le pilote ODBC qui correspond aux exigences de votre outil client SQL. 

  Sous Windows, dans la page **Amazon Redshift ODBC Driver DSN Setup (Configuration DSN du pilote ODBC Amazon Redshift)**, sous **Connection Settings (Paramètres de connexion)**, entrez les informations suivantes : 
  + Pour **Data Source Name (Nom de la source de données)**, entrez ***your-DSN***. Cela indique le nom de la source de données utilisé comme nom de profil ODBC. 
  + Pour **Type d’authentification**, effectuez l’une des actions suivantes :
    + Pour la configuration de l'authentification unique Okta, choisissez **Identity Provider: Okta**. Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier à l'aide de l'authentification unique Okta.
    + Pour la configuration de l'authentification unique Okta avec MFA, choisissez **Identity Provider: Browser SAML**. Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier à l'aide de l'authentification unique Okta avec MFA.
  + Pour **Cluster ID (ID de cluster)**, entrez ***your-cluster-identifier***. 
  + Pour **Region (Région)**, entrez ***your-cluster-region***.
  + Pour **Database (Base de données)**, entrez ***your-database-name***.
  + Pour **Utilisateur**, entrez ***your-okta-username***. Il s'agit du nom d'utilisateur du compte Okta que vous utilisez pour l'authentification unique et qui a la permission d'accéder au cluster que vous essayez d'utiliser pour vous authentifier. Utilisez cette option uniquement si le **Type d’authentification** est **Fournisseur d’identité : Okta**.
  + Pour **Mot de passe**, entrez ***your-okta-password***. Utilisez cette option uniquement si le **Type d’authentification** est **Fournisseur d’identité : Okta**. 

  Sous macOS et Linux, modifiez le fichier `odbc.ini` comme suit : 
**Note**  
Toutes les entrées sont insensibles à la casse.
  + Pour **clusterid**, entrez ***your-cluster-identifier***. Il s'agit du nom du cluster Amazon Redshift qui a été créé.
  + Pour **region (région)**, entrez ***your-cluster-region***. Il s'agit de la AWS région du cluster Amazon Redshift créé.
  + Pour **database (base de données)**, entrez ***your-database-name***. Il s'agit du nom de la base de données à laquelle vous essayez d'accéder sur le cluster Amazon Redshift.
  + Pour **locale (paramètres régionaux)**, entrez **en-us**. Il s’agit de la langue dans laquelle les messages d’erreur s’affichent.
  + Pour **iam**, entrez **1**. Cette valeur spécifie au pilote de s’authentifier à l’aide des informations d’identification IAM.
  + Pour **plugin\$1name**, effectuez l’une des opérations suivantes :
    + Pour la configuration de l'authentification unique Okta avec MFA, entrez **BrowserSAML**. Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier via l'authentification unique Okta avec MFA. 
    + Pour la configuration de l'authentification unique Okta, entrez **Okta**. Il s'agit de la méthode d'authentification utilisée par le pilote ODBC pour s'authentifier à l'aide de l'authentification unique Okta. 
  + Pour **uid**, entrez ***your-okta-username***. Il s'agit du nom d'utilisateur du compte Okta que vous utilisez pour l'authentification unique qui a l'autorisation d'accéder au cluster sur lequel vous essayez de vous authentifier. Utilisez ceci uniquement lorsque **plugin\$1name** est **Okta**.
  + Pour **pwd**, entrez ***your-okta-password***. Utilisez ceci uniquement lorsque **plugin\$1name** est **Okta**. 
  + Pour **login\$1url**, entrez ***your-login-url***. Il s'agit de l'URL de lancement de l'authentification unique qui renvoie la réponse SAML. Ceci s’applique uniquement au plugin du navigateur SAML.
  + Pour **idp\$1response\$1timeout**, entrez ***the-number-of-seconds***. Il s'agit de la durée spécifiée en secondes pour attendre une réponse PingOne. Ceci s’applique uniquement au plugin du navigateur SAML.
  + Pour **listen\$1port**, entrez ***your-listen-port***. C’est le port que le serveur local écoute. La valeur par défaut est 7890. Ceci s'applique uniquement au plugin du navigateur SAML.

  Sous mac OS et Linux, modifiez également les paramètres de profil pour ajouter les exportations suivantes.

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------

# Autoriser Amazon Redshift à AWS accéder aux services en votre nom
<a name="authorizing-redshift-service"></a>

Certaines fonctionnalités d'Amazon Redshift nécessitent qu'Amazon Redshift accède à AWS d'autres services en votre nom. Par exemple, les commandes [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) et [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) peuvent charger ou décharger les données de votre cluster Amazon Redshift à l'aide d'un compartiment Amazon S3. La commande [CREATE EXTERNAL FUNCTION peut appeler une fonction](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html) AWS Lambda à l'aide d'une fonction Lambda définie par l'utilisateur (UDF) scalaire. Amazon Redshift Spectrum peut utiliser un catalogue de données dans Amazon AWS Glue Athena ou. Pour que vos clusters Amazon Redshift agissent en votre nom, vous fournissez les informations d'identification de sécurité à vos clusters. La méthode recommandée pour fournir des informations d’identification de sécurité consiste à spécifier un rôle Gestion des identités et des accès AWS (IAM). Pour COPY et UNLOAD, vous pouvez fournir des informations d’identification temporaires. 

Les utilisateurs ont besoin d'un accès programmatique s'ils souhaitent interagir avec AWS l'extérieur du AWS Management Console. La manière d'accorder un accès programmatique dépend du type d'utilisateur qui y accède AWS.

Pour accorder aux utilisateurs un accès programmatique, choisissez l’une des options suivantes.


****  

| Quel utilisateur a besoin d’un accès programmatique ? | À | Méthode | 
| --- | --- | --- | 
| IAM | (Recommandé) Utilisez les informations d'identification de la console comme informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/authorizing-redshift-service.html)  | 
|  Identité de la main-d’œuvre (Utilisateurs gérés dans IAM Identity Center)  | Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/authorizing-redshift-service.html)  | 
| IAM | Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. | Suivez les instructions de la section [Utilisation d'informations d'identification temporaires avec AWS les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) du Guide de l'utilisateur IAM. | 
| IAM | (Non recommandé)Utilisez des informations d'identification à long terme pour signer des demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/authorizing-redshift-service.html)  | 

Découvrez ci-dessous comment créer un rôle IAM doté des autorisations appropriées pour accéder à d'autres AWS services. Vous devez également associer le rôle à votre cluster et spécifier l'Amazon Resource Name (ARN) du rôle lorsque vous exécutez la commande Amazon Redshift. Pour plus d'informations, consultez [Autorisation des opérations COPY, UNLOAD, CREATE EXTERNAL FUNCTION et CREATE EXTERNAL SCHEMA à l'aide des rôles IAMAutorisation d’opérations à l’aide des rôles IAM](copy-unload-iam-role.md).

De plus, un super-utilisateur peut accorder le privilège ASSUMEROLE à des utilisateurs et des groupes spécifiques pour fournir l'accès à un rôle pour les opérations COPY et UNLOAD. Pour plus d'informations, consultez la rubrique [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) dans le *Guide du développeur de la base de données Amazon Redshift*.

## Création d'un rôle IAM pour permettre à votre cluster Amazon Redshift d'accéder aux services AWS


## Création d’un rôle IAM avec des autorisations
<a name="authorizing-redshift-service-creating-an-iam-role"></a>

Pour créer un rôle IAM afin d’autoriser votre cluster Amazon Redshift à communiquer avec d’autres services AWS en votre nom, procédez comme suit. Les valeurs utilisées dans cette section sont des exemples. Vous pouvez choisir des valeurs en fonction de vos besoins.<a name="create-iam-role-for-aws-services"></a>

**Pour créer un rôle IAM afin de permettre à Amazon Redshift d'accéder aux services AWS**

1. Ouvrez la [console IAM](https://console.aws.amazon.com/iam/home?#home).

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Sélectionnez **Create role** (Créer un rôle).

1. Choisissez **Service AWS **, puis **Redshift**.

1. Sous **Sélectionner votre cas d’utilisation**, choisissez **Redshift - Personnalisable**, puis **Suivant : Autorisations**. La page **Attacher une politique d’autorisations** s’affiche.

1. Pour accéder à Amazon S3 à l'aide de COPY, par exemple, vous pouvez utiliser **AmazonS3ReadOnlyAccess** et l'ajouter. Pour accéder à Amazon S3 à l'aide de COPY ou UNLOAD, nous vous suggérons de créer des politiques gérées qui restreignent l'accès au compartiment souhaité et utilisent les préfixes appropriés en conséquence. Pour les opérations de lecture et d'écriture, nous vous recommandons d'appliquer les moindres privilèges, ainsi que de restreindre uniquement les compartiments Amazon S3 et les préfixes de clé requis par Amazon Redshift.

   Pour accéder à l'appel des fonctions Lambda pour la commande CREATE EXTERNAL FUNCTION, ajoutez **AWSLambdaRole**.

   Pour Redshift Spectrum, en plus de l'accès à Amazon S3, ajoutez **AWSGlueConsoleFullAccess** ou **AmazonAthenaFullAccess**.

   Choisissez **Suivant : Balises**.

1. La page **Ajouter des balises** s’affiche. Si vous le souhaitez, vous pouvez ajouter des balises. Choisissez **Suivant : Vérification**.

1. Pour **Nom du rôle**, indiquez le nom de votre rôle, par exemple **RedshiftCopyUnload**. Sélectionnez ****Create role**** (Créer un rôle).

1. Le nouveau rôle est disponible pour tous les utilisateurs des clusters qui utilisent ce rôle. Pour limiter l’accès à des utilisateurs spécifiques uniquement sur certains clusters, ou sur des clusters dans des régions spécifiques, modifiez la relation d’approbation de ce rôle. Pour plus d'informations, consultez [Restriction de l'accès aux rôles IAM](authorizing-redshift-service-database-users.md).

1. Associez le rôle à votre cluster. Vous pouvez associer un rôle IAM à un cluster lors de la création du cluster, ou vous pouvez ajouter le rôle à un cluster existant. Pour plus d'informations, consultez [Association des rôles IAM aux clusters](copy-unload-iam-role-associating-with-clusters.md).
**Note**  
Pour restreindre l'accès à des données spécifiques, utilisez un rôle IAM qui accorde les moindres privilèges requis.

# Restriction de l'accès aux rôles IAM
<a name="authorizing-redshift-service-database-users"></a>

Par défaut, les rôles IAM qui sont disponibles pour un cluster Amazon Redshift sont disponibles pour tous les utilisateurs de ce cluster. Vous pouvez choisir de restreindre les rôles IAM à des utilisateurs de base de données Amazon Redshift spécifiques sur des clusters spécifiques ou à des régions spécifiques. 

Pour permettre uniquement aux utilisateurs de base de données spécifiques d'utiliser un rôle IAM, procédez comme suit.<a name="identify-db-users-for-iam-role"></a>

**Pour identifier les utilisateurs de base de données spécifiques avec accès à un rôle IAM**

1. Identifiez l'Amazon Resource Name (ARN) pour les utilisateurs de base de données de votre cluster Amazon Redshift. L'ARN d'un utilisateur de base de données est au format : `arn:aws:redshift:region:account-id:dbuser:cluster-name/user-name`.

   Pour Amazon Redshift sans serveur, utilisez le format ARN suivant. `arn:aws:redshift:region:account-id:dbuser:serverless-account-id-workgroup-id/user-name`

1. Ouvrez la [console IAM](https://console.aws.amazon.com/iam/home?#home).

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Sélectionnez le rôle IAM de votre choix pour restreindre l'accès aux utilisateurs de base de données Amazon Redshift spécifiques.

1. Choisissez l'onglet **Relations d'approbation**, puis **Modifier la relation d'approbation**. Un nouveau rôle IAM qui permet à Amazon Redshift AWS d'accéder à d'autres services en votre nom repose sur une relation de confiance comme suit :

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "redshift.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. Ajoutez une condition à la section action `sts:AssumeRole` de la relation d'approbation qui limite le champ `sts:ExternalId` aux valeurs que vous spécifiez. Incluez un ARN pour chaque utilisateur de base de données auquel vous voulez accorder l'accès au rôle. L'ID externe peut être n'importe quelle chaîne unique.

   Par exemple, la relation d'approbation suivante spécifie seuls les utilisateurs de base de données `user1` et `user2` sur le cluster `my-cluster` de la région `us-west-2` ont l'autorisation d'utiliser ce rôle IAM.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
     {
       "Effect": "Allow",
       "Principal": { 
         "Service": "redshift.amazonaws.com" 
       },
       "Action": "sts:AssumeRole",
       "Condition": {
         "StringEquals": {
           "sts:ExternalId": [
             "arn:aws:redshift:us-west-2:123456789012:dbuser:my-cluster/user1",
             "arn:aws:redshift:us-west-2:123456789012:dbuser:my-cluster/user2"
           ]
         }
       }
     }]
   }
   ```

------

1. Choisissez **Mettre à jour la politique d'approbation**.

# Restreindre un rôle IAM à une région AWS
<a name="authorizing-redshift-service-regions"></a>

Vous pouvez restreindre l'accès à un rôle IAM uniquement dans une certaine AWS région. Par défaut, les rôles IAM pour Amazon Redshift ne sont pas limités à une seule région.

Pour limiter l'utilisation d'un rôle IAM par région, procédez comme suit.<a name="identify-regionsfor-iam-role"></a>

**Pour identifier les régions autorisées pour un rôle IAM**

1. Ouvrez la [console IAM](https://console.aws.amazon.com/iam/home?#home) à l'adresse [https://console.aws.amazon.com/](https://console.aws.amazon.com/).

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Sélectionnez le rôle de votre choix pour modifier à l'aide de régions spécifiques.

1. Choisissez l'onglet **Relations d'approbation**, puis **Modifier la relation d'approbation**. Un nouveau rôle IAM qui permet à Amazon Redshift AWS d'accéder à d'autres services en votre nom repose sur une relation de confiance comme suit :

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "redshift.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. Modifiez la liste `Service` pour `Principal` avec la liste des régions spécifiques pour lesquelles vous voulez permettre l'utilisation du rôle. Chaque région de la liste `Service` doit être au format suivant : `redshift.region.amazonaws.com`.

   Par exemple, la relation d'approbation modifiée suivante permet d'utiliser le rôle IAM dans les régions `us-east-1` et `us-west-2` uniquement.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "redshift.us-east-1.amazonaws.com",
             "redshift.us-west-2.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. Choisissez **Mettre à jour la politique de confiance**

# Chaînage des rôles IAM dans Amazon Redshift
<a name="authorizing-redshift-service-chaining-roles"></a>

Lorsque vous attachez un rôle à votre cluster, celui-ci peut assumer ce rôle pour accéder à Amazon S3, Amazon Athena et en votre AWS Lambda nom. AWS Glue Si un rôle attaché à votre cluster n’a pas accès aux ressources nécessaires, vous pouvez créer une chaîne avec un autre rôle, lequel peut appartenir à un autre compte. Votre cluster endosse alors provisoirement le rôle relié par la chaîne afin d’accéder aux données. Vous pouvez également accorder des accès entre comptes en créant des chaînes de rôles. Chaque rôle de la chaîne passe au rôle suivant, jusqu’à ce que le cluster endosse le dernier rôle de la chaîne. Le nombre maximal de rôles IAM que vous pouvez associer est soumis à un quota. Pour plus d'informations, consultez le quota « Rôles IAM du cluster permettant à Amazon Redshift AWS d'accéder à d'autres services » dans. [Quotas pour les objets Amazon Redshift](amazon-redshift-limits.md#amazon-redshift-limits-quota) 

**Note**  
Vous devez spécifier les rôles IAM pour que la chaîne fonctionne correctement.

Supposons, par exemple, que l'entreprise A souhaite accéder aux données d'un compartiment Amazon S3 appartenant à l'entreprise B. L'entreprise A crée un rôle de AWS service pour Amazon Redshift nommé `RoleA` et l'attache à son cluster. L'entreprise B crée un rôle nommé `RoleB` qui est autorisé à accéder aux données du compartiment de l'entreprise B. Pour accéder aux données dans le compartiment de l'entreprise B, l'entreprise A exécute une commande COPY à l'aide d'un paramètre `iam_role` qui relie par chaîne `RoleA` et `RoleB`. Pendant la durée de l'opération COPY, `RoleA` endosse temporairement `RoleB` pour accéder au compartiment Amazon S3. 

Pour créer une chaîne de rôles, vous devez établir une relation d’approbation entre ces rôles. Un rôle qui endosse un autre rôle (par exemple, `RoleA`) doit disposer d'une politique d'autorisations qui l'autorise à endosser le rôle relié par la chaîne suivant (par exemple, `RoleB`). De même, le rôle qui transmet les autorisations (`RoleB`) doit avoir une politique d'approbation lui permettant de transmettre ses autorisations au rôle relié par la chaîne précédent (`RoleA`). Pour plus d'informations, consultez la rubrique [Utilisation de rôles IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) dans le Guide de l'utilisateur IAM. 

Le premier rôle de la chaîne doit être attaché au cluster. Le premier rôle, et chaque rôle ultérieur qui endosse le rôle suivant dans la chaîne, doivent avoir une politique incluant une déclaration spécifique. Cette déclaration comprend l'effet `Allow` sur l'action `sts:AssumeRole ` ainsi que l'Amazon Resource Name (ARN) du rôle suivant dans un élément `Resource`. Dans notre exemple, `RoleA` comporte la politique d'autorisation suivante, qui l'autorise à endosser `RoleB`, appartenant au compte AWS `210987654321`. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Stmt1487639602000",
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": "arn:aws:iam::111122223333:role/RoleB"        
       }
    ]
}
```

------

Un rôle transféré à un autre rôle doit établir une relation de confiance avec le rôle qui assume le rôle ou avec le AWS compte propriétaire du rôle. Dans notre exemple, `RoleB` possède la politique d'approbation suivante pour établir une relation d'approbation avec `RoleA`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/RoleA"
      }
    }
  ]
}
```

------

La politique de confiance suivante établit une relation de confiance avec le propriétaire du `RoleA` AWS compte`123456789012`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:root"
      }
    }      
  ]
}
```

------

**Note**  
Pour restreindre l'autorisation de chaînage de rôles à des utilisateurs spécifiques, définissez une condition. Pour de plus amples informations, veuillez consulter [Restriction de l'accès aux rôles IAM](authorizing-redshift-service-database-users.md).

Lorsque vous exécutez une commande UNLOAD, COPY, CREATE EXTERNAL FUNCTION ou CREATE EXTERNAL SCHEMA, vous enchaînez les rôles en incluant une liste de rôles séparés par des virgules ARNs dans le paramètre. `iam_role` L'exemple suivant montre la syntaxe d'une chaîne de rôles dans le paramètre `iam_role`. 

```
unload ('select * from venue limit 10') 
to 's3://acmedata/redshift/venue_pipe_'
IAM_ROLE 'arn:aws:iam::<aws-account-id-1>:role/<role-name-1>[,arn:aws:iam::<aws-account-id-2>:role/<role-name-2>][,...]';
```

**Note**  
L'intégralité de la chaîne de rôle est placée entre guillemets simples et ne doit pas contenir d'espaces.

Dans les exemples suivants, `RoleA` est attaché au cluster appartenant au compte AWS `123456789012`. `RoleB`, qui appartient au compte `210987654321`, a l'autorisation d'accéder au compartiment nommé `s3://companyb/redshift/`. L'exemple suivant crée une chaîne avec `RoleA` et `RoleB` pour décharger des données dans le compartiment s3://companyb/redshift/. 

```
unload ('select * from venue limit 10') 
to 's3://companyb/redshift/venue_pipe_'
iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';
```

L'exemple suivant utilise une commande COPY pour charger les données qui ont été déchargées dans l'exemple précédent.

```
copy venue 
from 's3://companyb/redshift/venue_pipe_'
iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';
```

Dans l'exemple suivant, CREATE EXTERNAL SCHEMA utilise des rôles reliés par chaîne pour endosser le rôle `RoleB`.

```
create external schema spectrumexample from data catalog 
database 'exampledb' region 'us-west-2' 
iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';
```

Dans l'exemple suivant, CREATE EXTERNAL FUNCTION utilise des rôles reliés par chaîne pour endosser le rôle `RoleB`.

```
create external function lambda_example(varchar)
returns varchar
volatile
lambda 'exampleLambdaFunction'
iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';
```

# Autorisation des opérations COPY, UNLOAD, CREATE EXTERNAL FUNCTION et CREATE EXTERNAL SCHEMA à l'aide des rôles IAM
<a name="copy-unload-iam-role"></a>

Vous pouvez utiliser la commande [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) pour charger (ou importer) des données dans Amazon Redshift et la commande [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) pour décharger (ou exporter) des données depuis Amazon Redshift. Vous pouvez utiliser la commande CREATE EXTERNAL FUNCTION pour créer des fonctions définies par l'utilisateur qui invoquent des fonctions depuis AWS Lambda. 

Lorsque vous utilisez Amazon Redshift Spectrum, vous utilisez la commande [CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html) pour spécifier l'emplacement d'un compartiment Amazon S3 qui contient vos données. Lorsque vous exécutez les commandes COPY, UNLOAD ou CREATE EXTERNAL SCHEMA, vous fournissez des informations d'identification de sécurité. Ces informations d'identification autorisent votre cluster Amazon Redshift à lire ou écrire des données vers et depuis votre destination cible, comme un compartiment Amazon S3. 

Lorsque vous exécutez CREATE EXTERNAL FUNCTION, vous fournissez des informations d'identification de sécurité à l'aide du paramètre de rôle IAM. Ces informations d'identification autorisent votre cluster Amazon Redshift à appeler des fonctions Lambda depuis. AWS Lambda La méthode préférée pour fournir des informations d'identification de sécurité consiste à spécifier un rôle Gestion des identités et des accès AWS (IAM). Pour COPY et UNLOAD, vous pouvez fournir des informations d’identification temporaires. Pour plus d'informations sur la création d'un rôle IAM, consultez [Autoriser Amazon Redshift à AWS accéder aux services en votre nom](authorizing-redshift-service.md).

Les utilisateurs ont besoin d'un accès programmatique s'ils souhaitent interagir avec AWS l'extérieur du AWS Management Console. La manière d'accorder un accès programmatique dépend du type d'utilisateur qui y accède AWS.

Pour accorder aux utilisateurs un accès programmatique, choisissez l’une des options suivantes.


****  

| Quel utilisateur a besoin d’un accès programmatique ? | À | Méthode | 
| --- | --- | --- | 
| IAM | (Recommandé) Utilisez les informations d'identification de la console comme informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/copy-unload-iam-role.html)  | 
|  Identité de la main-d’œuvre (Utilisateurs gérés dans IAM Identity Center)  | Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/copy-unload-iam-role.html)  | 
| IAM | Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. | Suivez les instructions de la section [Utilisation d'informations d'identification temporaires avec AWS les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) du Guide de l'utilisateur IAM. | 
| IAM | (Non recommandé)Utilisez des informations d'identification à long terme pour signer des demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/copy-unload-iam-role.html)  | 

Les étapes de l'utilisation d'un rôle IAM sont les suivantes :
+ Créer un rôle IAM à utiliser avec votre cluster Amazon Redshift.
+ Associer le rôle IAM au cluster.
+ Incluez l'ARN du rôle IAM lorsque vous appelez la commande COPY, UNLOAD, CREATE EXTERNAL SCHEMA ou CREATE EXTERNAL FUNCTION.

# Association des rôles IAM aux clusters
<a name="copy-unload-iam-role-associating-with-clusters"></a>

Après avoir créé un rôle IAM qui autorise Amazon Redshift à accéder à d'autres services AWS pour vous, vous devez associer ce rôle à un cluster Amazon Redshift. Vous devez le faire avant de pouvoir utiliser le rôle pour charger ou décharger des données. 

## Autorisations requises pour associer un rôle IAM à un cluster
<a name="copy-unload-iam-role-associating-with-clusters-perms"></a>

Pour associer un rôle IAM à un cluster, un utilisateur doit avoir l'autorisation `iam:PassRole` pour ce rôle IAM. Cette autorisation permet à un administrateur de restreindre les rôles IAM qu'un utilisateur peut associer aux clusters Amazon Redshift. Il est recommandé d’associer des politiques d’autorisation à un rôle IAM, puis de l’attribuer à des utilisateurs et à des groupes, le cas échéant. Pour plus d’informations, consultez [Identity and Access Management dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html).

L'exemple suivant illustre une politique IAM qui peut être attachée à un utilisateur et qui permet à l'utilisateur d'exécuter ces actions : 
+ Obtenez les détails de tous les clusters Amazon Redshift détenus par ce compte d'utilisateur.
+ Associez l'un des trois rôles IAM à l'un ou l'autre des deux clusters Amazon Redshift.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "redshift:DescribeClusters",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                 "redshift:ModifyClusterIamRoles",
                 "redshift:CreateCluster"
            ],
            "Resource": [
                 "arn:aws:redshift:us-east-1:123456789012:cluster:my-redshift-cluster",
                 "arn:aws:redshift:us-east-1:123456789012:cluster:my-second-redshift-cluster"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/MyRedshiftRole",
                "arn:aws:iam::123456789012:role/SecondRedshiftRole",
                "arn:aws:iam::123456789012:role/ThirdRedshiftRole"
             ]
        }
    ]
}
```

------

Une fois qu'un utilisateur dispose des autorisations appropriées, cet utilisateur peut associer un rôle IAM à un cluster Amazon Redshift. Le rôle IAM est ensuite prêt à utiliser la commande COPY ou UNLOAD, ou d'autres commandes Amazon Redshift.

Pour plus d'informations sur les politiques IAM, consultez [Présentation des politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dans le *Guide de l'utilisateur IAM*.

## Gestion de l'association d'un rôle IAM à un cluster
<a name="managing-iam-role-association-with-cluster"></a>

Vous pouvez associer un rôle IAM à un cluster Amazon Redshift lorsque vous créez le cluster. Ou vous pouvez modifier un cluster existant ou ajouter ou supprimer une ou plusieurs associations de rôle IAM. 

Tenez compte des points suivants :
+ Le nombre maximal de rôles IAM que vous pouvez associer est soumis à un quota.
+ Un rôle IAM peut être associé à plusieurs clusters Amazon Redshift.
+ Un rôle IAM ne peut être associé à un cluster Amazon Redshift que si le rôle IAM et le cluster appartiennent au même compte. AWS 

Vous pouvez gérer les associations de rôle IAM d'un cluster avec la console à l'aide de la procédure suivante.

**Pour gérer les associations de rôles IAM**

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dans le menu de navigation, choisissez **Clusters**, puis le cluster que vous souhaitez mettre à jour.

1. Pour **Actions**, choisissez **Gérer les rôles IAM** pour afficher la liste actuelle des rôles IAM associés au cluster. 

1. Sur la page **Gérer les rôles IAM**, choisissez les rôles IAM à ajouter, puis **Ajouter un rôle IAM**. 

1. Choisissez **Terminé** pour enregistrer les changements. 

Vous pouvez gérer les associations de rôles IAM pour un cluster à AWS CLI l'aide des approches suivantes.

Pour associer un rôle IAM à un cluster lors de la création du cluster, spécifiez l'Amazon Resource Name (ARN) du rôle IAM comme paramètre `--iam-role-arns` de la commande `create-cluster`. Le nombre maximal de rôles IAM que vous pouvez ajouter lorsque vous appelez la commande `create-cluster` est soumis à un quota. 

L'association et la dissociation des rôles IAM avec les clusters Amazon Redshift constitue un processus asynchrone. Vous pouvez obtenir le statut de toutes les associations de rôle IAM et de cluster en appelant la commande `describe-clusters`.

L'exemple suivant associe deux rôles IAM avec le cluster nouvellement créé nommé `my-redshift-cluster`.

```
aws redshift create-cluster \
    --cluster-identifier "my-redshift-cluster" \
    --node-type "ra3.4xlarge" \
    --number-of-nodes 16 \
    --iam-role-arns "arn:aws:iam::123456789012:role/RedshiftCopyUnload" \
                    "arn:aws:iam::123456789012:role/SecondRedshiftRole"
```

Pour associer un rôle IAM à un cluster Amazon Redshift existant, spécifiez l'Amazon Resource Name (ARN) du rôle IAM comme paramètre `--add-iam-roles` de la commande `modify-cluster-iam-roles`. Le nombre maximal de rôles IAM que vous pouvez ajouter lorsque vous appelez la commande `modify-cluster-iam-roles` est soumis à un quota. 

L'exemple suivant associe un rôle IAM à un cluster existant nommé `my-redshift-cluster`.

```
aws redshift modify-cluster-iam-roles \
    --cluster-identifier "my-redshift-cluster" \
    --add-iam-roles "arn:aws:iam::123456789012:role/RedshiftCopyUnload"
```

Pour dissocier un rôle IAM d'un cluster, spécifiez l'ARN du rôle IAM comme paramètre `--remove-iam-roles` de la commande `modify-cluster-iam-roles`. `modify-cluster-iam-roles` Le nombre maximal de rôles IAM que vous pouvez supprimer lorsque vous appelez la commande `modify-cluster-iam-roles` est soumis à un quota.

L'exemple suivant supprime l'association pour un rôle IAM pour le `123456789012` AWS compte d'un cluster nommé`my-redshift-cluster`.

```
aws redshift modify-cluster-iam-roles \
    --cluster-identifier "my-redshift-cluster" \
    --remove-iam-roles "arn:aws:iam::123456789012:role/RedshiftCopyUnload"
```

### Répertorier les associations de rôles IAM pour un cluster à l'aide du AWS CLI
<a name="w2aac37c30c30c35c31b7b9c29"></a>

Pour afficher tous les rôles IAM associés à un cluster Amazon Redshift et l'état de l'association de rôle IAM, appelez la commande `describe-clusters`. L'ARN de chaque rôle IAM associé au cluster est retourné dans la liste `IamRoles` comme illustré dans l'exemple de sortie suivant.

Les rôles qui ont été associés au cluster affichent l'état `in-sync`. Les rôles qui sont en cours d'association au cluster affichent l'état `adding`. Les rôles qui sont en cours de dissociation du cluster affichent l'état `removing`.

```
{
    "Clusters": [
        {
            "ClusterIdentifier": "my-redshift-cluster",
            "NodeType": "ra3.4xlarge",
            "NumberOfNodes": 16,
            "IamRoles": [
                {
                    "IamRoleArn": "arn:aws:iam::123456789012:role/MyRedshiftRole",
                    "IamRoleApplyStatus": "in-sync"
                },
                {
                    "IamRoleArn": "arn:aws:iam::123456789012:role/SecondRedshiftRole",
                    "IamRoleApplyStatus": "in-sync"
                }
            ],
            ...
        },
        {
            "ClusterIdentifier": "my-second-redshift-cluster",
            "NodeType": "ra3.4xlarge",
            "NumberOfNodes": 10,
            "IamRoles": [
                {
                    "IamRoleArn": "arn:aws:iam::123456789012:role/MyRedshiftRole",
                    "IamRoleApplyStatus": "in-sync"
                },
                {
                    "IamRoleArn": "arn:aws:iam::123456789012:role/SecondRedshiftRole",
                    "IamRoleApplyStatus": "in-sync"
                },
                {
                    "IamRoleArn": "arn:aws:iam::123456789012:role/ThirdRedshiftRole",
                    "IamRoleApplyStatus": "in-sync"
                }
            ],
            ...
        }
    ]
}
```

Pour plus d'informations sur l'utilisation du AWS CLI, consultez le *[Guide de AWS CLI l'utilisateur](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)*.

# Création d'un rôle IAM par défaut pour Amazon Redshift
<a name="default-iam-role"></a>

 Lorsque vous créez des rôles IAM via la console Redshift, Amazon Redshift les crée par programmation dans Compte AWS votre console et y associe automatiquement les politiques gérées existantes. AWS Cette approche signifie que vous pouvez rester dans la console Redshift et que vous n'avez pas besoin de passer à la console IAM pour créer des rôles. Pour un contrôle plus détaillé des autorisations pour un rôle IAM existant créé dans la console Amazon Redshift, vous pouvez attacher une politique gérée personnalisée au rôle IAM. 

## Rôles IAM créés dans la console
<a name="default-iam-role-overview"></a>

Lorsque vous utilisez la console Amazon Redshift pour créer des rôles IAM, Amazon Redshift suit tous les rôles IAM créés via la console. Amazon Redshift présélectionne le rôle IAM par défaut le plus récent pour créer tous les clusters et restaurer des clusters à partir d'instantanés.

Vous pouvez créer un rôle IAM via la console disposant d'une politique avec les autorisations nécessaires pour exécuter des commandes SQL. Ces commandes incluent COPY, UNLOAD, CREATE EXTERNAL FUNCTION, CREATE EXTERNAL TABLE, CREATE EXTERNAL SCHEMA, CREATE MODEL ou CREATE LIBRARY. Vous pouvez également obtenir un contrôle plus détaillé de l'accès des utilisateurs à vos ressources AWS en créant et en attachant des politiques personnalisées au rôle IAM.

Lorsque vous avez créé un rôle IAM et que vous le définissez comme rôle par défaut pour le cluster à l'aide de la console, vous n'avez pas besoin de fournir l'Amazon Resource Name (ARN) du rôle IAM pour effectuer l'authentification et l'autorisation.

Le rôle IAM que vous créez via la console pour votre cluster a la politique gérée `AmazonRedshiftAllCommandsFullAccess` attachée automatiquement. Ce rôle IAM permet à Amazon Redshift de copier, décharger, interroger et analyser les données relatives AWS aux ressources de votre compte IAM. La politique gérée permet d’accéder aux opérations [COPY](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-authorization.html), [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html), [CREATE EXTERNAL FUNCTION](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html), [CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html), [CREATE MODEL](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_MODEL.html) et [CREATE LIBRARY](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_LIBRARY.html). La politique accorde également des autorisations pour exécuter des instructions SELECT pour AWS des services connexes, tels qu'Amazon S3, Amazon CloudWatch Logs, Amazon SageMaker AI et AWS Glue.

Les commandes CREATE EXTERNAL FUNCTION, CREATE EXTERNAL SCHEMA, CREATE MODEL et CREATE LIBRARY possèdent un mot clé `default`. En ce qui concerne ce mot clé pour ces commandes, Amazon Redshift utilise le rôle IAM défini par défaut et associé au cluster lors de l'exécution de la commande. Vous pouvez exécuter la commande [DEFAULT\$1IAM\$1ROLE](https://docs.aws.amazon.com/redshift/latest/dg/r_DEFAULT_IAM_ROLE.html) pour vérifier le rôle IAM par défaut actuel attaché au cluster. 

Pour contrôler les privilèges d'accès du rôle IAM créé et défini par défaut pour votre cluster Redshift, utilisez le privilège ASSUMEROLE. Ce contrôle d'accès s'applique aux utilisateurs et aux groupes de bases de données lorsqu'ils exécutent des commandes telles que celles répertoriées précédemment. Après avoir accordé le privilège ASSUMEROLE à un utilisateur ou un groupe pour un rôle IAM, l'utilisateur ou le groupe peut assumer ce rôle lors de l'exécution de ces commandes. Le privilège ASSUMEROLE vous permet d'accorder l'accès aux commandes appropriées selon vos besoins.

Vous pouvez effectuer les actions suivantes à l'aide de la console Amazon Redshift :
+ [Création d'un rôle IAM comme rôle IAM par défaut](#create-iam)
+ [Suppression de rôles IAM de votre cluster](#remove-iam)
+ [Association de rôles IAM à votre cluster](#associate-iam)
+ [Définition d'un rôle IAM comme rôle par défaut](#set-default-iam)
+ [Faire en sorte qu'un rôle IAM ne soit plus par défaut pour votre cluster](#clear-default-iam)

## Autorisations de la politique AmazonRedshiftAllCommandsFullAccess gérée
<a name="default-iam-role-permissions"></a>

L'exemple suivant illustre les autorisations dans la politique gérée `AmazonRedshiftAllCommandsFullAccess` qui autorise certaines actions pour le rôle IAM défini par défaut pour votre cluster. Le rôle IAM avec des politiques d'autorisation attachées autorise les actions pouvant être effectuées ou non par un utilisateur ou un groupe. Compte tenu de ces autorisations, vous pouvez exécuter la commande COPY depuis Amazon S3, exécuter la commande UNLOAD et utiliser la commande CREATE MODEL. 

```
{
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketAcl",
                "s3:GetBucketCors",
                "s3:GetEncryptionConfiguration",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets",
                "s3:ListMultipartUploadParts",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject",
                "s3:PutBucketAcl",
                "s3:PutBucketCors",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:CreateBucket"
            ],
            "Resource": [
                "arn:aws:s3:::redshift-downloads",
                "arn:aws:s3:::redshift-downloads/*",
                "arn:aws:s3:::*redshift*",
                "arn:aws:s3:::*redshift*/*"
            ]
}
```

L'exemple suivant illustre les autorisations de la politique gérée `AmazonRedshiftAllCommandsFullAccess` qui autorise certaines actions pour le rôle IAM défini par défaut pour le cluster. Le rôle IAM avec des politiques d'autorisation attachées autorise les actions pouvant être effectuées ou non par un utilisateur ou un groupe. Compte tenu des autorisations suivantes, vous pouvez exécuter la commande CREATE EXTERNAL FUNCTION.

```
{
    "Action": [
        "lambda:InvokeFunction"
    ],
    "Resource": "arn:aws:lambda:*:*:function:*redshift*"
}
```

L’exemple suivant illustre les autorisations de la politique gérée `AmazonRedshiftAllCommandsFullAccess` qui autorise certaines actions pour le rôle IAM défini par défaut pour le cluster. Le rôle IAM avec des politiques d'autorisation attachées autorise les actions pouvant être effectuées ou non par un utilisateur ou un groupe. Compte tenu des autorisations suivantes, vous pouvez exécuter les commandes CREATE EXTERNAL SCHEMA et CREATE EXTERNAL TABLE nécessaires pour Amazon Redshift Spectrum. 

```
{
            "Effect": "Allow",
            "Action": [
                "glue:CreateDatabase",
                "glue:DeleteDatabase",
                "glue:GetDatabase",
                "glue:GetDatabases",
                "glue:UpdateDatabase",
                "glue:CreateTable",
                "glue:DeleteTable",
                "glue:BatchDeleteTable",
                "glue:UpdateTable",
                "glue:GetTable",
                "glue:GetTables",
                "glue:BatchCreatePartition",
                "glue:CreatePartition",
                "glue:DeletePartition",
                "glue:BatchDeletePartition",
                "glue:UpdatePartition",
                "glue:GetPartition",
                "glue:GetPartitions",
                "glue:BatchGetPartition"
            ],
            "Resource": [
                "arn:aws:glue:*:*:table/*redshift*/*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*redshift*"
            ]
}
```

L'exemple suivant illustre les autorisations de la politique gérée `AmazonRedshiftAllCommandsFullAccess` qui autorise certaines actions pour le rôle IAM défini par défaut pour le cluster. Le rôle IAM avec des politiques d'autorisation attachées autorise les actions pouvant être effectuées ou non par un utilisateur ou un groupe. Compte tenu des autorisations suivantes, vous pouvez exécuter la commande CREATE EXTERNAL SCHEMA à l'aide de requêtes fédérées. 

```
{
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetResourcePolicy",
                "secretsmanager:GetSecretValue",
                "secretsmanager:DescribeSecret",
                "secretsmanager:ListSecretVersionIds"
            ],
            "Resource": [
                "arn:aws:secretsmanager:*:*:secret:*Redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword",
                "secretsmanager:ListSecrets"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "secretsmanager:ResourceTag/Redshift": "true"
                }
            }
},
```

## Gestion des rôles IAM créés pour un cluster à l'aide de la console
<a name="managing-iam-role-console"></a>

Pour créer, modifier et supprimer des rôles IAM créés à partir de la console Amazon Redshift, reportez-vous à la section **Clusters** dans la console.

### Création d'un rôle IAM comme rôle IAM par défaut
<a name="create-iam"></a>

Sur la console, vous pouvez créer un rôle IAM pour votre cluster avec la politique `AmazonRedshiftAllCommandsFullAccess` attachée automatiquement. Le nouveau rôle IAM que vous créez permet à Amazon Redshift de copier, de charger, d'interroger et d'analyser des données provenant des ressources Amazon dans votre compte IAM.

Il ne peut y avoir qu'un seul rôle IAM défini comme valeur par défaut pour le cluster. Si vous créez un autre rôle IAM en tant que rôle par défaut du cluster lorsqu'un rôle IAM existant est actuellement attribué par défaut, le nouveau rôle IAM remplace l'autre rôle comme valeur par défaut.

**Pour créer un cluster et un rôle IAM défini comme valeur par défaut pour le nouveau cluster**

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dans le menu de navigation, choisissez **Clusters**. Les clusters associés à votre compte en cours Région AWS sont répertoriés. Un sous-ensemble des propriétés de chaque cluster s’affiche dans les colonnes de la liste.

1. Choisissez **Créer un cluster** pour créer un cluster.

1. Suivez les instructions sur la page de la console pour entrer les propriétés dans **Configuration du cluster**. Pour plus d’informations sur cette étape, consultez [Création d’un cluster](create-cluster.md).

1. (Facultatif) Choisissez **Load sample data (Chargement des exemples de données)** pour charger l'exemple de jeu de données sur votre cluster Amazon Redshift afin de commencer à utiliser l'éditeur de requête pour interroger des données. 

   Si vous êtes derrière un pare-feu, le port de la base de données doit être ouvert et accepter les connexions entrantes. 

1. Suivez les instructions sur la page de la console pour entrer les propriétés dans **Configurations de la base de données**.

1. Sous **Cluster permissions (Autorisations de cluster)**, depuis **Manage IAM roles (Gérer les rôles IAM)**, choisissez **Create IAM role (Créer un rôle IAM)**.

1. Spécifiez un compartiment Amazon S3 auquel le rôle IAM doit accéder en choisissant l'une des méthodes suivantes :
   + Choisissez **No additional Amazon S3 bucket (Pas de compartiment Amazon S3 supplémentaire)**pour créer le rôle IAM sans spécifier de compartiments Amazon S3 spécifiques.
   + Choisissez **Any Amazon S3 bucket (N'importe quel compartiment Amazon S3)**pour permettre aux utilisateurs qui ont accès à votre cluster Amazon Redshift d'accéder également à n'importe quel compartiment Amazon S3 et à son contenu dans votre Compte AWS.
   + Choisissez **Specific Amazon S3 buckets (Compartiments Amazon S3 spécifiques)** pour spécifier un ou plusieurs compartiments Amazon S3 auxquels le rôle IAM en cours de création est autorisé à accéder. Choisissez ensuite un ou plusieurs compartiments Amazon S3 dans le tableau.

1. Choisissez **Create IAM role as default (Créer un rôle IAM par défaut)**. Amazon Redshift crée et définit automatiquement le rôle IAM comme rôle par défaut pour votre cluster.

1. Choisissez **Créer un cluster** pour créer le cluster. Le cluster peut prendre plusieurs minutes pour être prêt à être utilisé.

### Suppression de rôles IAM de votre cluster
<a name="remove-iam"></a>

Vous pouvez supprimer un ou plusieurs rôles IAM de votre cluster.

**Pour supprimer des rôles IAM de votre cluster**

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dans le menu de navigation, choisissez **Clusters**. Les clusters associés à votre compte en cours Région AWS sont répertoriés. Un sous-ensemble des propriétés de chaque cluster s’affiche dans les colonnes de la liste.

1. Choisissez le cluster pour lequel vous souhaitez supprimer le rôle IAM.

1. Sous **Cluster permissions (Autorisations de cluster)**, choisissez un ou plusieurs rôles IAM que vous souhaitez supprimer du cluster.

1. Depuis **Manage IAM roles (Gérer les rôles IAM)**, choisissez **Remove IAM roles (Supprimer des rôles IAM)**.

### Association de rôles IAM à votre cluster
<a name="associate-iam"></a>

Vous pouvez associer un ou plusieurs rôles IAM à votre cluster.

**Pour associer des rôles IAM à votre cluster**

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dans le menu de navigation, choisissez **Clusters**. Les clusters associés à votre compte en cours Région AWS sont répertoriés. Un sous-ensemble des propriétés de chaque cluster s’affiche dans les colonnes de la liste.

1. Choisissez le cluster auquel vous souhaitez associer des rôles IAM.

1. Sous **Cluster permissions (Autorisations de cluster)**, choisissez un ou plusieurs rôles IAM que vous souhaitez associer au cluster.

1. Depuis **Manage IAM roles (Gérer les rôles IAM)**, choisissez **Associate IAM roles (Associer des rôles IAM)**.

1. Choisissez un ou plusieurs rôles IAM à associer à votre cluster.

1. Ensuite, choisissez **Associate IAM roles (Associer des rôles IAM)**.

### Définition d'un rôle IAM comme rôle par défaut
<a name="set-default-iam"></a>

Vous pouvez définir un rôle IAM comme rôle par défaut pour votre cluster.

**Pour faire d'un rôle IAM le rôle par défaut de votre cluster**

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dans le menu de navigation, choisissez **Clusters**. Les clusters associés à votre compte en cours Région AWS sont répertoriés. Un sous-ensemble des propriétés de chaque cluster s’affiche dans les colonnes de la liste.

1. Choisissez le cluster pour lequel vous souhaitez définir un rôle IAM par défaut.

1. Sous **Cluster permissions (Autorisations de cluster)** depuis **Associated IAM roles (Rôles IAM associés)**, choisissez un rôle IAM que vous souhaitez définir comme rôle par défaut pour le cluster.

1. Sous **Set Default (Définir par défaut)**, choisissez **Make default (Configuration par défaut)**.

1. À l'invite, choisissez **Set Default (Définir par défaut)** pour confirmer que le rôle IAM spécifié est défini par défaut.

### Faire en sorte qu'un rôle IAM ne soit plus par défaut pour votre cluster
<a name="clear-default-iam"></a>

Vous pouvez faire en sorte qu'un rôle IAM ne soit plus le rôle par défaut de votre cluster.

**Pour supprimer un rôle IAM comme rôle par défaut pour votre cluster**

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dans le menu de navigation, choisissez **Clusters**. Les clusters associés à votre compte en cours Région AWS sont répertoriés. Un sous-ensemble des propriétés de chaque cluster s’affiche dans les colonnes de la liste.

1. Choisissez le cluster auquel vous souhaitez associer des rôles IAM.

1. Sous **Cluster permissions (Autorisations de cluster)**, depuis **Associated IAM roles (Rôles IAM associés)**, choisissez le rôle IAM par défaut.

1. Sous **Set Default (Définir par défaut)**, choisissez **Clear default (Effacer la valeur par défaut)**.

1. À l'invite, choisissez **Clear default (Effacer la valeur par défaut)** pour confirmer que le rôle IAM spécifié est effacé par défaut.

## Gestion des rôles IAM créés sur le cluster à l'aide du AWS CLI
<a name="managing-iam-role-association-with-cluster-cli"></a>

Vous pouvez gérer les rôles IAM créés sur le cluster à l'aide de la AWS CLI.

### Pour créer un cluster Amazon Redshift avec un jeu de rôles IAM par défaut
<a name="create-cluster-iam"></a>

Pour créer un cluster Amazon Redshift avec un rôle IAM, définissez-le par défaut pour le cluster, utilisez la commande. `aws redshift create-cluster` AWS CLI 

La AWS CLI commande suivante crée un cluster Amazon Redshift et le rôle IAM nommé myrole1. La AWS CLI commande définit également myrole1 comme valeur par défaut pour le cluster.

```
aws redshift create-cluster \
    --node-type dc2.large \
    --number-of-nodes 2 \
    --master-username adminuser \
    --master-user-password TopSecret1 \
    --cluster-identifier mycluster \
    --iam-roles 'arn:aws:iam::012345678910:role/myrole1' 'arn:aws:iam::012345678910:role/myrole2' \
    --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole1'
```

L'extrait suivant représente un exemple de réponse.

```
{
    "Cluster": {
        "ClusterIdentifier": "mycluster",
        "NodeType": "dc2.large",
        "MasterUsername": "adminuser",      
        "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1",
        "IamRoles": [
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1",
                "ApplyStatus": "adding"
            },
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2",
                "ApplyStatus": "adding"
            }
        ]
        ...
    }
}
```

### Pour ajouter un ou plusieurs rôles IAM à un cluster Amazon Redshift
<a name="modify-cluster-add-iam"></a>

Pour ajouter un ou plusieurs rôles IAM associés au cluster, utilisez la `aws redshift modify-cluster-iam-roles` AWS CLI commande.

La AWS CLI commande suivante ajoute `myrole3` et `myrole4` au cluster.

```
aws redshift modify-cluster-iam-roles \
    --cluster-identifier mycluster \
    --add-iam-roles 'arn:aws:iam::012345678910:role/myrole3' 'arn:aws:iam::012345678910:role/myrole4'
```

L’extrait suivant représente un exemple de réponse.

```
{
    "Cluster": {
        "ClusterIdentifier": "mycluster",
        "NodeType": "dc2.large",
        "MasterUsername": "adminuser",
        "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1",
        "IamRoles": [
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1",
                "ApplyStatus": "in-sync"
            },
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2",
                "ApplyStatus": "in-sync"
            },
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3",
                "ApplyStatus": "adding"
            },
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole4",
                "ApplyStatus": "adding"
            }
        ],
        ...
    }
}
```

### Pour supprimer un ou plusieurs rôles IAM d'un cluster Amazon Redshift
<a name="modify-cluster-remove-iam"></a>

Pour supprimer un ou plusieurs rôles IAM associés au cluster, utilisez la `aws redshift modify-cluster-iam-roles` AWS CLI commande.

La AWS CLI commande suivante permet de supprimer `myrole3` et `myrole4` de quitter le cluster.

```
aws redshift modify-cluster-iam-roles \
    --cluster-identifier mycluster \
    --remove-iam-roles 'arn:aws:iam::012345678910:role/myrole3' 'arn:aws:iam::012345678910:role/myrole4'
```

L’extrait suivant représente un exemple de réponse.

```
{
    "Cluster": {
        "ClusterIdentifier": "mycluster",
        "NodeType": "dc2.large",
        "MasterUsername": "adminuser",
        "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1",
        "IamRoles": [
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1",
                "ApplyStatus": "in-sync"
            },
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2",
                "ApplyStatus": "in-sync"
            },
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3",
                "ApplyStatus": "removing"
            },
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole4",
                "ApplyStatus": "removing"
            }
        ],
        ...
    }
}
```

### Pour définir un rôle IAM associé comme rôle par défaut pour le cluster
<a name="modify-cluster-default-iam-associated"></a>

Pour définir un rôle IAM associé comme rôle par défaut pour le cluster, utilisez la `aws redshift modify-cluster-iam-roles` AWS CLI commande.

La AWS CLI commande suivante est définie `myrole2` comme valeur par défaut pour le cluster.

```
aws redshift modify-cluster-iam-roles \
    --cluster-identifier mycluster \
    --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole2'
```

L’extrait suivant représente un exemple de réponse.

```
{
    "Cluster": {
        "ClusterIdentifier": "mycluster",
        "NodeType": "dc2.large",
        "MasterUsername": "adminuser",
        "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole2",
        "IamRoles": [
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1",
                "ApplyStatus": "in-sync"
            },
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2",
                "ApplyStatus": "in-sync"
            }
        ],
        ...
    }
}
```

### Pour définir un rôle IAM non associé comme rôle par défaut pour le cluster
<a name="modify-cluster-default-iam-not-associated"></a>

Pour définir un rôle IAM non associé comme rôle par défaut pour le cluster, utilisez la `aws redshift modify-cluster-iam-roles` AWS CLI commande.

La AWS CLI commande suivante ajoute `myrole2` au cluster Amazon Redshift et le définit comme valeur par défaut pour le cluster.

```
aws redshift modify-cluster-iam-roles \
    --cluster-identifier mycluster \
    --add-iam-roles 'arn:aws:iam::012345678910:role/myrole3' \
    --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole3'
```

L’extrait suivant représente un exemple de réponse.

```
{
    "Cluster": {
        "ClusterIdentifier": "mycluster",
        "NodeType": "dc2.large",
        "MasterUsername": "adminuser",
        "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole3",
        "IamRoles": [
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1",
                "ApplyStatus": "in-sync"
            },
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2",
                "ApplyStatus": "in-sync"
            },
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3",
                "ApplyStatus": "adding"
            }
        ],
        ...
    }
}
```

### Pour restaurer un cluster à partir d'un instantané et lui définir un rôle IAM comme rôle par défaut
<a name="restore-cluster-iam"></a>

Lorsque vous restaurez votre cluster à partir d'un instantané, vous pouvez associer un rôle IAM existant ou en créer un et le définir comme rôle par défaut pour le cluster.

Pour restaurer un cluster Amazon Redshift à partir d'un instantané et définir un rôle IAM comme rôle par défaut du cluster, utilisez la commande. `aws redshift restore-from-cluster-snapshot` AWS CLI 

La AWS CLI commande suivante restaure le cluster à partir d'un instantané et le définit `myrole2` comme valeur par défaut pour le cluster.

```
aws redshift restore-from-cluster-snapshot \
    --cluster-identifier mycluster-clone \
    --snapshot-identifier my-snapshot-id
    --iam-roles 'arn:aws:iam::012345678910:role/myrole1' 'arn:aws:iam::012345678910:role/myrole2' \
    --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole1'
```

L’extrait suivant représente un exemple de réponse.

```
{
    "Cluster": {
        "ClusterIdentifier": "mycluster-clone",
        "NodeType": "dc2.large",
        "MasterUsername": "adminuser",
        "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1",
        "IamRoles": [
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1",
                "ApplyStatus": "adding"
            },
            {
                "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2",
                "ApplyStatus": "adding"
            }
        ],
        ...
    }
}
```

# Utilisation d'une identité fédérée pour gérer l'accès d'Amazon Redshift aux ressources locales et aux tables externes Amazon Redshift Spectrum
<a name="authorization-fas-spectrum"></a>

L'utilisation de la fédération d'identité AWS avec les informations d'identification fournies par `GetDatabaseCredentials` peut simplifier l'autorisation et l'accès aux données locales et aux données externes. Dans ce didacticiel, nous vous montrons comment fournir un accès aux ressources grâce à la fédération AWS d'identité, au lieu d'utiliser un rôle IAM spécifique. 

Actuellement, pour permettre aux utilisateurs d'accéder aux données externes qui se trouvent dans Amazon S3, vous créez un rôle IAM avec des autorisations définies dans une politique d'autorisations. Les utilisateurs auxquels le rôle est associé peuvent ensuite accéder aux données externes. Cela fonctionne, mais si vous souhaitez fournir des règles détaillées, par exemple rendre certaines colonnes indisponibles pour un utilisateur en particulier, vous devrez peut-être effectuer une configuration supplémentaire sur le schéma externe. 

La fédération d'identité, à l'aide des informations d'identification fournies par`GetDatabaseCredentials`, peut fournir un accès aux ressources Redshift Spectrum AWS Glue et leur fournir des règles IAM détaillées qui sont plus faciles à spécifier et à modifier. Cela facilite l'application d'un accès conforme à vos règles commerciales.

Les avantages de l'utilisation d'informations d'identification fédérées sont les suivants : 
+ Vous ne devez pas gérer les rôles IAM attachés à un cluster pour Redshift Spectrum.
+ Les administrateurs de clusters peuvent créer un schéma externe accessible aux utilisateurs dans différents contextes IAM. Cela est utile, par exemple, pour effectuer un filtrage de colonnes sur une table, où différents consommateurs interrogent le même schéma externe et obtiennent des champs différents dans les enregistrements renvoyés.
+ Vous pouvez interroger Amazon Redshift à l'aide d'un utilisateur disposant d'autorisations IAM, plutôt que d'un seul rôle.

## Préparation d'une identité pour se connecter avec une identité fédérée
<a name="authorization-fas-spectrum-getting-started-iam"></a>

Avant de vous connecter avec une identité fédérée, vous devez effectuer plusieurs étapes préliminaires. Ces instructions supposent que vous disposez d’un schéma externe Redshift Spectrum existant qui fait référence à un fichier de données stocké dans un compartiment Amazon S3, et que le compartiment se trouve sur le même compte que votre cluster Amazon Redshift ou votre entrepôt des données Amazon Redshift Serverless.

1. Créez une identité IAM. Il peut s'agir d'un utilisateur ou d'un rôle IAM. Utilisez n'importe quel nom pris en charge par IAM.

1. Attachez des stratégies d'autorisation à une identité. Spécifiez chacune des valeurs suivantes :
   + `redshift:GetClusterCredentialsWithIAM` (pour un cluster provisionné Amazon Redshift)
   + `redshift-serverless:GetCredentials` (pour Amazon Redshift Serverless)

   Vous pouvez ajouter des autorisations avec l'éditeur de stratégies à l'aide de la console IAM.

   L'identité IAM nécessite également des autorisations pour accéder aux données externes. Accordez l'accès à Amazon S3 en ajoutant directement les politiques AWS gérées suivantes :
   + `AmazonS3ReadOnlyAccess`
   + `AWSGlueConsoleFullAccess`

    La dernière stratégie gérée est requise si vous utilisez AWS Glue pour préparer vos données externes. Pour plus d'informations sur les étapes à suivre pour accorder l'accès à Amazon Redshift Spectrum, consultez [Créer un rôle IAM pour Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum-create-role.html), qui fait partie du guide de démarrage pour Amazon Redshift et Redshift Spectrum. Il montre les étapes à suivre pour ajouter des politiques IAM afin d'accéder à Redshift Spectrum. 

1. Configurez votre client SQL pour une connexion à Amazon Redshift. Utilisez le pilote JDBC Amazon Redshift et ajoutez les informations d'identification de votre utilisateur aux propriétés des informations d'identification de l'outil. Un client tel que SQL Workbench/J fonctionne bien pour cela. Définissez les propriétés étendues de connexion client suivantes :
   + *AccessKeyID* — L'identifiant de votre clé d'accès.
   + *SecretAccessKey*— Votre clé d'accès secrète. (Notez le risque de sécurité lié à la transmission de la clé secrète si vous n'utilisez pas le chiffrement.) 
   + *SessionToken*— Ensemble d'informations d'identification temporaires pour un rôle IAM.
   + *GroupFederation* – Définissez sur `true` si vous configurez une identité fédérée pour un cluster provisionné. Ne définissez pas ce paramètre si vous utilisez Amazon Redshift Serverless. 
   + *LogLevel*— Valeur entière au niveau du journal. Ce nom est facultatif.

1. Définissez l'URL du point de terminaison JDBC trouvé dans la console Amazon Redshift ou Amazon Redshift Serverless. Remplacez votre schéma d'URL par *jdbc:redshift:iam:* et utilisez cette mise en forme :
   + Format d'un cluster provisionné Amazon Redshift : `jdbc:redshift:iam://<cluster_id>.<unique_suffix>.<region>.redshift.amazonaws.com:<port>/<database_name>`

     Exemple : `jdbc:redshift:iam://test1.12345abcdefg.us-east-1.redshift.amazonaws.com:5439/dev`
   + Pour Amazon Redshift sans serveur : `jdbc:redshift:iam://<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com:5439:<port>/<database_name>`

     Exemple : `jdbc:redshift:iam://default.123456789012.us-east-1.redshift-serverless.amazonaws.com:5439/dev`

   Une fois que vous vous êtes connecté à la base de données pour la première fois à l'aide d'une identité IAM, Amazon Redshift crée automatiquement une identité Amazon Redshift portant le même nom, préfixée par `IAM:` pour un utilisateur ou par `IAMR:` pour un rôle IAM. Les étapes restantes de cette rubrique présentent des exemples pour un utilisateur.

   Si un utilisateur Redshift n'est pas créé automatiquement, vous pouvez en créer un en exécutant une instruction `CREATE USER`, en utilisant un compte administrateur, en spécifiant le nom d'utilisateur au format `IAM:<user name>`.

1.  En tant qu'administrateur de votre cluster Amazon Redshift, accordez à l'utilisateur Redshift les autorisations requises pour accéder au schéma externe.

   ```
   GRANT ALL ON SCHEMA my_schema to "IAM:my_user";
   ```

   Pour permettre à votre utilisateur Redshift de créer des tables dans le schéma externe, il doit être propriétaire du schéma. Par exemple :

   ```
   ALTER SCHEMA my_schema owner to "IAM:my_user";
   ```

1. Pour vérifier la configuration, exécutez une requête en tant qu'utilisateur, à l'aide du client SQL, une fois les autorisations accordées. Cet exemple de requête extrait des données d'une table externe. 

   ```
   SELECT * FROM my_schema.my_table;
   ```

## Commencer à propager les identités et les autorisations vers Redshift Spectrum
<a name="authorization-fas-spectrum-getting-started"></a>

Pour transmettre une identité fédérée à des tables externes d'interrogation, vous devez définir `SESSION` comme valeur pour le paramètre de requête `IAM_ROLE` de `CREATE EXTERNAL SCHEMA`. Les étapes suivantes montrent comment configurer et utiliser `SESSION` pour autoriser des requêtes sur le schéma externe.

1. Créez des tables locales et des tables externes. Tables externes cataloguées avec une tâche AWS Glue à cet effet. 

1. Connectez-vous à Amazon Redshift à l'aide de votre identité IAM. Comme indiqué dans la section précédente, lorsque l'identité se connecte à Amazon Redshift, un utilisateur de base de données Redshift est créé. L'utilisateur est créé s'il n'existait pas auparavant. Si l'utilisateur est nouveau, l'administrateur doit lui accorder les autorisations nécessaires pour effectuer des tâches dans Amazon Redshift, telles que l'interrogation et la création de tables. 

1. Connectez-vous à Redshift à l'aide de votre compte administrateur. Exécutez la commande pour créer un schéma externe à l'aide de la valeur `SESSION`. 

   ```
   create external schema spectrum_schema from data catalog
   database '<my_external_database>' 
   region '<my_region>'
   iam_role 'SESSION'
   catalog_id '<my_catalog_id>';
   ```

   Notez que `catalog_id` est défini dans ce cas. Il s'agit d'un nouveau paramètre ajouté à la fonctionnalité, car `SESSION` remplace un rôle spécifique.

   Dans cet exemple, les valeurs de la requête imitent l'apparence des valeurs réelles.

   ```
   create external schema spectrum_schema from data catalog
   database 'spectrum_db' 
   region 'us-east-1'
   iam_role 'SESSION'
   catalog_id '123456789012'
   ```

   Dans ce cas, `catalog_id` la valeur est votre numéro de AWS compte.

1. Exécutez des requêtes pour accéder à vos données externes, en utilisant l'identité IAM à laquelle vous vous êtes connecté à l'étape 2. Par exemple : 

   ```
   select * from spectrum_schema.table1;
   ```

   Dans ce cas, `table1` peut être, par exemple, de données au format JSON dans un fichier, dans un compartiment Amazon S3.

1. Si vous disposez déjà d'un schéma externe qui utilise un rôle IAM attaché à un cluster, pointant vers votre base de données ou votre schéma externe, vous pouvez soit remplacer le schéma existant et utiliser une identité fédérée comme indiqué dans ces étapes, soit en créer un nouveau.

`SESSION` indique que les informations d'identification fédérées sont utilisées pour interroger le schéma externe. Lorsque vous utilisez le paramètre de requête `SESSION`, assurez-vous de définir le `catalog_id`. Elle est obligatoire car elle pointe vers le catalogue de données utilisé pour le schéma. Précédemment, `catalog_id` a été extrait de la valeur attribuée à `iam_role`. Lorsque vous configurez la propagation des identités et des autorisations de cette manière, par exemple vers Redshift Spectrum, en utilisant des informations d'identification fédérées pour interroger un schéma externe, aucune autorisation au moyen d'un rôle IAM n'est requise. 

### Notes d’utilisation
<a name="authorization-fas-access-usage-notes"></a>

Voici une erreur de connexion courante : *Erreur IAM lors de la récupération des informations d'identification temporaires : impossible d'annuler la réponse d'exception à l'aide des filtres de déconnexion fournis*. Cette erreur est due à l'existence d'un ancien pilote JDBC. La version minimale du pilote requise pour l'identité fédérée est 2.1.0.9. Vous pouvez obtenir le pilote JDBC en cliquant sur [Télécharger le pilote JDBC Amazon Redshift, version 2.x](https://docs.aws.amazon.com/redshift/latest/mgmt/jdbc20-download-driver.html). 

### Ressources supplémentaires
<a name="authorization-fas-spectrum-resources"></a>

Ces liens fournissent des informations supplémentaires pour gérer l'accès aux données externes.
+ Vous pouvez toujours accéder aux données Redshift Spectrum à l'aide d'un rôle IAM. Pour plus d’informations, consultez [Autoriser Amazon Redshift à AWS accéder aux services en votre nom](authorizing-redshift-service.md).
+ Lorsque vous gérez l'accès à des tables externes avec AWS Lake Formation, vous pouvez les interroger à l'aide de Redshift Spectrum avec des identités IAM fédérées. Vous ne devez plus gérer les rôles IAM attachés à un cluster pour que Redshift Spectrum interroge les données enregistrées avec AWS Lake Formation. Pour en savoir plus, consultez [Utilisation d' AWS Lake Formation avec Amazon Redshift Spectrum](https://docs.aws.amazon.com/lake-formation/latest/dg/RSPC-lf.html).

# Gestion des mots de passe d'administration Amazon Redshift à l'aide de AWS Secrets Manager
<a name="redshift-secrets-manager-integration"></a>

 Amazon Redshift peut s'intégrer AWS Secrets Manager pour générer et gérer vos informations d'identification d'administrateur à l'intérieur d'un secret crypté. Avec AWS Secrets Manager, vous pouvez remplacer vos mots de passe d'administrateur par un appel d'API pour récupérer le secret par programmation lorsque cela est nécessaire. L’utilisation de secrets à la place d’informations d’identification codées en dur réduit le risque de divulgation ou de compromission de ces informations d’identification. Pour plus d'informations AWS Secrets Manager, consultez le [https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html). 

Vous pouvez spécifier qu'Amazon Redshift gère votre mot de passe d'administrateur AWS Secrets Manager lorsque vous effectuez l'une des opérations suivantes :
+ Créer un cluster alloué ou d’un espace de noms sans serveur
+ Modifier ou mettre à jour les informations d’identification d’administrateur d’un cluster alloué ou d’un espace de noms sans serveur
+ Restaurer un cluster ou d’un espace de noms sans serveur à partir d’un instantané

Lorsque vous spécifiez qu'Amazon Redshift gère le mot de passe administrateur dans AWS Secrets Manager, Amazon Redshift génère le mot de passe et le stocke dans Secrets Manager. Vous pouvez accéder au secret directement AWS Secrets Manager pour récupérer les informations d'identification de l'utilisateur administrateur. Vous pouvez éventuellement spécifier une clé gérée par le client pour chiffrer le secret si vous devez accéder au secret depuis un autre AWS compte. Vous pouvez également utiliser la clé KMS qui AWS Secrets Manager fournit.

Amazon Redshift gère les paramètres du secret et effectue la rotation du secret tous les 30 jours, par défaut. Vous pouvez effectuer la rotation du secret manuellement à tout moment. Si vous supprimez un cluster provisionné ou un espace de noms sans serveur qui gère un secret dans AWS Secrets Manager, le secret et les métadonnées associées sont également supprimés.

Pour vous connecter à un cluster ou à un espace de noms sans serveur avec des informations d'identification gérées par secret, vous pouvez récupérer le secret à l'aide de la console AWS Secrets Manager Secrets Manager ou de l'appel d'API `GetSecretValue` Secrets Manager. Pour plus d'informations, voir [Extraire des secrets depuis](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html) une base de données SQL AWS Secrets Manager et [Se connecter à une base de données SQL avec des informations d'identification inscrites dans un AWS Secrets Manager secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets_jdbc.html) dans le *Guide de AWS Secrets Manager l'utilisateur*.

## Autorisations requises pour AWS Secrets Manager l'intégration
<a name="redshift-secrets-manager-integration-permissions"></a>

Les utilisateurs doivent disposer des autorisations requises pour effectuer des opérations liées à l’intégration d’ AWS Secrets Manager . Créez des politiques IAM qui accordent des autorisations pour effectuer des opérations d’API spécifiques sur les ressources spécifiées dont elles ont besoin. Attachez ensuite ces politiques aux jeux d’autorisations ou rôles IAM qui requièrent ces autorisations. Pour de plus amples informations, veuillez consulter [Identity and Access Management dans Amazon Redshift](redshift-iam-authentication-access-control.md).

L'utilisateur qui indique qu'Amazon Redshift gère le mot de passe administrateur AWS Secrets Manager doit être autorisé à effectuer les opérations suivantes :
+ `secretsmanager:CreateSecret`
+ `secretsmanager:RotateSecret`
+ `secretsmanager:DescribeSecret`
+ `secretsmanager:UpdateSecret`
+ `secretsmanager:DeleteSecret`
+ `secretsmanager:GetRandomPassword`
+ `secretsmanager:TagResource`

Si l’utilisateur souhaite transmettre une clé KMS dans le paramètre `MasterPasswordSecretKmsKeyId` pour les clusters provisionnés, ou dans le paramètre `AdminPasswordSecretKmsKeyId` pour les espaces de noms sans serveur, il a besoin des autorisations suivantes en plus des autorisations répertoriées ci-dessus.
+ `kms:Decrypt`
+ `kms:GenerateDataKey`
+ `kms:CreateGrant`
+ `kms:RetireGrant`

## Rotation secrète des mots de passe administrateur
<a name="redshift-secrets-manager-integration-rotation"></a>

Par défaut, Amazon Redshift effectue la rotation automatique de votre secret tous les 30 jours afin de garantir que vos informations d’identification ne restent pas les mêmes pendant de longues périodes. Lorsqu'Amazon Redshift change le secret d'un mot de passe administrateur, il AWS Secrets Manager met à jour le secret existant pour qu'il contienne un nouveau mot de passe administrateur. Amazon Redshift modifie le mot de passe d’administrateur du cluster afin qu’il corresponde au mot de passe indiqué dans le secret mis à jour.

Vous pouvez effectuer immédiatement la rotation d’un secret au lieu d’attendre une rotation planifiée en utilisant AWS Secrets Manager. Pour plus d’informations sur la rotation des secrets, consultez [Rotation des secrets AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets_jdbc.html) dans le *Guide de l’utilisateur AWS Secrets Manager *.

## Considérations relatives à l'utilisation AWS Secrets Manager avec Amazon Redshift
<a name="redshift-secrets-manager-integration-considerations"></a>

 Lorsque vous l'utilisez AWS Secrets Manager pour gérer les informations d'administration de votre cluster provisionné ou de votre espace de noms sans serveur, tenez compte des points suivants : 
+  Lorsque vous suspendez un cluster dont les informations d'identification d'administrateur sont gérées par AWS Secrets Manager, le secret de votre cluster n'est pas supprimé et vous continuez à être facturé pour le secret. Les secrets ne sont supprimés que lorsque vous supprimez le cluster. 
+  Si votre cluster est suspendu quand Amazon Redshift tente d’effectuer la rotation du secret qui lui est attaché, la rotation échoue. Dans ce cas, Amazon Redshift arrête la rotation automatique et n’essaiera plus d’effectuer la rotation, même après la reprise du cluster. Vous devez redémarrer la planification de la rotation automatique à l’aide de l’appel d’API `secretsmanager:RotateSecret` pour qu’ AWS Secrets Manager continue à effectuer la rotation automatique de votre secret. 
+  Si aucun groupe de travail n’est associé à votre espace de noms sans serveur quand Amazon Redshift tente d’effectuer la rotation du secret qui lui est attaché, la rotation échoue et ne sera plus tentée, même une fois qu’un groupe de travail est attaché. Vous devez redémarrer la planification de la rotation automatique à l’aide de l’appel d’API `secretsmanager:RotateSecret` pour qu’ AWS Secrets Manager continue à effectuer la rotation automatique de votre secret. 

# Récupération de l’Amazon Resource Name (ARN) du secret dans Amazon Redshift
<a name="redshift-secrets-manager-integration-retrieving-secret"></a>

Vous pouvez consulter l’Amazon Resource Name (ARN) de tous les secrets gérés par AWS Secrets Manager à l’aide de la console Amazon Redshift. Une fois que vous avez l'ARN du secret, vous pouvez consulter les détails de votre secret et les données cryptées qu'il contient à l'aide de AWS Secrets Manager. Pour plus d’informations sur la récupération des secrets à l’aide de l’ARN, consultez [Récupération des secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html) dans le *Guide de l’utilisateur AWS Secrets Manager *. 

**Affichage des détails d’un secret pour un cluster provisionné Amazon Redshift**  
Consultez l’Amazon Resource Name (ARN) du secret de votre cluster à l’aide de la console Amazon Redshift en exécutant la procédure suivante :  

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la. 

1. Dans le volet **Présentation des clusters**, choisissez le cluster dont vous souhaitez afficher le secret. 

1. Choisissez l’onglet **Propriétés**.

1. Consultez l’ARN du secret sous **ARN des informations d’identification d’administration**. Cet ARN est l'identifiant du secret, que vous pouvez utiliser AWS Secrets Manager pour afficher les détails du secret. 

**Affichage des détails d’un secret pour un espace de noms Amazon Redshift sans serveur**  
Consultez l’Amazon Resource Name (ARN) du secret de votre espace de noms sans serveur à l’aide de la console Amazon Redshift en exécutant la procédure suivante :  

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la. 

1. Dans le tableau de bord **Clusters provisionnés**, choisissez **Passer au sans serveur** en haut à droite de la page.

1. Dans **Tableau de bord sans serveur**, faites défiler la page jusqu’au volet **Espaces de noms / Groupes de travail** et choisissez l’espace de noms dont vous souhaitez consulter le secret.

1. Dans le volet **Informations générales**, consultez l’ARN du secret sous **ARN des informations d’identification d’administration**. Cet ARN est l'identifiant du secret, que vous pouvez utiliser AWS Secrets Manager pour afficher les détails du secret. 

# Création d’un secret pour les informations d’identification de connexion à une base de données
<a name="redshift-secrets-manager-integration-create"></a>

Vous pouvez créer un secret Secrets Manager pour stocker les informations d’identification utilisées pour vous connecter à un cluster alloué Amazon Redshift ou à un espace de noms et à un groupe de travail sans serveur Redshift. Vous pouvez également utiliser ce secret lors de la planification d’une requête dans Amazon Redshift Query Editor V2.

**Pour créer un secret pour une base de données dans un cluster alloué Amazon Redshift à l’aide de la console Secrets Manager**

1. Ouvrez la console Secrets Manager ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)).

1. Accédez à la liste des **Secrets** et choisissez **Enregistrer un nouveau secret**.

1. Choisissez **informations d’identification pour un entrepôt de données Amazon Redshift**. Entrez vos informations dans les étapes suivantes pour créer un secret :
   + Dans **Informations d’identification** pour le **Nom d’utilisateur**, entrez le nom de l’utilisateur administratif de l’entrepôt de données.
   + Dans **Informations d’identification** pour le **Mot de passe**, entrez le mot de passe du **Nom d’utilisateur**.
   + Pour **Clé de chiffrement**, choisissez votre clé de chiffrement.
   + Pour **Entrepôt de données**, choisissez le cluster alloué Amazon Redshift qui contient vos données.
   + Pour **Nom du secret**, saisissez le nom du secret.
   + Pour **Description**, saisissez une description du secret.
   + Pour **Balises**, entrez une **Clé de balise** avec le mot **Redshift**. Cette clé de balise est nécessaire pour répertorier les secrets lorsque vous tentez de vous connecter à votre entrepôt de données à l’aide de Amazon Redshift Query Editor V2. Le secret doit comporter une clé de balise commençant par la chaîne **Redshift** sous laquelle le secret doit être répertorié sous AWS Secrets Manager sur la console de gestion.

1. Continuez à saisir les informations relatives à votre secret en plusieurs étapes jusqu’à ce que vous **enregistriez** vos modifications à l’étape **Révision**.

   Les valeurs spécifiques de vos informations d’identification, de votre moteur, de votre hôte, de votre port et de votre identifiant de cluster sont stockées dans le secret. De plus, le secret est marqué avec la clé de balise `Redshift`.

**Pour créer un secret pour une base de données dans un espace de noms sans serveur Redshift à l’aide de la console Redshift sans serveur**

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Choisissez **Redshift sans serveur** et accédez à **Configuration de l’espace de noms**.

1. Choisissez un espace de noms pour lequel vous souhaitez créer des informations d’identification secrètes.

1. Ouvrez **Actions**, **Modifier les informations d’identification de l’administrateur**.

1. Pour **Mot de passe administrateur**, choisissez **Gérer les informations d’identification de l’administrateur dans AWS Secrets Manager**.

1. Choisissez **Enregistrer les Modifications** pour enregistrer vos Modifications.

Confirmez l’affichage d’un message indiquant que le mot de passe a bien été modifié. Vous pouvez également consulter le secret dans la console Secrets Manager. Vous pouvez utiliser ce secret pour vous connecter à une base de données d'un groupe de travail dans la console Redshift Serverless et dans l'éditeur de requêtes Amazon Redshift v2, en utilisant la méthode de connexion. AWS Secrets Manager Le secret doit disposer d’une clé de balise commençant par la chaîne « Redshift » pour que le secret soit répertorié dans l’application web de l’éditeur de requêtes v2. Le secret doit comporter une clé de balise qui commence par la chaîne **Redshift** sous laquelle le secret doit être répertorié AWS Secrets Manager sur la console de gestion. 

**Pour créer un secret pour une base de données dans un espace de noms sans serveur Redshift à l’aide de la console Secrets Manager**

1. Ouvrez la console Secrets Manager ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)).

1. Accédez à la liste des **Secrets** et choisissez **Enregistrer un nouveau secret**.

1. Choisissez **informations d’identification pour un entrepôt de données Amazon Redshift**. Entrez vos informations dans les étapes suivantes pour créer un secret :
   + Dans **Informations d’identification** pour le **Nom d’utilisateur**, entrez le nom de l’utilisateur administratif de l’entrepôt de données.
   + Dans **Informations d’identification** pour le **Mot de passe**, entrez le mot de passe du **Nom d’utilisateur**.
   + Pour **Clé de chiffrement**, choisissez votre clé de chiffrement.
   + Pour **Entrepôt de données**, choisissez l’espace de noms Redshift sans serveur qui contient vos données.
   + Pour **Nom du secret**, saisissez le nom du secret.
   + Pour **Description**, saisissez une description du secret.
   + Pour **Balises**, entrez une **Clé de balise** avec le mot **Redshift**. Cette clé de balise est nécessaire pour répertorier les secrets lorsque vous tentez de vous connecter à votre entrepôt de données à l’aide de Amazon Redshift Query Editor V2. Le secret doit comporter une clé de balise commençant par la chaîne **Redshift** sous laquelle le secret doit être répertorié sous AWS Secrets Manager sur la console de gestion.

1. Continuez à saisir les informations relatives à votre secret en plusieurs étapes jusqu’à ce que vous **enregistriez** vos modifications à l’étape **Révision**.

   Les valeurs spécifiques de vos informations d’identification, du nom de la base de données, de l’hôte, du port, de l’espace de noms et du moteur sont stockées dans le secret. De plus, le secret est marqué avec la clé de balise `Redshift`.

**Pour créer un secret pour une base de données dans un espace de noms Redshift Serverless à l'aide du AWS CLI**

Vous pouvez utiliser le AWS CLI pour créer un secret. L'une des méthodes consiste AWS CloudShell à exécuter la AWS CLI commande Secrets Manager comme suit. Vous devez disposer des autorisations appropriées pour exécuter les commandes de l’ AWS CLI  indiquée dans la procédure suivante.

1. Sur la AWS console, ouvrez l'invite de AWS CloudShell commande. Pour plus d'informations AWS CloudShell, voir [Contenu](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) du *guide AWS CloudShell de l'AWS CloudShell utilisateur*.

1. Par exemple, pour le secret `MyTestSecret`, entrez une commande Secrets Manager pour stocker le secret utilisé pour se connecter à une base de données ou planifier une requête de Amazon Redshift Query Editor V2. Remplacez les valeurs suivantes dans la commande par les valeurs pour votre environnement.
   + *admin*est le nom d'utilisateur de l'administrateur de l'entrepôt de données.
   + *passw0rd*est le mot de passe de l'administrateur.
   + *dev*est le nom initial de la base de données dans l'entrepôt de données.
   + *region*est celui Région AWS qui contient l'entrepôt de données. Par exemple `us-east-1`.
   + *123456789012*est le Compte AWS.
   + *namespace-id*est l'identifiant de l'espace de noms similaire à. `c3928f0e-c889-4d2b-97a5-5738324d5d3e` Vous trouverez cet identifiant sur la page des détails de la console Amazon Redshift pour l’espace de noms sans serveur.

   ```
   aws secretsmanager create-secret \
   --name MyTestSecret \
   --description "My test secret created with the CLI." \
   --secret-string "{\"username\":\"admin\",\"password\":\"passw0rd\",\"dbname\":\"dev\",\"engine\":\"redshift\"}" \
   --tags "[{\"Key\":\"redshift-serverless:namespaceArn\",\"Value\":\"arn:aws:redshift-serverless:region:123456789012:namespace/namespace-id\"}]"
   ```

# Journalisation et surveillance dans Amazon Redshift
<a name="security-incident-response"></a>

La surveillance joue un rôle important dans le maintien de la fiabilité, de la disponibilité et des performances d'Amazon Redshift et de vos AWS solutions. Vous pouvez collecter des données de surveillance provenant de toutes les parties de votre AWS solution afin de pouvoir corriger plus facilement une défaillance multipoint, le cas échéant. AWS fournit plusieurs outils pour surveiller vos ressources Amazon Redshift et répondre aux incidents potentiels :

** CloudWatch Alarmes Amazon**  
À l'aide des CloudWatch alarmes Amazon, vous observez une seule métrique sur une période que vous spécifiez. Si la métrique dépasse un seuil donné, une notification est envoyée à une rubrique ou AWS Auto Scaling à une politique Amazon SNS. CloudWatch les alarmes n'appellent pas d'actions car elles se trouvent dans un état particulier. L’état doit avoir changé et avoir été conservé pendant un nombre de périodes spécifié. Pour plus d’informations, consultez [Création d'une alarme](performance-metrics-alarms.md). Pour connaître la liste des métriques, consultez [Données de performances dans Amazon Redshift](metrics-listing.md). 

**AWS CloudTrail Journaux**  
CloudTrail fournit un enregistrement des opérations d'API effectuées par un utilisateur, un rôle IAM ou un AWS service dans Amazon Redshift. À l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande envoyée à Amazon Redshift, l'adresse IP à partir de laquelle la demande a été faite, l'auteur de la demande, la date à laquelle elle a été faite, ainsi que des informations supplémentaires. Pour de plus amples informations, veuillez consulter [Journalisation avec CloudTrail](logging-with-cloudtrail.md).

# Journalisation des audits de base de données
<a name="db-auditing"></a>

Amazon Redshift consigne dans un journal les informations sur les connexions et les activités de l'utilisateur dans votre base de données. Ces journaux vous permettent de contrôler la base de données à des fins de sécurité et de résolution des problèmes, ce qui est un processus souvent appelé *audit de la base de données*. Les journaux peuvent être stockés dans :
+ *Compartiments Amazon S3* : ils fournissent un accès pratique aux fonctions de sécurité des données pour les utilisateurs qui sont responsables de la surveillance des activités de la base de données.
+ *Amazon CloudWatch* - Vous pouvez consulter les données d'enregistrement des audits à l'aide des fonctionnalités intégrées CloudWatch, telles que les fonctionnalités de visualisation et les actions de configuration.

**Note**  
[SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html) collecte les données de journal de connexion pour Amazon Redshift sans serveur. Notez que lorsque vous collectez des données de journalisation d'audit pour Amazon Redshift Serverless, elles ne peuvent pas être envoyées vers des fichiers journaux, mais uniquement vers. CloudWatch

**Topics**
+ [

## Journaux Amazon Redshift
](#db-auditing-logs)
+ [

## Journaux d'audit et Amazon CloudWatch
](#db-auditing-cloudwatch-provisioned)
+ [

# Activation de la journalisation des audits
](db-auditing-console.md)
+ [

# Journalisation sécurisée
](db-auditing-secure-logging.md)

## Journaux Amazon Redshift
<a name="db-auditing-logs"></a>

Amazon Redshift enregistre les informations dans les fichiers journaux suivants :
+ *Journal de connexion* : consigne les tentatives d'authentification, les connexions et les déconnexions.
+ *Journal de l'utilisateur* : consigne les informations sur les modifications apportées aux définitions d'utilisateur de base de données.
+ *Journal d'activité utilisateur* : consigne chaque requête avant qu'elle soit exécutée sur la base de données.

Les journaux de connexion et utilisateur sont utiles principalement à des fins de sécurité. Vous pouvez utiliser le journal de connexion pour contrôler les informations sur les utilisateurs qui se connectent à la base de données ainsi que les informations de connexion associées. Il peut s'agir de leur adresse IP, du moment où la demande a été effectuée, du type d'authentification utilisé, etc. Vous pouvez utiliser le journal utilisateur pour surveiller les modifications apportées aux définitions des utilisateurs de base de données. 

Le journal d'activité utilisateur est utile principalement à des fins de résolution de problèmes. Il effectue le suivi d'informations sur les types de requêtes exécutées par les utilisateurs et le système dans la base de données. 

Les journaux de connexion et utilisateur correspondent aux informations stockées dans les tables système de votre base de données. Vous pouvez utiliser les tables système pour obtenir les mêmes informations, mais les fichiers journaux constituent un mécanisme de récupération et de vérification plus simple. Les fichiers journaux s'appuient sur les autorisations Amazon S3 plutôt que sur les autorisations de base de données pour exécuter des requêtes sur les tables de base de données. En outre, le fait d'afficher les informations dans des fichiers journaux plutôt que d'interroger les tables système vous permet de limiter l'impact de l'interaction avec la base de données.

**Note**  
Les fichiers journaux ne sont pas aussi courants que les tables des journaux système que sont [STL\$1USERLOG](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_USERLOG.html) et [STL\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_CONNECTION_LOG.html). Les enregistrements qui sont plus anciens que les derniers enregistrements, mais ne les incluent pas, sont copiés dans les fichiers journaux.

**Note**  
Pour Amazon Redshift sans serveur, [SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html) collecte les données de journal de connexion. Lorsque vous collectez des données de journalisation d'audit pour Amazon Redshift Serverless, elles ne peuvent pas être envoyées vers des fichiers journaux, mais uniquement vers. CloudWatch

### Journal de connexion
<a name="db-auditing-connection-log"></a>

Enregistre les tentatives d'authentification, ainsi que les connexions et déconnexions. Le tableau suivant décrit les informations contenues dans le journal de connexion. Pour plus d'informations sur ces champs, veuillez consulter [STL\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_CONNECTION_LOG.html) dans le *Guide du développeur de base de données Amazon Redshift*. Pour en savoir plus sur les données de journal de connexion collectées pour Amazon Redshift sans serveur, consultez [SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/db-auditing.html)

### Journal utilisateur
<a name="db-auditing-user-log"></a>

 Enregistre les détails des modifications suivantes apportées à un utilisateur de base de données :
+ Créer un utilisateur
+ Supprimer un utilisateur
+ Modifier un utilisateur (renommer)
+ Modifier un utilisateur (modifier les propriétés)

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/db-auditing.html)

Interrogez la vue système [SYS\$1USERLOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_USERLOG.html) pour trouver des informations supplémentaires sur les modifications apportées aux utilisateurs. Cette vue comprend les données de journal d'Amazon Redshift sans serveur. 

### Journal d'activité utilisateur
<a name="db-auditing-user-activity-log"></a>

Consigne chaque requête avant qu'elle soit exécutée sur la base de données.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/db-auditing.html)

## Journaux d'audit et Amazon CloudWatch
<a name="db-auditing-cloudwatch-provisioned"></a>

 La journalisation des audits n'est pas activée par défaut dans Amazon Redshift. Lorsque vous activez la journalisation sur votre cluster, Amazon Redshift exporte les journaux vers Amazon CloudWatch, ou crée et télécharge des journaux vers Amazon S3, qui capturent les données depuis le moment où la journalisation des audits est activée jusqu'à aujourd'hui. Chaque mise à jour de journalisation constitue la suite des journaux précédents.

La journalisation des audits vers CloudWatch ou vers Amazon S3 est un processus facultatif. La journalisation dans les tables système n'est pas facultative et se fait automatiquement. Pour plus d'informations sur la journalisation dans les tables système, veuillez consulter la rubrique [Référence des tables système](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_system-tables.html) dans le Guide du développeur de la base de données Amazon Redshift. 

Le journal de connexion, le journal utilisateur et le journal d'activité utilisateur sont activés ensemble à l' AWS Management Console aide de la référence d'API Amazon Redshift ou du AWS Command Line Interface ()AWS CLI. Pour le journal d'activité utilisateur, vous devez également activer le paramètre de base de données `enable_user_activity_logging`. Si vous activez uniquement la fonction de journalisation des audits, mais pas le paramètre associé, les journaux d'audit de base de données enregistrent des informations uniquement pour les journaux de connexion et utilisateur, mais pas pour le journal d'activité utilisateur. Le paramètre `enable_user_activity_logging` n'est pas activé (`false`) par défaut. Vous pouvez le définir sur `true` pour activer le journal d'activité de l'utilisateur. Pour de plus amples informations, veuillez consulter [Groupes de paramètres Amazon Redshift](working-with-parameter-groups.md). 

Lorsque vous activez la connexion à CloudWatch, Amazon Redshift exporte les données de connexion au cluster, d'utilisateur et d'activité des utilisateurs vers un groupe de CloudWatch journaux Amazon Logs. Les données du journal ne changent pas, en termes de schéma. CloudWatch est conçu pour surveiller les applications et vous pouvez l'utiliser pour effectuer des analyses en temps réel ou le configurer pour qu'il prenne des mesures. Vous pouvez également utiliser Amazon CloudWatch Logs pour stocker vos enregistrements de journal dans un espace de stockage durable. 

L'utilisation CloudWatch pour afficher les journaux est une alternative recommandée au stockage des fichiers journaux dans Amazon S3. Cela ne nécessite pas beaucoup de configuration et peut répondre à vos exigences de surveillance, surtout si vous l'utilisez déjà pour surveiller d'autres services et d’autres applications.

### Groupes de journaux et événements de journalisation sur Amazon CloudWatch
<a name="db-auditing-cloudwatch-provisioned-log-group"></a>

Après avoir sélectionné les journaux Amazon Redshift à exporter, vous pouvez surveiller les événements des journaux dans Amazon CloudWatch Logs. Un nouveau groupe de journaux est automatiquement créé pour Amazon Redshift Serverless sous le préfixe suivant, dans lequel `log_type` représente le type de journal.

```
/aws/redshift/cluster/<cluster_name>/<log_type>
```

Par exemple, si vous choisissez d'exporter le journal des connexions, les données du journal sont stockées dans le groupe de journaux suivant.

```
/aws/redshift/cluster/cluster1/connectionlog
```

Les événements de journal sont exportés vers un groupe de journaux à l'aide du flux de journaux. Pour rechercher des informations dans les événements de journal de votre point de terminaison sans serveur, utilisez la console Amazon CloudWatch Logs AWS CLI, ou l'API Amazon CloudWatch Logs. Pour de plus amples informations sur la recherche et le filtrage des données de journaux, veuillez consulter [Création de métriques à partir d'événements du journal à l'aide de filtres](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html).

Dans CloudWatch, vous pouvez rechercher les données de votre journal à l'aide d'une syntaxe de requête garantissant granularité et flexibilité. Pour plus d'informations, voir [Syntaxe de requête CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).

### Migration vers la journalisation des CloudWatch audits Amazon
<a name="db-auditing-cloudwatch-provisioned-migration"></a>

Dans tous les cas où vous envoyez des journaux à Amazon S3 et que vous modifiez la configuration, par exemple pour envoyer des journaux à CloudWatch, les journaux qui restent dans Amazon S3 ne sont pas affectés. Vous pouvez toujours interroger les données de journaux dans les compartiments Simple Storage Service (Amazon S3) où elles se trouvent.

### Fichiers journaux dans Amazon S3
<a name="db-auditing-manage-log-files"></a>

Le nombre et la taille des fichiers journaux Amazon Redshift dans Amazon S3 dépendent fortement de l'activité de votre cluster. Si vous avez un cluster actif qui génère un grand nombre de journaux, Amazon Redshift peut générer des fichiers journaux plus fréquemment. Vous pouvez disposer d'une série de fichiers journaux pour le même type d'activité, par exemple plusieurs journaux de connexion au cours de la même heure.

Lorsqu’Amazon Redshift utilise Amazon S3 pour stocker les journaux, vous devez payer des frais pour le stockage que vous utilisez dans Amazon S3. Avant de configurer la journalisation dans Amazon S3, vous devez avoir planifié la durée de stockage des fichiers journaux. Dans le cadre de ce plan, déterminez quand les fichiers journaux peuvent être supprimés ou archivés en fonction de vos besoins en audit. Le plan que vous créez dépend fortement du type de données que vous stockez, telles que les données soumises à des exigences réglementaires ou de conformité. Pour de plus amples informations sur la tarification d'Amazon S3, veuillez consulter la [tarification Amazon Simple Storage Service (S3)](https://aws.amazon.com/s3/pricing/).

#### Limites lorsque vous activez la journalisation sur Amazon S3
<a name="db-auditing-enable-logging-limitations"></a>

La journalisation d'audit présente les contraintes suivantes :
+ Vous pouvez seulement utiliser le chiffrement des clés gérées par Amazon S3 (SSE-S3) (AES-256).
+ Les compartiments Amazon S3 doivent avoir la fonction Verrouillage des objets S3 désactivée.

#### Autorisations du compartiment pour la journalisation des audits Amazon Redshift
<a name="db-auditing-bucket-permissions"></a>

Lorsque vous activez la journalisation dans Amazon S3, Amazon Redshift collecte des informations de journalisation et les charge dans les fichiers journaux stockés dans Amazon S3. Vous ou utiliser un compartiment existant ou créer un compartiment. Amazon Redshift requiert les autorisations IAM suivantes pour le compartiment : 
+ `s3:GetBucketAcl` Le service nécessite des autorisations de lecture pour le compartiment Amazon S3 afin de pouvoir identifier le propriétaire du compartiment. 
+ `s3:PutObject` Le service nécessite des autorisations de placement d'objet pour charger les journaux. De plus, l'utilisateur ou le rôle IAM qui permet la journalisation doit avoir les autorisations `s3:PutObject` pour le compartiment Amazon S3. Chaque fois que les journaux sont chargés, le service détermine si le propriétaire actuel du compartiment correspond au propriétaire du compartiment au moment de l'activation de la journalisation. Si ces propriétaires ne correspondent pas, vous recevez une erreur.

Si, lorsque vous activez la journalisation d'audit, vous sélectionnez l'option permettant de créer un compartiment, les autorisations correctes sont appliquées à celui-ci. Toutefois, si vous créez votre propre compartiment dans Amazon S3 ou que vous utilisez un compartiment existant, veillez à ajouter une politique de compartiment incluant le nom du compartiment. Les journaux sont fournis à l'aide des informations d'identification du principal du service. Dans la plupart des Régions AWS cas, vous ajoutez le nom principal du service Redshift,. *redshift.amazonaws.com* 

La politique du bucket utilise le format suivant. *ServiceName*et *BucketName* sont des espaces réservés à vos propres valeurs. Spécifiez également les actions et les ressources associées dans la politique de compartiment.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Put bucket policy needed for audit logging",
            "Effect": "Allow",
            "Principal": {
                "Service": "ServiceName"
            },
            "Action": [
                "s3:PutObject",
                "s3:GetBucketAcl"
            ],
            "Resource": [
                "arn:aws:s3:::BucketName",
                "arn:aws:s3:::BucketName/*"
            ]
        }
    ]
}
```

------

L'exemple suivant présente une politique de compartiment pour la région USA Est (Virginie du Nord) et le compartiment nommé `AuditLogs`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Put bucket policy needed for audit logging",
            "Effect": "Allow",
            "Principal": {
                "Service": "redshift.amazonaws.com"
            },
            "Action": [
                "s3:PutObject",
                "s3:GetBucketAcl"
            ],
            "Resource": [
                "arn:aws:s3:::AuditLogs",
                "arn:aws:s3:::AuditLogs/*"
            ]
        }
    ]
}
```

------

Les régions qui ne sont pas activées par défaut, également appelées régions « opt-in », nécessitent un nom de principal du service spécifique à une région. Pour cela, le nom du principal du service inclut la région, au format `redshift.region.amazonaws.com`. Par exemple, *redshift.ap-east-1.amazonaws.com* pour la région Asie-Pacifique (Hong Kong). Pour obtenir une liste des régions qui ne sont pas activées par défaut, consultez la section [Gestion des Régions AWS](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) dans *Références générales AWS*.

**Note**  
Le nom du principal du service spécifique à la région correspond à la région où se trouve le cluster.

##### Bonnes pratiques relatives aux fichiers journaux
<a name="db-auditing-bucket-permissions-confused-deputy"></a>

 Lorsque Redshift charge des fichiers journaux sur Amazon S3, les fichiers volumineux peuvent être téléchargés en plusieurs parties. Si un chargement partitionné ne réussit pas, il est possible que certaines parties d'un fichier restent dans le compartiment Amazon S3. Cela peut entraîner des coûts de stockage supplémentaires. Il est donc important de comprendre ce qui se produit lorsqu'un chargement partitionné échoue. Pour obtenir des explications détaillées sur le chargement partitionné pour les journaux d'audit, veuillez consulter [Chargement et copie d'objets à l'aide d'un chargement partitionné](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html) et [Interruption d'un chargement partitionné](https://docs.aws.amazon.com/AmazonS3/latest/userguide/abort-mpu.html).

Pour plus d’informations sur la création de compartiments Amazon S3 et l’ajout de stratégies de compartiment, consultez [Création d’un compartiment à usage général](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) et [Stratégies de compartiment pour Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) dans le *Guide de l’utilisateur Amazon Simple Storage Service*. 

#### Structure du compartiment pour la journalisation d'audit Amazon Redshift
<a name="db-auditing-bucket-structure"></a>

Par défaut, Amazon Redshift organise les fichiers journaux dans le compartiment Amazon S3 en utilisant la structure de compartiment et d'objet suivante : ``

`AWSLogs/AccountID/ServiceName/Region/Year/Month/Day/AccountID_ServiceName_Region_ClusterName_LogType_Timestamp.gz` 

Voici un exemple : `AWSLogs/123456789012/redshift/us-east-1/2013/10/29/123456789012_redshift_us-east-1_mycluster_userlog_2013-10-29T18:01.gz`.

Si vous fournissez un préfixe de clé Amazon S3, placez-le au début de la clé.

Par exemple, si vous spécifiez un préfixe « myprefix » : `myprefix/AWSLogs/123456789012/redshift/us-east-1/2013/10/29/123456789012_redshift_us-east-1_mycluster_userlog_2013-10-29T18:01.gz`

Le préfixe de clé Amazon S3 ne doit pas dépasser 512 caractères. Il ne peut pas contenir d'espaces ( ), de guillemets doubles ("), d'apostrophes (') et de barre oblique inverse (\$1). Un certain nombre de caractères spéciaux et de caractères de contrôle ne sont pas autorisés non plus. Les codes hexadécimaux de ces caractères sont les suivants :
+ x00 à x20
+ x22
+ x27
+ x5c
+ x7f ou plus

### Considérations relatives à la journalisation des audits Amazon S3
<a name="db-auditing-failures"></a>

 La journalisation d'audit Amazon Redshift peut être interrompue pour les raisons suivantes : 
+  Amazon Redshift n'a pas l'autorisation de télécharger les journaux vers le compartiment Amazon S3. Vérifiez que le compartiment est configuré avec la bonne stratégie IAM. Pour plus d’informations, consultez [Autorisations du compartiment pour la journalisation des audits Amazon Redshift](#db-auditing-bucket-permissions). 
+  Le propriétaire du compartiment a changé. Quand Amazon Redshift charge les journaux, il vérifie que le propriétaire du compartiment est le même que lors de l'activation de la journalisation. Si le propriétaire du compartiment a changé, Amazon Redshift ne peut pas charger les journaux tant que vous ne configurez pas d'autre compartiment à utiliser pour la journalisation d'audit. 
+  Impossible de trouver le compartiment. Si le compartiment est supprimé dans Amazon S3, Amazon Redshift ne peut pas télécharger les journaux. Vous devez recréer le compartiment ou configurer Amazon Redshift pour charger les journaux dans un autre compartiment. 

### Appels d'API avec AWS CloudTrail
<a name="rs-db-auditing-cloud-trail"></a>

Amazon Redshift est intégré à AWS CloudTrail un service qui fournit un enregistrement des actions effectuées par un utilisateur, un rôle ou un AWS service dans Amazon Redshift. CloudTrail capture tous les appels d'API pour Amazon Redshift sous forme d'événements. Pour plus d'informations sur l'intégration d'Amazon Redshift avec AWS CloudTrail, consultez [Logging](https://docs.aws.amazon.com/redshift/latest/mgmt/logging-with-cloudtrail.html) with. CloudTrail

Vous pouvez utiliser la journalisation des audits de base de données Amazon Redshift CloudTrail indépendamment ou en complément de celle-ci. 

Pour en savoir plus CloudTrail, consultez le [guide de AWS CloudTrail l'utilisateur](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

# Activation de la journalisation des audits
<a name="db-auditing-console"></a>

Configurez Amazon Redshift de manière à exporter les données de journaux d’audit. Les journaux peuvent être exportés vers CloudWatch ou sous forme de fichiers vers des compartiments Amazon S3.

## Activation de la journalisation d'audit grâce à la console
<a name="enable-auditing-logging-task"></a>

### Étapes de la console
<a name="cluster-audit-logging"></a>

**Pour activer la journalisation d'audit pour un cluster**

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dans le menu de navigation, choisissez **Clusters**, puis choisissez le cluster que vous souhaitez mettre à jour. 

1. Choisissez l’onglet **Propriétés**. Dans le volet **Database configurations** (Configurations de base), choisissez **Edit** (Modifier), puis **Edit audit logging** (Modifier la journalisation d'audit).

1. Sur la page **Modifier la journalisation des audits**, choisissez **Activer** et sélectionnez le **compartiment S3** ou **CloudWatch**. Nous vous recommandons de l'utiliser CloudWatch car l'administration est simple et propose des fonctionnalités utiles pour la visualisation des données.

1. Choisissez les journaux à exporter.

1. Pour enregistrer vos choix, sélectionnez **Save changes (Enregistrer les modifications)**.

# Journalisation sécurisée
<a name="db-auditing-secure-logging"></a>

Lorsqu'Amazon Redshift enregistre une requête qui fait référence à une ou plusieurs AWS Glue Data Catalog vues, Amazon Redshift masque automatiquement les champs de certaines tables système et colonnes de vue lors de l'enregistrement des métadonnées relatives à cette requête.

Le masquage sécurisé des journaux s’applique à toutes les entrées de table et de vue système générées par Amazon Redshift lors de l’exécution d’une requête répondant aux conditions de masquage. La table suivante répertorie les vues et les colonnes du système auxquelles une journalisation sécurisée est appliquée, masquant le texte avec `******` et les chiffres avec `-1`. Le nombre d’astérisques utilisés pour masquer le texte correspond au nombre de caractères du texte d’origine, jusqu’à 6 caractères. Les chaînes de plus de 6 caractères apparaissent toujours sous la forme de 6 astérisques.


****  

| Table système | Colonnes sensibles | 
| --- | --- | 
| [SYS\$1EXTERNAL\$1QUERY\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_EXTERNAL_QUERY_DETAIL.html) | **Colonnes :** source\$1type, total\$1partitions, qualified\$1partitions, scanned\$1files, returned\$1rows, returned\$1bytes, file\$1format, file\$1location, external\$1query\$1text, warning\$1message. | 
| [ERREUR SYS\$1EXTERNAL\$1QUERY\$1ERROR](https://docs.aws.amazon.com/redshift/latest/dg/SYS_EXTERNAL_QUERY_ERROR.html) | **Colonnes :** file\$1location, rowid, column\$1name, original\$1value, modified\$1value, trigger, action, action\$1value, error\$1code. | 
| [SYS\$1QUERY\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) | **Colonnes :** step\$1id, step\$1name, table\$1id, table\$1name, input\$1bytes, input\$1rows, output\$1bytes, output\$1rows, blocks\$1read, blocks\$1write, local\$1read\$1IO, remote\$1read\$1IO, spilled\$1block\$1local\$1disk, spilled\$1block\$1remote\$1disk, step\$1attribute. | 
| [SYS\$1QUERY\$1HISTORY](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_HISTORY.html) | **Colonnes :** returned\$1rows, returned\$1bytes. | 
| [STL\$1AGGR](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_AGGR.html) | **Colonnes :** rows, bytes, tbl, type. | 
| [STL\$1BCAST](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_BCAST.html) | **Colonnes :** rows, bytes, packets. | 
| [STL\$1DDLTEXT](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_DDLTEXT.html) | **Colonnes :** label, text. | 
| [STL\$1SUPPRIMER](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_DELETE.html) | **Colonnes :** rows, tbl. | 
| [STL\$1DIST](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_DIST.html) | **Colonnes :** rows, bytes, packets. | 
| [ERREUR STL](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_ERROR.html) | **Colonnes :** file, linenum, context, error. | 
| [STL\$1EXPLAIN](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_EXPLAIN.html) | **Colonnes :** plannode, info. | 
| [STL\$1FILE\$1SCAN](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_FILE_SCAN.html) | **Colonnes :** name, line, bytes. | 
| [STL HASH](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_HASH.html) | **Colonnes :** rows, bytes, tbl, est\$1rows. | 
| [STL\$1HASHJOIN](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_HASHJOIN.html) | **Colonnes :** rows, tbl, num\$1parts, join\$1type. | 
| [STL\$1INSERT](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_INSERT.html) | **Colonnes :** rows, tbl. | 
| [STL\$1LIMIT](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LIMIT.html) | **Colonnes :** rows. | 
| [STL\$1MERGE](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_MERGE.html) | **Colonnes :** rows. | 
| [STL\$1MERGEJOIN](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_MERGEJOIN.html) | **Colonnes :** rows, tbl. | 
| [STL NESTLOOP](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_NESTLOOP.html) | **Colonnes :** rows, tbl. | 
| [STL\$1PARSE](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_PARSE.html) | **Colonnes :** rows. | 
| [INFORMATIONS SUR LE PLAN STL](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_PLAN_INFO.html) | **Colonnes :** startupcost, totalcost, rows, bytes. | 
| [PROJET STL](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_PROJECT.html) | **Colonnes :** rows, tbl. | 
| [REQUÊTE STL](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_QUERY.html) | **Colonnes :** querytxt. | 
| [STL\$1QUERY\$1METRICS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_QUERY_METRICS.html) | **Colonnes :** max\$1rows, rows, max\$1blocks\$1read, blocks\$1read, max\$1blocks\$1to\$1disk, blocks\$1to\$1disk, max\$1query\$1scan\$1size, query\$1scan\$1size. | 
| [TEXTE DE REQUÊTE STL](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_QUERYTEXT.html) | **Colonnes :** text. | 
| [STL\$1RETURN](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_RETURN.html) | **Colonnes :** rows, bytes. | 
| [CLIENT STL\$1S3](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_S3CLIENT.html) | **Colonnes :** bucket, key, transfer\$1size, data\$1size. | 
| [STL\$1S3CLIENT\$1ERROR](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_S3CLIENT_ERROR.html) | **Colonnes :** bucket, key, error, transfer\$1size. | 
| [STL\$1SAVE](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_SAVE.html) | **Colonnes :** rows, bytes, tbl. | 
| [STL\$1SCAN](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_SCAN.html) | **Colonnes :** rows, bytes, fetches, type, tbl, rows\$1pre\$1filter, rows\$1pre\$1user\$1filter, perm\$1table\$1name, scanned\$1mega\$1value. | 
| [STL\$1SORT](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_SORT.html) | **Colonnes :** rows, bytes, tbl. | 
| [ERREUR STL\$1SSHCLIENT\$1ERROR](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_SSHCLIENT_ERROR) | **Colonnes :** ssh\$1username, endpoint, command, error. | 
| [STL\$1TR\$1CONFLICT](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_TR_CONFLICT.html) | **Colonnes :** table\$1id. | 
| [STL\$1UNDONE](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_UNDONE.html) | **Colonnes :** table\$1id. | 
| [STL UNIQUE](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_UNIQUE.html) | **Colonnes :** rows, type, bytes. | 
| [STL\$1UTILITYTEXT](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_UTILITYTEXT.html) | **Colonnes :** label, text. | 
| [FENÊTRE STL](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_WINDOW.html) | **Colonnes :** rows. | 
| [STV\$1BLOCKLIST](https://docs.aws.amazon.com/redshift/latest/dg/r_STV_BLOCKLIST.html) | **Colonnes :** col, tbl, num\$1values, minvalue, maxvalue. | 
| [STV\$1EXEC\$1STATE](https://docs.aws.amazon.com/redshift/latest/dg/r_STV_EXEC_STATE.html) | **Colonnes :** rows, bytes, label. | 
| [STV\$1INFLIGHT](https://docs.aws.amazon.com/redshift/latest/dg/r_STV_INFLIGHT.html) | **Colonnes :** label, text. | 
| [STV LOCKS](https://docs.aws.amazon.com/redshift/latest/dg/r_STV_LOCKS.html) | **Colonnes :** table\$1id. | 
| [STV\$1QUERY\$1METRICS](https://docs.aws.amazon.com/redshift/latest/dg/r_STV_QUERY_METRICS.html) | **Colonnes :** rows, max\$1rows, blocks\$1read, max\$1blocks\$1read, max\$1blocks\$1to\$1disk, blocks\$1to\$1disk, max\$1query\$1scan\$1size, query\$1scan\$1size. | 
| [STV\$1STARTUP\$1RECOVERY\$1STATE](https://docs.aws.amazon.com/redshift/latest/dg/r_STV_STARTUP_RECOVERY_STATE.html) | **Colonnes :** table\$1id, table\$1name. | 
| [STV\$1TBL\$1PERM](https://docs.aws.amazon.com/redshift/latest/dg/r_STV_TBL_PERM.html) | **Colonnes :** id, name, rows, sorted\$1rows, temp, block\$1count, query\$1scan\$1size. | 
| [STV\$1TBL\$1TRANS](https://docs.aws.amazon.com/redshift/latest/dg/r_STV_TBL_TRANS.html) | **Colonnes :** id, rows, size. | 
| [SVCS\$1EXPLAIN](https://docs.aws.amazon.com/redshift/latest/dg/r_SVCS_EXPLAIN.html) | **Colonnes :** plannode, info. | 
| [INFORMATIONS SUR LE PLAN SVCS](https://docs.aws.amazon.com/redshift/latest/dg/r_SVCS_PLAN_INFO.html) | **Colonnes :** rows, bytes. | 
| [RÉSUMÉ DE LA REQUÊTE SVCS](https://docs.aws.amazon.com/redshift/latest/dg/r_SVCS_QUERY_SUMMARY.html) | **Colonnes :** step, rows, bytes, rate\$1row, rate\$1byte, label, rows\$1pre\$1filter. | 
| [LISTE SVCS\$1S3](https://docs.aws.amazon.com/redshift/latest/dg/r_SVCS_S3LIST.html) | **Colonnes :** bucket, prefix, retrieved\$1files, max\$1file\$1size, avg\$1file\$1size. | 
| [SVCS\$1S3LOG](https://docs.aws.amazon.com/redshift/latest/dg/r_SVCS_S3LOG.html) | **Colonnes :** message. | 
| [SVCS\$1S3PARTITION\$1SUMMARY](https://docs.aws.amazon.com/redshift/latest/dg/r_SVCS_S3PARTITION_SUMMARY.html) | **Colonnes :** total\$1partitions, qualified\$1partitions, min\$1assigned\$1partitions, max\$1assigned\$1partitions, avg\$1assigned\$1partitions. | 
| [SVCS\$1S3QUERY\$1SUMMARY](https://docs.aws.amazon.com/redshift/latest/dg/r_SVCS_S3QUERY_SUMMARY.html) | **Colonnes :** external\$1table\$1name, file\$1format, s3\$1scanned\$1rows, s3\$1scanned\$1bytes, s3query\$1returned\$1rows, s3query\$1returned\$1bytes. | 
| [SVL\$1QUERY\$1METRICS](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_QUERY_METRICS.html) | **Colonnes :** step\$1label, scan\$1row\$1count, join\$1row\$1count, nested\$1loop\$1join\$1row\$1count, return\$1row\$1count, spectrum\$1scan\$1row\$1count, spectrum\$1scan\$1size\$1mb. | 
| [RÉSUMÉ DES MÉTRIQUES DE LA REQUÊTE SVL](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_QUERY_METRICS_SUMMARY.html) | **Colonnes :** step\$1label, scan\$1row\$1count, join\$1row\$1count, nested\$1loop\$1join\$1row\$1count, return\$1row\$1count, spectrum\$1scan\$1row\$1count, spectrum\$1scan\$1size\$1mb. | 
| [SVL\$1QUERY\$1REPORT](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_QUERY_REPORT.html) | **Colonnes :** rows, bytes, label, rows\$1pre\$1filter. | 
| [RÉSUMÉ DE LA REQUÊTE SVL](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_QUERY_SUMMARY.html) | **Colonnes :** rows, bytes, rows\$1pre\$1filter. | 
| [LISTE SVL\$1S3](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_S3LIST.html) | **Colonnes :** bucket, prefix, retrieved\$1files, max\$1file\$1size, avg\$1file\$1size. | 
| [SVL\$1S3LOG](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_S3LOG.html) | **Colonnes :** message. | 
| [PARTITION SVL\$1S3](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_S3PARTITION.html) | **Colonnes :** rows, bytes, label, rows\$1pre\$1filter. | 
| [SVL\$1S3PARTITION\$1SUMMARY](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_S3PARTITION_SUMMARY.html) | **Colonnes :** total\$1partitions, qualified\$1partitions, min\$1assigned\$1partitions, max\$1assigned\$1partitions, avg\$1assigned\$1partitions. | 
| [REQUÊTE SVL\$1S3](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_S3QUERY.html) | **Colonnes :** external\$1table\$1name, file\$1format, s3\$1scanned\$1rows, s3\$1scanned\$1bytes, s3query\$1returned\$1rows, s3query\$1returned\$1bytes, files. | 
| [RÉSUMÉ DE LA REQUÊTE SVL\$1S3](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_S3QUERY_SUMMARY.html) | **Colonnes :** external\$1table\$1name, file\$1format, s3\$1scanned\$1rows, s3\$1scanned\$1bytes, s3query\$1returned\$1rows, s3query\$1returned\$1bytes. | 
| [SVL\$1S3 RÉESSAIE](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_S3RETRIES.html) | **Colonnes :** file\$1size, location, message. | 
| [SVL\$1SPECTRUM\$1SCAN\$1ERROR](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_SPECTRUM_SCAN_ERROR.html) | **Colonnes :** location, rowid, colname, original\$1value, modified\$1value, trigger, action, action\$1value, error\$1code. | 
| [SVL\$1STATEMENTTEXT](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_STATEMENTTEXT.html) | **Colonnes :** type, text. | 
| [SVL\$1STORED\$1PROC\$1CALL](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_STORED_PROC_CALL.html) | **Colonnes :** querytxt. | 
| [SVL\$1STORED\$1PROC\$1MESSAGES](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_STORED_PROC_MESSAGES.html) | **Colonnes :** message, linenum, querytext. | 
| [SVL\$1UDF\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_UDF_LOG.html) | **Colonnes :** message, funcname. | 
| [UTILISATION DU DISQUE SVV](https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_DISKUSAGE.html) | **Colonnes :** name, col, tbl, blocknum, num\$1values, minvalue, maxvalue. | 
| [SVV\$1QUERY\$1STATE](https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_QUERY_STATE.html) | **Colonnes :** rows, bytes, label. | 
| [SVV\$1TABLE\$1INFO](https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_TABLE_INFO.html) | **Colonnes :** table\$1id, table. | 
| [SVV\$1TRANSACTIONS](https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_TRANSACTIONS.html) | **Colonnes :** relation. | 

Pour plus d’informations sur les vues et les tables système dans, consultez [Informations de référence sur les tables et les vues système](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_system-tables.html) dans le *Guide du développeur de base de données Amazon Redshift*. Pour plus d’informations sur la capacité d’Amazon Redshift à masquer dynamiquement les résultats des requêtes, consultez la section [Masquage dynamique des données](https://docs.aws.amazon.com/redshift/latest/dg/t_ddm.html) dans le *Guide du développeur de base de données Amazon Redshift* Pour plus d'informations sur la création de vues dans le cadre de AWS Glue Data Catalog l'utilisation d'Amazon Redshift, consultez les [AWS Glue Data Catalog vues](https://docs.aws.amazon.com/redshift/latest/dg/data-catalog-views-overview.html) dans le manuel *Amazon Redshift Database Developer* Guide.

# Journalisation avec CloudTrail
<a name="logging-with-cloudtrail"></a>

Amazon Redshift, le partage de données, Amazon Redshift sans serveur, l’API de données Amazon Redshift et l’éditeur de requêtes v2 sont tous intégrés à AWS CloudTrail. CloudTrail est un service qui fournit un enregistrement des actions effectuées par un utilisateur, un rôle ou un service AWS dans l’API de données Amazon Redshift. CloudTrail capture tous les appels d’API pour Amazon Redshift en tant qu’événements. Les appels capturés incluent les appels de la console Redshift et les appels de code aux opérations Redshift. 

Si vous créez un journal de suivi CloudTrail, vous pouvez activer la livraison continue des événements CloudTrail dans un compartiment Amazon S3, y compris les événements pour Redshift. Si vous ne configurez pas de journal d’activité, vous pouvez toujours afficher les événements les plus récents dans la console CloudTrail dans **Event history** (Historique des événements). Grâce aux données collectées par CloudTrail, vous pouvez déterminer certaines informations. Il s’agit notamment de la requête qui a été envoyée à Redshift, de l’adresse IP à partir de laquelle la demande a été effectuée, de l’auteur et de la date de la requête, ainsi que d’autres détails. 

Vous pouvez utiliser CloudTrail indépendamment ou en plus de la journalisation des audits de base de données Amazon Redshift. 

Pour en savoir plus sur CloudTrail, consultez le [Guide de l’utilisateur AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Informations dans CloudTrail
<a name="working-with-info-in-cloudtrail"></a>

CloudTrail est activé dans votre compte AWS lors de la création de ce dernier. Quand une activité a lieu dans Athena, cette activité est enregistrée dans un événement CloudTrail avec d’autres événements de service AWS dans l’**Historique des événements**. Vous pouvez afficher, rechercher et télécharger les événements récents dans votre AWS compte. Pour plus d’informations, consultez [Affichage des événements avec l’historique des événements CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html) dans le *Guide de l’utilisateur AWS CloudTrail*. 

Pour un enregistrement continu des événements dans votre compte AWS, y compris les événements pour Redshift, créez un journal d’activité. Un *journal de suivi* permet à CloudTrail de livrer des fichiers journaux dans un compartiment Amazon S3. Par défaut, lorsque vous créez un journal de suivi dans la console, il s’applique à toutes les régions AWS. Le journal de suivi consigne les événements de toutes les Régions dans la partition AWS et livre les fichiers journaux dans le compartiment Amazon S3 de votre choix. En outre, vous pouvez configurer d’autres services AWS pour analyser et agir sur les données d’événements collectées dans les journaux CloudTrail. Pour plus d’informations, consultez les rubriques suivantes dans le *Guide de l’utilisateur AWS CloudTrail* :
+ [Vue d’ensemble de la création d’un journal d’activité](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [Intégrations et services pris en charge par CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configuration des notifications d’Amazon SNS pour CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Réception des fichiers journaux CloudTrail de plusieurs régions](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) et [Réception des fichiers journaux CloudTrail de plusieurs comptes](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Toutes les actions Amazon Redshift, Amazon Redshift sans serveur, API de données, partage de données et éditeur de requêtes v2 sont enregistrées par CloudTrail. À titre d’exemple, les appels vers les actions `AuthorizeDatashare`, `CreateNamespace`, `ExecuteStatement` et `CreateConnection` génèrent des entrées dans les fichiers journaux CloudTrail. 

Chaque événement ou entrée de journal contient des informations sur la personne ayant initié la demande. Les informations relatives à l’identité permettent de déterminer les éléments suivants : 
+ Si la demande a été effectuée avec les informations d’identification utilisateur racine ou .
+ Si la demande a été effectuée avec les informations d’identification de sécurité temporaires d’un rôle ou d’un utilisateur fédéré.
+ Si la demande a été effectuée par un autre service AWS.

Pour en savoir plus, consultez [Élément userIdentity CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html) dans le *Guide de l’utilisateur AWS CloudTrail*.

## Entrées de fichier journal
<a name="understanding-cloudtrail-log-files"></a>

Un *journal de suivi* est une configuration qui permet la remise d’événements sous forme de fichiers journaux dans un compartiment S3 que vous spécifiez. Les fichiers journaux CloudTrail peuvent contenir une ou plusieurs entrées. Un *événement* représente une demande individuelle émise à partir d’une source quelconque et comprend des informations sur l’action demandée, la date et l’heure de l’action, les paramètres de la demande, etc. Les fichiers journaux CloudTrail ne constituent pas une série ordonnée retraçant les appels d’API publics. Ils ne suivent aucun ordre précis. 

## Exemple de partage de données Amazon Redshift
<a name="datashare-cloudtrail-example"></a>

L’exemple suivant montre une entrée de journal CloudTrail qui illustre l’opération `AuthorizeDataShare`. 

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AKIAIOSFODNN7EXAMPLE:janedoe",
        "arn": "arn:aws:sts::111122223333:user/janedoe",
        "accountId": "111122223333",
        "accessKeyId": "AKIAI44QH8DHBEXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AKIAIOSFODNN7EXAMPLE:janedoe",
                "arn": "arn:aws:sts::111122223333:user/janedoe",
                "accountId": "111122223333",
                "userName": "janedoe"
            },
            "attributes": {
                "creationDate": "2021-08-02T23:40:45Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2021-08-02T23:40:58Z",
    "eventSource": "redshift.amazonaws.com",
    "eventName": "AuthorizeDataShare",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "3.227.36.75",
    "userAgent":"aws-cli/1.18.118 Python/3.6.10 Linux/4.9.217-0.1.ac.205.84.332.metal1.x86_64 botocore/1.17.41", 
    "requestParameters": {
        "dataShareArn": "arn:aws:redshift:us-east-1:111122223333:datashare:4c64c6ec-73d5-42be-869b-b7f7c43c7a53/testshare",
        "consumerIdentifier": "555555555555"
    },
    "responseElements": {
        "dataShareArn": "arn:aws:redshift:us-east-1:111122223333:datashare:4c64c6ec-73d5-42be-869b-b7f7c43c7a53/testshare",
        "producerNamespaceArn": "arn:aws:redshift:us-east-1:123456789012:namespace:4c64c6ec-73d5-42be-869b-b7f7c43c7a53",
        "producerArn": "arn:aws:redshift:us-east-1:111122223333:namespace:4c64c6ec-73d5-42be-869b-b7f7c43c7a53",
        "allowPubliclyAccessibleConsumers": true,
        "dataShareAssociations": [
            {
                "consumerIdentifier": "555555555555",
                "status": "AUTHORIZED",
                "createdDate": "Aug 2, 2021 11:40:56 PM",
                "statusChangeDate": "Aug 2, 2021 11:40:57 PM"
            }
        ]
    },
    "requestID": "87ee1c99-9e41-42be-a5c4-00495f928422",
    "eventID": "03a3d818-37c8-46a6-aad5-0151803bdb09",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

## Exemple Amazon Redshift sans serveur
<a name="serverless-cloudtrail-example"></a>

Amazon Redshift sans serveur est intégré à AWS CloudTrail afin de fournir un enregistrement des actions effectuées dans Amazon Redshift sans serveur. CloudTrail capture tous les appels d’API pour Amazon Redshift sans serveur en tant qu’événements. Pour de plus amples informations sur les fonctionnalités Amazon Redshift sans serveur, consultez [Présentation des fonctionnalités Amazon Redshift sans serveur](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-considerations.html).

L’exemple suivant présente une entrée de journal CloudTrail qui illustre l’action `CreateNamespace`.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AAKEOFPINEXAMPLE:admin",
        "arn": "arn:aws:sts::111111111111:assumed-role/admin/admin",
        "accountId": "111111111111",
        "accessKeyId": "AAKEOFPINEXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AAKEOFPINEXAMPLE",
                "arn": "arn:aws:iam::111111111111:role/admin",
                "accountId": "111111111111",
                "userName": "admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2022-03-21T20:51:58Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2022-03-21T23:15:40Z",
    "eventSource": "redshift-serverless.amazonaws.com",
    "eventName": "CreateNamespace",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "56.23.155.33",
    "userAgent": "aws-cli/2.4.14 Python/3.8.8 Linux/5.4.181-109.354.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/redshift-serverless.create-namespace",
    "requestParameters": {
        "adminUserPassword": "HIDDEN_DUE_TO_SECURITY_REASONS",
        "adminUsername": "HIDDEN_DUE_TO_SECURITY_REASONS",
        "dbName": "dev",
        "namespaceName": "testnamespace"
    },
    "responseElements": {
        "namespace": {
            "adminUsername": "HIDDEN_DUE_TO_SECURITY_REASONS",
            "creationDate": "Mar 21, 2022 11:15:40 PM",
            "defaultIamRoleArn": "",
            "iamRoles": [],
            "logExports": [],
            "namespaceArn": "arn:aws:redshift-serverless:us-east-1:111111111111:namespace/befa5123-16c2-4449-afca-1d27cb40fc99",
            "namespaceId": "8b726a0c-16ca-4799-acca-1d27cb403599",
            "namespaceName": "testnamespace",
            "status": "AVAILABLE"
        }
    },
    "requestID": "ed4bb777-8127-4dae-aea3-bac009999163",
    "eventID": "1dbee944-f889-4beb-b228-7ad0f312464",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111111111111",
    "eventCategory": "Management",
}
```

## Exemples d’API de données Amazon Redshift
<a name="data-api-cloudtrail"></a>

L’exemple suivant présente une entrée de journal CloudTrail qui illustre l’action `ExecuteStatement`.

```
{
    "eventVersion":"1.05",
    "userIdentity":{
        "type":"IAMUser",
        "principalId":"AKIAIOSFODNN7EXAMPLE:janedoe",
        "arn":"arn:aws:sts::123456789012:user/janedoe",
        "accountId":"123456789012",
        "accessKeyId":"AKIAI44QH8DHBEXAMPLE",
        "userName": "janedoe"
    },
    "eventTime":"2020-08-19T17:55:59Z",
    "eventSource":"redshift-data.amazonaws.com",
    "eventName":"ExecuteStatement",
    "awsRegion":"us-east-1",
    "sourceIPAddress":"192.0.2.0",
    "userAgent":"aws-cli/1.18.118 Python/3.6.10 Linux/4.9.217-0.1.ac.205.84.332.metal1.x86_64 botocore/1.17.41",
    "requestParameters":{
        "clusterIdentifier":"example-cluster-identifier",
        "database":"example-database-name",
        "dbUser":"example_db_user_name",
        "sql":"***OMITTED***"
    },
    "responseElements":{
        "clusterIdentifier":"example-cluster-identifier",
        "createdAt":"Aug 19, 2020 5:55:58 PM",
        "database":"example-database-name",
        "dbUser":"example_db_user_name",
        "id":"5c52b37b-9e07-40c1-98de-12ccd1419be7"
    },
    "requestID":"00c924d3-652e-4939-8a7a-cd0612eeb8ac",
    "eventID":"c1fb7076-102f-43e5-9ec9-40820bcc1175",
    "readOnly":false,
    "eventType":"AwsApiCall",
    "recipientAccountId":"123456789012"
}
```

L’exemple suivant présente une entrée de journal CloudTrail qui illustre l’action `ExecuteStatement` affichant le `clientToken` utilisé pour l’idempotence.

```
{
    "eventVersion":"1.05",
    "userIdentity":{
        "type":"IAMUser",
        "principalId":"AKIAIOSFODNN7EXAMPLE:janedoe",
        "arn":"arn:aws:sts::123456789012:user/janedoe",
        "accountId":"123456789012",
        "accessKeyId":"AKIAI44QH8DHBEXAMPLE",
        "userName": "janedoe"
    },
    "eventTime":"2020-08-19T17:55:59Z",
    "eventSource":"redshift-data.amazonaws.com",
    "eventName":"ExecuteStatement",
    "awsRegion":"us-east-1",
    "sourceIPAddress":"192.0.2.0",
    "userAgent":"aws-cli/1.18.118 Python/3.6.10 Linux/4.9.217-0.1.ac.205.84.332.metal1.x86_64 botocore/1.17.41",
    "requestParameters":{
        "clusterIdentifier":"example-cluster-identifier",
        "database":"example-database-name",
        "dbUser":"example_db_user_name",
        "sql":"***OMITTED***",
        "clientToken":"32db2e10-69ac-4534-b3fc-a191052616ce"
    },
    "responseElements":{
        "clusterIdentifier":"example-cluster-identifier",
        "createdAt":"Aug 19, 2020 5:55:58 PM",
        "database":"example-database-name",
        "dbUser":"example_db_user_name",
        "id":"5c52b37b-9e07-40c1-98de-12ccd1419be7"
    },
    "requestID":"00c924d3-652e-4939-8a7a-cd0612eeb8ac",
    "eventID":"c1fb7076-102f-43e5-9ec9-40820bcc1175",
    "readOnly":false,
    "eventType":"AwsApiCall",
    "recipientAccountId":"123456789012"
}
```

## Exemple de Amazon Redshift Query Editor V2.
<a name="query-editor-cloudtrail"></a>

L’exemple suivant présente une entrée de journal CloudTrail qui illustre l’action `CreateConnection`.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AAKEOFPINEXAMPLE:session",
        "arn": "arn:aws:sts::123456789012:assumed-role/MyRole/session",
        "accountId": "123456789012",
        "accessKeyId": "AKIAI44QH8DHBEXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AAKEOFPINEXAMPLE",
                "arn": "arn:aws:iam::123456789012:role/MyRole",
                "accountId": "123456789012",
                "userName": "MyRole"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2022-09-21T17:19:02Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2022-09-21T22:22:05Z",
    "eventSource": "sqlworkbench.amazonaws.com",
    "eventName": "CreateConnection",
    "awsRegion": "ca-central-1",
    "sourceIPAddress": "192.2.0.2",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Firefox/102.0",
    "requestParameters": {
        "password": "***",
        "databaseName": "***",
        "isServerless": false,
        "name": "***",
        "host": "redshift-cluster-2.c8robpbxvbf9.ca-central-1.redshift.amazonaws.com",
        "authenticationType": "***",
        "clusterId": "redshift-cluster-2",
        "username": "***",
        "tags": {
            "sqlworkbench-resource-owner": "AAKEOFPINEXAMPLE:session"
        }
    },
    "responseElements": {
        "result": true,
        "code": "",
        "data": {
            "id": "arn:aws:sqlworkbench:ca-central-1:123456789012:connection/ce56b1be-dd65-4bfb-8b17-12345123456",
            "name": "***",
            "authenticationType": "***",
            "databaseName": "***",
            "secretArn": "arn:aws:secretsmanager:ca-central-1:123456789012:secret:sqlworkbench!7da333b4-9a07-4917-b1dc-12345123456-qTCoFm",
            "clusterId": "redshift-cluster-2",
            "dbUser": "***",
            "userSettings": "***",
            "recordDate": "2022-09-21 22:22:05",
            "updatedDate": "2022-09-21 22:22:05",
            "accountId": "123456789012",
            "tags": {
                "sqlworkbench-resource-owner": "AAKEOFPINEXAMPLE:session"
            },
            "isServerless": false
        }
    },
    "requestID": "9b82f483-9c03-4cdd-bb49-a7009e7da714",
    "eventID": "a7cdd442-e92f-46a2-bc82-2325588d41c3",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}
```

## Identifiants de compte Amazon Redshift dans les journaux AWS CloudTrail
<a name="cloudtrail-rs-acct-ids"></a>

Lorsqu’Amazon Redshift appelle un autre service AWS pour vous, l’appel est journalisé avec un ID de compte qui appartient à Amazon Redshift. Il n’est pas consigné avec votre ID de compte. Par exemple, supposons qu’Amazon Redshift appelle des opérations AWS Key Management Service (AWS KMS) telles que `CreateGrant`, `Decrypt`, `Encrypt` et `RetireGrant` pour gérer le chiffrement sur votre cluster. Dans ce cas, les appels sont journalisés par AWS CloudTrail en utilisant un ID de compte Amazon Redshift.

Amazon Redshift utilise les ID de compte du tableau suivant lorsqu’il appelle d’autres services AWS.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/logging-with-cloudtrail.html)

L’exemple suivant montre une entrée de journal CloudTrail pour l’opération AWS KMS Decrypt appelée par Amazon Redshift.

```
{

    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAI5QPCMKLTL4VHFCYY:i-0f53e22dbe5df8a89",
        "arn": "arn:aws:sts::790247189693:assumed-role/prod-23264-role-wp/i-0f53e22dbe5df8a89",
        "accountId": "790247189693",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2017-03-03T16:24:54Z"
            },
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAI5QPCMKLTL4VHFCYY",
                "arn": "arn:aws:iam::790247189693:role/prod-23264-role-wp",
                "accountId": "790247189693",
                "userName": "prod-23264-role-wp"
            }
        }
    },
    "eventTime": "2017-03-03T17:16:51Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "52.14.143.61",
    "userAgent": "aws-internal/3",
    "requestParameters": {
        "encryptionContext": {
            "aws:redshift:createtime": "20170303T1710Z",
            "aws:redshift:arn": "arn:aws:redshift:us-east-2:123456789012:cluster:my-dw-instance-2"
        }
    },
    "responseElements": null,
    "requestID": "30d2fe51-0035-11e7-ab67-17595a8411c8",
    "eventID": "619bad54-1764-4de4-a786-8898b0a7f40c",
    "readOnly": true,
    "resources": [
        {
            "ARN": "arn:aws:kms:us-east-2:123456789012:key/f8f4f94f-e588-4254-b7e8-078b99270be7",
            "accountId": "123456789012",
            "type": "AWS::KMS::Key"
        }
    ],
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012",
    "sharedEventID": "c1daefea-a5c2-4fab-b6f4-d8eaa1e522dc"

}
```

# Validation de la conformité pour Amazon Redshift
<a name="security-compliance"></a>

Des auditeurs tiers évaluent la sécurité et la conformité d'Amazon Redshift dans le cadre de plusieurs programmes de AWS conformité. Il s’agit notamment des certifications SOC, PCI, FedRAMP, HIPAA et d’autres. 

Pour une liste des AWS services concernés par des programmes de conformité spécifiques, voir [AWSServices concernés par programme de conformité](https://aws.amazon.com/compliance/services-in-scope/). Pour obtenir des informations générales, veuillez consulter [Programmes de conformité d’AWS](https://aws.amazon.com/compliance/programs/).

Vous pouvez télécharger des rapports d'audit tiers à l'aide deAWS Artifact. Pour plus d'informations, consultez la section [Téléchargement de rapports dans AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html). 

Votre responsabilité de conformité lors de l'utilisation d'Amazon Redshift est déterminée par la sensibilité de vos données, les objectifs de conformité de votre organisation, ainsi que par la législation et la réglementation applicables. Si votre utilisation d'Amazon Redshift est soumise à la conformité à des normes telles que HIPAA, PCI ou FedRAMP, fournit des ressources pour vous aider à : AWS
+ [Guides de démarrage rapide sur la sécurité et la conformité](https://aws.amazon.com/quickstart/?awsf.quickstart-homepage-filter=categories%23security-identity-compliance) qui abordent les considérations architecturales et les étapes à suivre pour déployer des environnements de base axés sur la sécurité et la conformité surAWS. 
+ [Livre blanc sur l'architecture pour la sécurité et la conformité HIPAA](https://docs.aws.amazon.com/whitepapers/latest/architecting-hipaa-security-and-compliance-on-aws/architecting-hipaa-security-and-compliance-on-aws.html), qui décrit comment les entreprises peuvent utiliser AWS pour créer des applications conformes à la loi HIPAA.
+ [AWSdes ressources, des classeurs et des guides de conformité](https://aws.amazon.com/compliance/resources/) susceptibles de s'appliquer à votre secteur d'activité et à votre région.
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html), un AWS service, peut évaluer dans quelle mesure les configurations de vos ressources sont conformes aux pratiques internes, aux directives du secteur et aux réglementations.
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html), un AWS service, fournit une vue complète de votre état de sécurité AWS qui vous permet de vérifier votre conformité aux normes et aux meilleures pratiques du secteur de la sécurité. Security Hub CSPM utilise des contrôles de sécurité pour évaluer les configurations des ressources et les normes de sécurité afin de vous aider à vous conformer aux différents cadres de conformité. *Pour plus d'informations sur l'utilisation de Security Hub CSPM pour évaluer les ressources Amazon Redshift, consultez les contrôles Amazon [Redshift dans le guide de l'utilisateur](https://docs.aws.amazon.com/securityhub/latest/userguide/redshift-controls.html). AWS Security Hub*

Les documents de conformité et de sécurité suivants concernent Amazon Redshift et sont disponibles sur demande auprès de. AWS Artifact Pour de plus amples informations, veuillez consulter [AWS Artifact](https://aws.amazon.com/artifact). 
+ Cloud Computing Compliance Controls Catalogue (C5)
+ ISO 27001 : Déclaration d'applicabilité 2013 (DdA)
+ ISO 27001 : Certification 2013
+ ISO 27017 : Déclaration d'applicabilité 2015 (DdA)
+ ISO 27017 : Certification 2015
+ ISO 27018 : Déclaration d'applicabilité 2015 (DdA)
+ ISO 27018 : Certification 2014
+ ISO 9001:  Certification 2015
+ Attestation de conformité (AOC) et récapitulatif des responsabilités PCI DSS
+ Rapport SOC 1 (Service Organization Controls)
+ Rapport SOC 2 (Service Organization Controls)
+ Rapport SOC 2 (Service Organization Controls) relatif à la confidentialité

# Résilience d'Amazon Redshift
<a name="security-disaster-recovery-resiliency"></a>

L'infrastructure mondiale d'AWS repose sur des régions AWS et des zones de disponibilité AWS. Les régions fournissent plusieurs zones de disponibilité physiquement séparées et isolées, reliées par un réseau à latence faible, à débit élevé et à forte redondance. Avec les zones de disponibilité, vous pouvez concevoir et exploiter des applications et des bases de données qui basculent automatiquement d’une zone de disponibilité à l’autre sans interruption. Les zones de disponibilité sont plus hautement disponibles, tolérantes aux pannes et évolutives que les infrastructures traditionnelles à un ou plusieurs centres de données. 

Presque toutes les régions AWS ont plusieurs zones de disponibilité et centres de données. Vous pouvez déployer vos applications dans plusieurs zones de disponibilité au sein d’une même Région pour bénéficier d’une tolérance aux pannes et d’une faible latence. 

Pour déplacer un cluster vers une autre zone de disponibilité sans aucune perte de données ou modification de vos applications, vous pouvez relocaliser votre cluster. Avec la relocalisation, vous pouvez continuer les opérations en cas d’interruption de service sur votre cluster avec un impact minimal. Lorsque la relocalisation des clusters est activée, Amazon Redshift peut relocaliser les clusters dans certaines situations. Pour plus d'informations sur la relocalisation dans Amazon Redshift, consultez [Relocalisation d’un cluster](managing-cluster-recovery.md).

En cas de panne lorsqu'un événement inattendu se produit dans une zone de disponibilité, vous pouvez définir un déploiement avec plusieurs zones de disponibilité (multi-AZ) afin que votre entrepôt des données Amazon Redshift puisse continuer à fonctionner. Amazon Redshift déploie des ressources de calcul égales dans deux zones de disponibilité accessibles via un seul point de terminaison. En cas de panne de l'ensemble d'une zone de disponibilité, les ressources de calcul restantes dans la seconde zone de disponibilité seront disponibles pour poursuivre le traitement des charges de travail. Pour plus d'informations sur les déploiements Multi-AZ, consultez [déploiement multi-AZ](managing-cluster-multi-az.md). 

Pour plus d'informations sur les régions et les zones de disponibilité AWS, consultez [Infrastructure mondiale AWS](https://aws.amazon.com/about-aws/global-infrastructure/). Pour plus d’informations sur l’utilisation d’Amazon Redshift pour la reprise après sinistre, consultez [Implémenter la reprise après sinistre avec Amazon Redshift](https://aws.amazon.com/blogs/big-data/implement-disaster-recovery-with-amazon-redshift/).

. 

# Sécurité de l'infrastructure dans Amazon Redshift
<a name="security-network-isolation"></a>

En tant que service géré, Amazon Redshift est protégé par la sécurité du réseau AWS mondial. Pour plus d'informations sur les services AWS de sécurité et sur la manière dont AWS l'infrastructure est protégée, consultez la section [Sécurité du AWS cloud](https://aws.amazon.com/security/). Pour concevoir votre AWS environnement en utilisant les meilleures pratiques en matière de sécurité de l'infrastructure, consultez la section [Protection de l'infrastructure](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) dans le cadre * AWS bien architecturé du pilier de sécurité*.

Vous utilisez des appels d'API AWS publiés pour accéder à Amazon Redshift via le réseau. Les clients doivent prendre en charge les éléments suivants :
+ Protocole TLS (Transport Layer Security). Nous exigeons TLS 1.2 et recommandons TLS 1.3.
+ Ses suites de chiffrement PFS (Perfect Forward Secrecy) comme DHE (Ephemeral Diffie-Hellman) ou ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). La plupart des systèmes modernes tels que Java 7 et les versions ultérieures prennent en charge ces modes.

## Isolement de réseau
<a name="network-isolation"></a>

Un cloud privé virtuel (VPC) basé sur le service Amazon VPC est votre réseau privé et logiquement isolé dans le cloud. AWS Vous pouvez déployer un cluster Amazon Redshift ou un groupe de travail sans serveur Redshift dans un VPC en procédant comme suit :
+ Créez un VPC dans une AWS région. Pour de plus amples informations, veuillez consulter [Qu'est-ce qu'Amazon VPC ?](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) dans le *Guide de l'utilisateur Amazon VPC*. 
+ Créez au moins deux sous-réseaux VPC privés. Pour plus d'informations, consultez la section [VPCs et les sous-réseaux](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) dans le guide de l'*utilisateur Amazon VPC.*
+ Déployez un cluster Amazon Redshift ou un groupe de travail Redshift sans serveur. Pour plus d’informations, consultez [Sous-réseaux pour les ressources Redshift](working-with-cluster-subnet-groups.md) ou [Groupe de travail et espace de noms](serverless-workgroup-namespace.md).

Par défaut, un cluster Amazon Redshift est verrouillé lors du provisionnement. Pour autoriser le trafic réseau entrant en provenance des clients Amazon Redshift, associez un groupe de sécurité de VPC à un cluster Amazon Redshift. Pour plus d’informations, consultez [Sous-réseaux pour les ressources Redshift](working-with-cluster-subnet-groups.md). 

Pour autoriser le trafic uniquement vers ou en provenance de plages d'adresses IP spécifiques, mettez à jour les groupes de sécurité avec votre VPC. Par exemple, vous pouvez autoriser le trafic uniquement depuis ou vers votre réseau d'entrreprise.

Lorsque vous configurez les listes de contrôle d'accès réseau associées au (x) sous-réseau (s) associé (s) à votre cluster Amazon Redshift, assurez-vous que les plages d'adresses CIDR S3 de la région AWS concernée sont ajoutées à la liste d'autorisation pour les règles d'entrée et de sortie. Cela vous permet d'exécuter des opérations basées sur S3 telles que Redshift Spectrum, COPY et UNLOAD sans aucune interruption.

L'exemple de commande suivant analyse la réponse JSON pour toutes les IPv4 adresses utilisées dans Amazon S3 dans la région us-east-1.

```
curl https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.region=="us-east-1") | select(.service=="S3") | .ip_prefix'

54.231.0.0/17

52.92.16.0/20

52.216.0.0/15
```

Pour savoir comment obtenir des plages d'adresses IP S3 pour une région donnée, consultez [Plages d'adresses IP AWS](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html).

Amazon Redshift prend en charge le déploiement de clusters dans le cadre d'une location dédiée. VPCs Pour de plus amples informations, veuillez consulter [Instances dédiées](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) dans le *Guide de l'utilisateur Amazon EC2*.

## Groupes de sécurité Amazon Redshift
<a name="working-with-security-groups"></a>

Lorsque vous allouez un cluster Amazon Redshift, il est verrouillé par défaut afin que personne n'y ait accès. Pour autoriser d'autres utilisateurs à accéder à un cluster Amazon Redshift, associez le cluster à un groupe de sécurité. Si vous êtes sur la plateforme EC2-VPC, vous pouvez utiliser un groupe de sécurité Amazon VPC existant ou en définir un nouveau et l'associer ensuite à un cluster. Pour plus d'informations sur la gestion d'un cluster sur la plateforme EC2-VPC, consultez la section [Ressources Redshift dans un VPC](managing-clusters-vpc.md).

## Points de terminaison de VPC d’Interface
<a name="security-private-link"></a>

Vous pouvez vous connecter directement à l’API Amazon Redshift et Amazon Redshift sans serveur à l’aide d’un point de terminaison de VPC d’interface (AWS PrivateLink) dans votre Virtual Private Cloud (VPC) au lieu de vous connecter via Internet. Pour plus d'informations sur les actions d'API Amazon Redshift, consultez [Actions](https://docs.aws.amazon.com/redshift/latest/APIReference/API_Operations.html) dans la *Référence d'API Amazon Redshift*. Pour plus d’informations sur les actions d’API Redshift sans serveur, consultez [Actions](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_Operations.html) dans la *Référence d’API Amazon Redshift sans serveur*. Pour de plus amples informations sur AWS PrivateLink, veuillez consulter [Points de terminaison d'un VPC d'interface (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) dans le *Guide de l'utilisateur Amazon VPC*. Notez que la JDBC/ODBC connexion au cluster ou à l'espace de travail ne fait pas partie du service d'API Amazon Redshift.

Lorsque vous utilisez un point de terminaison VPC d'interface, la communication entre votre VPC et Amazon Redshift ou Redshift Serverless s'effectue entièrement au sein du réseau, ce qui peut renforcer la sécurité. AWS Chaque point de terminaison d'un VPC est représenté par une ou plusieurs interfaces réseau Elastic avec des adresses IP privées dans vos sous-réseaux VPC. Pour plus d'informations sur les interfaces réseau Elastic, veuillez consulter [Interfaces réseau Elastic](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) dans le *Guide de l'utilisateur Amazon EC2.* 

Un point de terminaison de VPC d'interface connecte votre VPC directement à Amazon Redshift. Il n'utilise pas de passerelle Internet, de périphérique de traduction d'adresses réseau (NAT), de connexion à un réseau privé virtuel (VPN) ou de Direct Connect connexion. Les instances de votre VPC ne nécessitent pas d'adresses IP publiques pour communiquer avec l'API Amazon Redshift. 

Pour utiliser Amazon Redshift ou Redshift sans serveur via votre VPC, vous avez deux options. L'une consiste à vous connecter à partir d'une instance qui se trouve à l'intérieur de votre VPC. L'autre consiste à connecter votre réseau privé à votre VPC à l'aide d'une Site-to-Site VPN option ou. Direct Connect Pour plus d'informations sur Site-to-Site VPN les options, consultez la section [Connexions VPN](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html) dans le guide de l'*utilisateur Amazon VPC*. Pour obtenir des informations sur Direct Connect, consultez [Création d'une connexion](https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-connection.html) dans le *Guide de l'utilisateur Direct Connect *. 

Vous pouvez créer un point de terminaison VPC d'interface pour vous connecter à Amazon Redshift à AWS Management Console l'aide des commandes AWS Command Line Interface or AWS CLI(). Pour plus d’informations, consultez [Création d’un point de terminaison d’interface](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html#create-interface-endpoint).

Une fois que vous avez créé un point de terminaison de VPC d'interface, vous pouvez activer les noms d'hôte DNS privés pour le point de terminaison. Dans ce cas, le point de terminaison par défaut est le suivant :
+ **Amazon Redshift alloué** : `https://redshift.Region.amazonaws.com`
+ **Amazon Redshift sans serveur** : `https://redshift-serverless.Region.amazonaws.com`

Si vous n'activez pas les noms d'hôte DNS privés, Amazon VPC fournit un nom de point de terminaison DNS que vous pouvez utiliser au format suivant.
+ **Amazon Redshift alloué** : `VPC_endpoint_ID.redshift.Region.vpce.amazonaws.com`
+ **Amazon Redshift sans serveur** : `VPC_endpoint_ID.redshift-serverless.Region.vpce.amazonaws.com`

Pour de plus amples informations, consultez [Points de terminaison VPC (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) dans le *Guide de l’utilisateur Amazon VPC*.

Amazon Redshift et Redshift sans serveur permettent d’appeler toutes les [opérations d’API Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/APIReference/API_Operations.html) et les [opérations d’API Redshift sans serveur](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_Operations.html) au sein de votre VPC. 

Vous pouvez attacher des politiques de point de terminaison de VPC à un point de terminaison VPC pour contrôler l'accès des entités Gestion des identités et des accès AWS (IAM). Vous pouvez également associer des groupes de sécurité à un point de terminaison de VPC pour contrôler l'accès entrant et sortant en fonction de l'origine et de la destination du trafic réseau. Un exemple est une plage d'adresses IP. Pour plus d’informations, consultez [Contrôle de l’accès aux services avec des points de terminaison d’un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) dans le *Guide de l’utilisateur Amazon VPC*. 

### Politiques de point de terminaison d’un VPC pour Amazon Redshift
<a name="security-private-link-vpc_endpoint-policy"></a>

Vous pouvez créer une politique pour les points de terminaison de VPC pour les instances de bloc-notes Amazon Redshift afin de spécifier les éléments suivants :
+ Principal qui peut ou ne peut pas effectuer des actions
+ Les actions qui peuvent être effectuées.
+ Les ressources sur lesquelles les actions peuvent être exécutées.

Pour plus d’informations, consultez [Contrôle de l’accès aux services avec points de terminaison d’un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) dans le *Guide de l’utilisateur Amazon VPC*. 

Vous trouverez ci-dessous des exemples de politiques de point de terminaison de VPC.

#### Exemples de politiques de point de terminaison Amazon Redshift alloué
<a name="security-private-link-examples-provisioned"></a>

Vous trouverez ci-dessous des exemples de politiques de point de terminaison d’un VPC pour Amazon Redshift alloué.

##### Exemple : politique de point de terminaison VPC visant à refuser tout accès depuis un compte spécifié AWS
<a name="security-private-link-example-1"></a>

La politique de point de terminaison VPC suivante refuse au AWS compte `123456789012` tout accès aux ressources utilisant ce point de terminaison.

```
{
    "Statement": [
        {
            "Action": "*",
            "Effect": "Allow",
            "Resource": "*",
            "Principal": "*"
        },
        {
            "Action": "*",
            "Effect": "Deny",
            "Resource": "*",
            "Principal": {
                "AWS": [
                    "123456789012"
                ]
            }
        }
    ]
}
```

##### Exemple : politique de point de terminaison d'un VPC pour autoriser l'accès VPC uniquement à un rôle IAM spécifié
<a name="security-private-link-example-1.1"></a>

La politique de point de terminaison VPC suivante autorise un accès complet uniquement au rôle IAM dans *`redshiftrole`* le compte. AWS *123456789012* Toutes les autres entités IAM se voient refuser l’accès à l’aide du point de terminaison.

```
   {
    "Statement": [
        {
            "Action": "*",
            "Effect": "Allow",
            "Resource": "*",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:role/redshiftrole"
                ]
            }
        }]
}
```

Il s'agit uniquement d'un exemple. Dans la plupart des cas d'utilisation, nous recommandons d'associer des autorisations à des actions spécifiques afin de réduire la portée des autorisations.

##### Exemple : politique de point de terminaison de VPC pour autoriser l'accès VPC uniquement à un principal IAM spécifié (utilisateur)
<a name="security-private-link-example-2"></a>

La politique de point de terminaison VPC suivante autorise un accès complet uniquement à l'utilisateur *`redshiftadmin`* IAM inscrit dans le compte. AWS *123456789012* Toutes les autres entités IAM se voient refuser l’accès à l’aide du point de terminaison.

```
   {
    "Statement": [
        {
            "Action": "*",
            "Effect": "Allow",
            "Resource": "*",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:user/redshiftadmin"
                ]
            }
        }]
}
```

Il s'agit uniquement d'un exemple. Dans la plupart des cas d'utilisation, nous recommandons d'associer des autorisations à un rôle avant de les attribuer à un utilisateur. En outre, nous vous recommandons d'utiliser des actions spécifiques pour réduire la portée des autorisations.

##### Exemple : politique de point de terminaison VPC pour autoriser les opérations Amazon Redshift en lecture seule
<a name="security-private-link-example-3"></a>

La politique de point de terminaison VPC suivante autorise uniquement le AWS compte *`123456789012`* à effectuer les actions Amazon Redshift spécifiées. 

Les actions spécifiées fournissent l'équivalent d'un accès en lecture seule pour Amazon Redshift. Toutes les autres actions sur le VPC sont refusées pour le compte spécifié. En outre, tous les autres comptes se voient refuser tout accès. Pour afficher la liste des actions Amazon Redshift, veuillez consulter [Actions, ressources et clés de condition pour Amazon Redshift](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonredshift.html) dans le *Guide de l'utilisateur IAM*.

```
  {
    "Statement": [
        {
            "Action": [
                "redshift:DescribeAccountAttributes",
                "redshift:DescribeClusterParameterGroups",
                "redshift:DescribeClusterParameters",
                "redshift:DescribeClusterSecurityGroups",
                "redshift:DescribeClusterSnapshots",
                "redshift:DescribeClusterSubnetGroups",
                "redshift:DescribeClusterVersions",
                "redshift:DescribeDefaultClusterParameters",
                "redshift:DescribeEventCategories",
                "redshift:DescribeEventSubscriptions",
                "redshift:DescribeHsmClientCertificates",
                "redshift:DescribeHsmConfigurations",
                "redshift:DescribeLoggingStatus",
                "redshift:DescribeOrderableClusterOptions",
                "redshift:DescribeQuery",
                "redshift:DescribeReservedNodeOfferings",
                "redshift:DescribeReservedNodes",
                "redshift:DescribeResize",
                "redshift:DescribeSavedQueries",
                "redshift:DescribeScheduledActions",
                "redshift:DescribeSnapshotCopyGrants",
                "redshift:DescribeSnapshotSchedules",
                "redshift:DescribeStorage",
                "redshift:DescribeTable",
                "redshift:DescribeTableRestoreStatus",
                "redshift:DescribeTags",
                "redshift:FetchResults",
                "redshift:GetReservedNodeExchangeOfferings"            
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Principal": {
                "AWS": [
                    "123456789012"
                ]
            }
        }
    ]
}
```

##### Exemple : politique de point de terminaison de VPC refusant l'accès à un cluster spécifié
<a name="security-private-link-example-4"></a>

La politique de point de terminaison de VPC suivante permet un accès complet à tous les comptes et entités. Dans le même temps, il refuse tout accès au AWS compte *`123456789012`* aux actions effectuées sur le cluster Amazon Redshift avec un identifiant de cluster. `my-redshift-cluster` D'autres actions Amazon Redshift qui ne prennent pas en charge les autorisations au niveau des ressources pour les clusters sont toujours autorisées. Pour obtenir une liste des actions Amazon Redshift et de leur type de ressource correspondant, veuillez consulter la rubrique [Actions, ressources et clés de condition pour Amazon Redshift](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonredshift.html) dans le *Guide de l'utilisateur IAM*. 

```
 {
    "Statement": [
        {
            "Action": "*",
            "Effect": "Allow",
            "Resource": "*",
            "Principal": "*"
        },
        {
            "Action": "*",
            "Effect": "Deny",
            "Resource": "arn:aws:redshift:us-east-1:123456789012:cluster:my-redshift-cluster",
            "Principal": {
                "AWS": [
                    "123456789012"
                ]
            }
        }
    ]
}
```

#### Exemples de politique de point de terminaison Amazon Redshift sans serveur
<a name="security-private-link-examples-serverless"></a>

Vous trouverez ci-dessous des exemples de politiques de point de terminaison d’un VPC pour Redshift sans serveur.

##### Exemple : politique de point de terminaison VPC pour autoriser les opérations Redshift sans serveur en lecture seule
<a name="security-private-link-serverless-example-1"></a>

La politique de point de terminaison VPC suivante autorise uniquement le AWS compte *`123456789012`* à effectuer les actions Redshift Serverless spécifiées. 

Les actions spécifiées fournissent l’équivalent d’un accès en lecture seule pour Redshift sans serveur. Toutes les autres actions sur le VPC sont refusées pour le compte spécifié. En outre, tous les autres comptes se voient refuser tout accès. Pour afficher la liste des actions Redshift sans serveur, consultez [Actions, ressources et clés de condition pour Redshift sans serveur](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonredshiftserverless.html) dans le *Guide de l’utilisateur IAM*.

```
  {
    "Statement": [
        {
            "Action": [
                "redshift-serverless:DescribeOneTimeCredit",
                "redshift-serverless:GetCustomDomainAssociation",
                "redshift-serverless:GetEndpointAccess",
                "redshift-serverless:GetNamespace",
                "redshift-serverless:GetRecoveryPoint",
                "redshift-serverless:GetResourcePolicy",
                "redshift-serverless:GetScheduledAction",
                "redshift-serverless:GetSnapshot",
                "redshift-serverless:GetTableRestoreStatus",
                "redshift-serverless:GetUsageLimit",
                "redshift-serverless:GetWorkgroup"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Principal": {
                "AWS": [
                    "123456789012"
                ]
            }
        }
    ]
}
```

##### Exemple : politique de point de terminaison de VPC refusant l’accès à un groupe de travail spécifié
<a name="security-private-link-serverless-example-2"></a>

La politique de point de terminaison de VPC suivante permet un accès complet à tous les comptes et entités. Dans le même temps, il refuse tout accès au AWS compte *`123456789012`* aux actions effectuées sur le groupe de travail Amazon Redshift avec un identifiant de groupe de travail. `my-redshift-workgroup` D’autres actions Amazon Redshift qui ne prennent pas en charge les autorisations au niveau des ressources pour les groupes de travail sont toujours autorisées. Pour obtenir une liste des actions Redshift sans serveur et de leur type de ressource correspondant, consultez la rubrique [Actions, ressources et clés de condition pour Redshift sans serveur](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonredshiftserverless.html) dans le *Guide de l’utilisateur IAM*. 

```
 {
    "Statement": [
        {
            "Action": "*",
            "Effect": "Allow",
            "Resource": "*",
            "Principal": "*"
        },
        {
            "Action": "*",
            "Effect": "Deny",
            "Resource": "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup:my-redshift-workgroup",
            "Principal": {
                "AWS": [
                    "123456789012"
                ]
            }
        }
    ]
}
```

# Configuration et analyse des vulnérabilités dans Amazon Redshift
<a name="security-vulnerability-analysis-and-management"></a>

AWS gère les tâches de sécurité de base comme les correctifs du système d'exploitation invité et de base de données, la configuration du pare-feu, et la reprise après sinistre. Ces procédures ont été vérifiées et certifiées par les tiers appropriés. Pour de plus amples informations, veuillez consulter [Validation de la conformité pour Amazon Redshift](security-compliance.md), le [Modèle de responsabilité partagée](https://aws.amazon.com/compliance/shared-responsibility-model/) et les [Bonnes pratiques en matière de sécurité, d'identité et de conformité](https://aws.amazon.com/architecture/security-identity-compliance/). 

Amazon Redshift applique automatiquement les mises à jour et les correctifs à votre entrepôt de données afin que vous puissiez rester concentré sur votre application, et non sur son administration. Les correctifs et les mises à niveau sont appliqués au cours d'une fenêtre de maintenance configurable. Pour de plus amples informations, consultez [Fenêtres de maintenance](managing-cluster-considerations.md#rs-maintenance-windows). 

L'éditeur de requête Amazon Redshift v2 est une application gérée par AWS. Tous les correctifs et mises à jour sont appliqués par AWS si nécessaire.