Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog
Configuration de l’intégration d’AWS IAM Identity Center à Amazon Redshift
Votre administrateur de cluster Amazon Redshift ou administrateur Amazon Redshift sans serveur doit effectuer plusieurs étapes pour configurer Redshift en tant qu’application compatible avec AWS 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 d’utilisateurs. Après cela, lorsque votre administrateur Redshift crée un cluster ou un groupe de travail, il peut permettre au nouvel entrepôt des données d’utiliser AWS IAM Identity Center pour gérer l’accès aux bases 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 des utilisateurs de base de données se connectent à une base de données Redshift, par exemple un analyste ou un scientifique des données, leurs groupes sont vérifiés dans AWS IAM Identity Center et mis en correspondance avec les 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.
Prérequis
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 organisation AWS si vous prévoyez d’avoir des cas d’utilisation intercompte ou si vous utilisez des clusters Redshift dans différents comptes avec la même instance AWS IAM Identity Center. Cela inclut la configuration de votre source d’identité. Pour plus d’informations, consultez Prise en main, Identités de personnel et Fournisseurs d’identité pris en charge dans le guide de l’utilisateur AWS IAM Identity Center. Vous devez vous assurer d’avoir créé des utilisateurs ou des groupes dans AWS IAM Identity Center, ou d’avoir synchronisé des utilisateurs et des groupes à partir de votre source d’identité avant de pouvoir les attribuer à des données dans Redshift.
Note
Vous avez la possibilité d’utiliser une instance de compte AWS IAM Identity Center, à condition que Redshift et AWS IAM Identity Center figurent 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 approuvé 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 approuvé 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.
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.
Configuration de votre fournisseur d’identité pour qu’il fonctionne avec AWS IAM Identity Center
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 dans le Guide de l’utilisateur AWS IAM Identity Center. À la fin de ce processus, assurez-vous qu’un petit ensemble d’utilisateurs et de groupes a été ajouté à AWS IAM Identity Center, à des fins de test.
Autorisations administratives
Autorisations requises pour la gestion du cycle de vie des applications Redshift/AWS IAM Identity Center
Vous devez créer une identité IAM qu’un administrateur Redshift utilise pour configurer Redshift afin de l’utiliser avec AWS 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: sert à 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 AWS Lake Formation et les autorisations d’accès Amazon S3. -
redshift:CreateRedshiftIdcApplication: sert à créer l’application Redshift AWS IAM Identity Center.
Description de 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: sert à 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 AWS Lake Formation et les autorisations d’accès Amazon S3. -
sso:DeleteApplicationAccessScope: pour supprimer l’application Redshift AWS IAM Identity Center. Cela inclut AWS Lake Formation et les autorisations d’accès Amazon S3.
Suppression de l’application Redshift/AWS IAM Identity Center
-
sso:DeleteApplication: sert à 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
Vous devez créer une identité IAM qu’un administrateur Redshift utilise pour configurer Redshift afin de l’utiliser avec AWS 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’application de l’éditeur de requête v2. -
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’application de l’éditeur de requête v2 AWS IAM Identity Center.
Modifier l’application de l’éditeur de requête v2
-
redshift:ModifyQev2IdcApplication: utilisé pour modifier l’application de l’éditeur de requête v2 AWS IAM Identity Center. -
sso:UpdateApplication: utilisé pour modifier l’application de l’éditeur de requête v2 AWS IAM Identity Center.
Supprimer l’application de l’éditeur de requête v2
-
redshift:DeleteQev2IdcApplication: utilisé pour supprimer l’application de l’éditeur de requête v2. -
sso:DeleteApplication: utilisé pour supprimer l’application de l’éditeur de requête v2.
Note
Dans le SDK Amazon Redshift, les API suivantes ne sont pas disponibles :
-
CreateQev2IdcApplication
-
DescribeQev2IdcApplications
-
ModifyQev2IdcApplication
-
DeleteQev2IdcApplication
Ces actions sont spécifiques à l’intégration d’AWS IAM Identity Center à l’éditeur de requête v2 Redshift dans la console AWS. Pour de plus amples informations, consultez Actions définies par Amazon Redshift.
Autorisations requises pour que l’administrateur de base de données puisse se connecter à de nouvelles ressources dans la console
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.
Configuration de Redshift en tant qu’application gérée par AWS avec AWS IAM Identity Center
Avant qu’AWS IAM Identity Center puisse gérer les identités pour un cluster alloué par Amazon Redshift ou un groupe de travail Amazon Redshift sans serveur, l’administrateur Redshift doit suivre les étapes nécessaires pour faire de Redshift une application gérée par AWS IAM Identity Center :
-
Sélectionnez Intégration à AWS IAM Identity Center dans le menu de la console Amazon Redshift ou Amazon Redshift sans serveur, puis sélectionnez Se connecter à AWS IAM Identity Center. À 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.
-
Choisissez un nom d’affichage et un nom unique pour l’application gérée par AWS IAM Identity Center de Redshift.
-
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.
-
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é.
-
-
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 claimrequis à 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 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_IDENTITY_PROVIDERS 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 groupe de travail Amazon Redshift sans serveur
Votre administrateur de base de données configure les nouvelles ressources Redshift pour qu’elles fonctionnent en harmonie avec AWS 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 alloué, vous commencez par choisir Créer un cluster dans la console Amazon Redshift. La procédure suivante montre comment activer la gestion d’AWS IAM Identity Center pour une base de données. (Elle n’inclut pas toutes les étapes de création d’un cluster.)
-
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.
-
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.
-
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 lorsque vous avez configuré 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 dans le code 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 Suite. Les détails sont expliqués dans les sections suivantes.
Configuration de l’élément par défaut RedshiftIdcApplication à l’aide de l’API
La configuration est effectuée par votre administrateur d’identité. À l’aide de l’API, vous créez et renseignez un élément RedshiftIdcApplication, qui représente l’application Redshift dans AWS IAM Identity Center.
-
Pour commencer, vous pouvez créer des utilisateurs et les ajouter à des groupes dans AWS IAM Identity Center. Vous effectuez ces opérations dans la console AWS d’AWS IAM Identity Center.
-
Appelez
create-redshift-idc-applicationpour 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
RedshiftIdcApplicationrenvoyé à 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": [...]... ]} -
Vous pouvez utiliser
create-application-assignmentpour 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 des groupes dans AWS IAM Identity Center correspondent aux noms des rôles dans Redshift. Les rôles contrôlent les autorisations dans la base de données. Pour plus d’informations, consultez Attribution d’un accès utilisateur aux applications dans la console AWS IAM Identity Center. -
Après avoir activé l’application, appelez
create-clusteret incluez l’ARN de l’application gérée par Redshift depuis AWS IAM Identity Center. Cela permet d’associer le cluster à l’application gérée dans AWS IAM Identity Center.
Association d’une application AWS IAM Identity Center à un cluster ou à un groupe de travail existant
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.
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
Un administrateur configure les autorisations d’accès à différentes ressources, en fonction des attributs d’identité des utilisateurs et de leur appartenance aux groupes, au sein de leur fournisseur d’identité ou directement au sein d’AWS IAM Identity Center. Par exemple, l’administrateur de 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.