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
Sécurité de l'infrastructure dans Amazon Redshift
En tant que service géré, Amazon Redshift est protégé par la sécurité du réseau mondial AWS. Pour plus d’informations sur les services de sécurité AWS et la manière dont AWS protège l’infrastructure, consultez la section Sécurité du cloud AWS
Vous pouvez utiliser les appels d'API publiés par AWS 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
Un réseau privé virtuel (VPC) basé sur le service Amazon VPC constitue votre réseau privé isolé logiquement 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 région AWS. Pour de plus amples informations, veuillez consulter Qu'est-ce qu'Amazon VPC ? dans le Guide de l'utilisateur Amazon VPC.
-
Créez au moins deux sous-réseaux VPC privés. Pour plus d'informations, consultez VPC et sous-réseaux 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 ou Groupe de travail et espace de noms.
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.
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.
Lors de la configuration des listes de contrôle d'accès réseau associées au(x) sous-réseau(x) avec lequel/lesquels votre cluster Amazon Redshift est balisé, assurez-vous que les plages CIDR S3 de la région AWS sont ajoutées à la liste approuvée 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 adresses IPv4 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.
Amazon Redshift prend en charge le déploiement des clusters dans des VPC de location dédiée. Pour de plus amples informations, veuillez consulter Instances dédiées dans le Guide de l'utilisateur Amazon EC2.
Groupes de sécurité Amazon Redshift
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.
Points de terminaison de VPC d’Interface
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 dans la Référence d'API Amazon Redshift. Pour plus d’informations sur les actions d’API Redshift sans serveur, consultez Actions 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) dans le Guide de l'utilisateur Amazon VPC. Notez que la connexion JDBC/ODBC au cluster ou à l’espace de travail ne fait pas partie du service API Amazon Redshift.
Lorsque vous utilisez un point de terminaison de VPC d’interface, la communication entre votre VPC et Amazon Redshift ou Redshift sans serveur est gérée entièrement au sein du réseau AWS, qui peut fournir une plus grande sécurité. 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 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 dispositif de traduction d'adresse réseau (NAT), de connexion à un réseau privé virtuel (VPN) ou de connexion Direct Connect. 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 en utilisant l'option Site-to-Site VPN ou Direct Connect. Pour plus d'informations sur les options Site-to-Site VPN, veuillez consulter la rubrique Connexions VPN dans le Guide de l'utilisateur Amazon VPC. Pour obtenir des informations sur Direct Connect, consultez Création d'une connexion dans le Guide de l'utilisateur Direct Connect.
Vous pouvez créer un point de terminaison de VPC d'interface pour vous connecter à Amazon Redshift à l'aide de la AWS Management Console ou des commandes AWS Command Line Interface (AWS CLI). Pour plus d’informations, consultez Création d’un point de terminaison d’interface.
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..amazonaws.com.rproxy.govskope.caRegion -
Amazon Redshift sans serveur :
https://redshift-serverless..amazonaws.com.rproxy.govskope.caRegion
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) 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 et les opérations d’API Redshift sans serveur 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 AWS Identity and Access Management(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 en savoir plus, consultez Contrôle de l’accès aux services avec des points de terminaison d’un VPC dans le guide de l’utilisateur Amazon VPC.
Politiques de point de terminaison d’un VPC pour Amazon Redshift
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 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é
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 d'un VPC pour refuser tout accès à partir d'un compte AWS spécifié
La politique de point de terminaison d'un VPC suivante refuse au compte AWS tout accès aux ressources utilisant ce point de terminaison.123456789012
{ "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é
La politique de point de terminaison d'un VPC suivante permet un accès complet uniquement au rôle IAM dans le compte AWS redshiftrole123456789012. 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)
La politique de point de terminaison de VPC suivante permet un accès complet uniquement à l'utilisateur IAM dans le compte AWS redshiftadmin123456789012. 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
La politique de point de terminaison de VPC suivante autorise uniquement le compte AWS à effectuer les actions Amazon Redshift spécifiées. 123456789012
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 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é
La politique de point de terminaison de VPC suivante permet un accès complet à tous les comptes et entités. En même temps, il refuse tout accès pour le compte AWS aux actions effectuées sur le cluster Amazon Redshift dont l'ID de cluster est 123456789012. 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 dans le Guide de l'utilisateur IAM. my-redshift-cluster
{ "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
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
La politique de point de terminaison de VPC suivante autorise uniquement le compte AWS à effectuer les actions Redshift sans serveur spécifiées. 123456789012
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 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é
La politique de point de terminaison de VPC suivante permet un accès complet à tous les comptes et entités. En même temps, il refuse tout accès pour le compte AWS aux actions effectuées sur le groupe de travail Amazon Redshift dont l’ID de groupe de travail est 123456789012. 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 dans le Guide de l’utilisateur IAM. my-redshift-workgroup
{ "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" ] } } ] }