Accès aux compartiments Amazon S3 avec Redshift Spectrum - Amazon Redshift

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 .

Accès aux compartiments Amazon S3 avec Redshift Spectrum

En général, Amazon Redshift Spectrum ne prend pas en charge le routage VPC amélioré avec des clusters alloués, même si un cluster alloué peut interroger des tables externes depuis Amazon S3 lorsque le routage VPC amélioré est activé.

Le routage VPC amélioré Amazon Redshift envoie du trafic spécifique via votre VPC, ce qui signifie que l’ensemble du trafic entre votre cluster et vos compartiments Amazon S3 est contraint de traverser votre VPC Amazon. Comme Redshift Spectrum s’exécute sur des ressources gérées par AWS qui sont détenues par Amazon Redshift mais situées en dehors de votre VPC, Redshift Spectrum n’utilise pas le routage VPC amélioré.

Lle trafic entre Redshift Spectrum et Amazon S3 est acheminé en toute sécurité via le réseau privé AWS, en dehors de votre VPC. Le trafic en transit est signé par le protocole Amazon Signature Version 4 (SIGv4) et chiffré via HTTPS. Ce trafic est autorisé sur la base du rôle IAM attaché à votre cluster Amazon Redshift. Pour gérer le trafic Redshift Spectrum, vous pouvez modifier le rôle IAM de votre cluster et la politique associée à votre compartiment Amazon S3. Vous devrez également peut-être configurer votre VPC pour permettre à votre cluster d'accéder à AWS Glue ou Athena comme indiqué ci-après.

Étant donné que le routage VPC amélioré affecte la manière dont Amazon Redshift accède aux autres ressources, les requêtes peuvent échouer si vous ne configurez pas votre VPC correctement. Pour obtenir plus d'informations, consultez la rubrique Contrôle du trafic réseau avec le routage VPC amélioré Redshift qui traite en détail de la création d'un point de terminaison VPC, d'une passerelle NAT et d'autres ressources de réseaux pour diriger le trafic vers vos compartiments Amazon S3.

Note

Amazon Redshift sans serveur prend en charge le routage VPC amélioré pour les requêtes vers des tables externes sur Amazon S3. Pour plus d’informations sur la configuration, consultez Chargement de données depuis Amazon S3 dans le Guide de démarrage d’Amazon Redshift sans serveur.

Configuration de la politique d’autorisations lors de l’utilisation d’Amazon Redshift Spectrum

Tenez compte des éléments suivants lors de l’utilisation de Redshift Spectrum :

Stratégies d’accès aux compartiments Amazon S3 et rôles IAM

Vous pouvez contrôler l’accès aux données de vos compartiments Amazon S3 en utilisant d’une part une stratégie de compartiment associée au compartiment et d’autre part un rôle IAM associé à un cluster alloué.

Redshift Spectrum sur les clusters provisionnés ne peut accéder aux données stockées dans des compartiments Amazon S3 utilisant une politique de compartiment qui restreint l'accès aux seuls points de terminaison d'un VPC spécifiés. Nous vous recommandons d'utiliser plutôt une politique de compartiment qui restreint l'accès aux seuls mandataires définis, par exemple un compte AWS spécifique ou des utilisateurs spécifiques.

Pour le rôle IAM qui se voit autoriser l'accès au compartiment, utilisez une relation de confiance autorisant le rôle à être endossé uniquement par le principal du service Amazon Redshift. Lorsqu'il est associé à votre cluster, le rôle ne peut être utilisé que dans le cadre d'Amazon Redshift ; il ne peut pas être partagé en dehors du cluster. Pour plus d’informations, consultez Restriction de l'accès aux rôles IAM. Une politique de contrôle des services (SCP) peut également être utilisée pour restreindre davantage le rôle. Consultez Empêcher les utilisateurs et les rôles IAM d'apporter des modifications spécifiées, à l'exception d'un rôle administrateur spécifié dans le Guide de l'utilisateur AWS Organizations.

Note

Pour utiliser Redshift Spectrum, aucune stratégie IAM ne doit bloquer l’utilisation des URL présignées Amazon S3. Les URL présignées générées par Amazon Redshift Spectrum sont valides pendant 1 heure afin qu’Amazon Redshift dispose de suffisamment de temps pour charger tous les fichiers depuis le compartiment Amazon S3. Une URL présignée unique est générée pour chaque fichier scanné par Redshift Spectrum. Pour les stratégies de compartiment qui incluent une action s3:signatureAge, veillez à définir la valeur sur au moins 3 600 000 millisecondes.

Dans l’exemple suivant, la stratégie de compartiment autorise l’accès au compartiment spécifié détenu par le compte AWS 123456789012.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "BucketPolicyForSpectrum", "Effect": "Allow", "Principal": { "AWS": ["arn:aws:iam::123456789012:role/redshift"] }, "Action": [ "s3:GetObject", "s3:ListBucketVersions", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }

Autorisations pour endosser le rôle IAM

Le rôle associé à votre cluster doit disposer d'une relation de confiance autorisant le rôle à être endossé uniquement par le service Amazon Redshift, comme indiqué ci-après.

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

Pour plus d'informations, consultez Politiques IAM pour Amazon Redshift Spectrum dans le Guide du développeur de base de données Amazon Redshift.

Audit et journalisation des accès Amazon S3

L'utilisation du routage VPC amélioré Amazon Redshift offre différents avantages, notamment l'enregistrement de l'ensemble du trafic COPY et UNLOAD dans les journaux de flux VPC. Le trafic provenant de Redshift Spectrum vers Amazon S3 ne passe pas par votre VPC ; il n'est donc pas enregistré dans les journaux de flux VPC. Lorsque Redshift Spectrum accède aux données dans Amazon S3, il effectue ces opérations dans le cadre du compte AWS et des privilèges du rôle respectif. Vous pouvez journaliser et auditer l'accès à Amazon S3 en utilisant la journalisation de l'accès au serveur dans AWS CloudTrail et Amazon S3.

Assurez-vous que les plages d'adresses IP S3 sont ajoutées à votre liste des autorisations. Pour plus d'informations sur les plages d'adresses IP S3 requises, consultez la section Isolement de réseau.

AWS CloudTrail Journaux

Pour retracer l'ensemble des accès aux objets dans Amazon S3, y compris les accès Redshift Spectrum, activez la journalisation CloudTrail pour les objets Amazon S3.

Vous pouvez utiliser CloudTrail pour afficher, rechercher, télécharger, archiver, analyser et traiter l'activité de compte sur votre infrastructure AWS. Pour plus d'informations, consultez Démarrez avec CloudTrail.

Par défaut, CloudTrail retrace uniquement les actions au niveau du compartiment. Pour effectuer le suivi des actions au niveau de l'objet (par exemple GetObject), activez les événements de données et de gestion pour chaque compartiment enregistré.

Journalisation des accès au serveur Amazon S

La journalisation des accès au serveur fournit des enregistrements détaillés pour les demandes soumises à un compartiment. Les informations des journaux d’accès peuvent s’avérer utiles en cas d’audit de sécurité ou d’audit des accès. Pour plus d'informations, consultez Comment activer la journalisation des accès au serveur dans le Guide de l'utilisateur Amazon Simple Storage Service.

Pour plus d'informations, consultez le billet du blog AWS Security intitulé Comment utiliser les politiques de compartiment et appliquer la défense en profondeur pour aider à sécuriser vos données Amazon S3.

Accès à AWS Glue ou Amazon Athena

Redshift Spectrum accède à votre catalogue de données dans AWS Glue ou Athena. Une autre option consiste à utiliser un metastore Hive dédié pour votre catalogue de données.

Pour activer l'accès à AWS Glue ou Athena, configurez votre VPC avec une Passerelle Internet ou NAT. Configurez vos groupes de sécurité VPC pour autoriser le trafic sortant vers les points de terminaison publics pour AWS Glue et Athena. Vous pouvez également configurer un point de terminaison VPC d'interface pour AWS Glue afin d'accéder à votre AWS Glue Data Catalog. Lorsque vous utilisez un point de terminaison d'interface de VPC, la communication entre votre VPC et AWS Glue est gérée au sein du réseau AWS. Pour plus d'informations, consultez Création d'un point de terminaison d'interface.

Vous pouvez configurer les chemins suivants dans votre VPC :

  • Passerelle Internet : pour vous connecter aux services AWS en dehors de votre VPC, vous pouvez attacher une Passerelle Internet à votre sous-réseau VPC, comme décrit dans le Guide de l'utilisateur Amazon VPC. Pour utiliser une passerelle Internet, un cluster alloué doit avoir une adresse IP publique afin que d’autres services puissent communiquer avec lui.

  • Passerelle NAT : pour vous connecter à un compartiment Amazon S3 dans une autre région AWS ou à un autre service au sein du réseau AWS, configurez une passerelle de traduction d'adresses réseau (NAT), comme décrit dans le Guide de l'utilisateur Amazon VPC. Utilisez cette même configuration pour accéder à une instance de l'hôte en dehors du réseau AWS.

Pour plus d'informations, consultez Contrôle du trafic réseau avec le routage VPC amélioré Redshift.