Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d’informations, consultez le billet de blog
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.
Utilisation AWS KMS avec l'API de données Amazon Redshift
Lorsque vous chiffrez votre cluster Amazon Redshift ou votre groupe de travail Redshift Serverless à l'aide d'une clé gérée par le client, l'API Amazon Redshift Data utilise cette même clé gérée par le client pour stocker et chiffrer vos requêtes et vos résultats.
L'API Data chiffre vos données par défaut pour protéger les informations sensibles, telles que le texte des requêtes et les résultats des requêtes. Il utilise des clés de AWS KMS chiffrement détenues par lui AWS pour cette protection.
Le chiffrement par défaut des données au repos réduit la charge opérationnelle et la complexité lorsque vous protégez des données sensibles. Cette approche vous permet de créer des applications sécurisées qui répondent aux exigences réglementaires et de conformité strictes en matière de chiffrement.
Utilisation de subventions dans AWS KMS
L'API de données nécessite une autorisation pour utiliser votre clé gérée par le client.
Lorsque vous appelez ExecuteStatement ou BatchExecuteStatement défiez un cluster chiffré à l'aide d'une clé gérée par le client, Amazon Redshift crée une subvention en votre nom en envoyant une CreateGrantdemande à. AWS KMS AWS KMSutilise des autorisations pour donner à l'API de données l'accès à une clé KMS de votre compte.
L'API de données nécessite l'autorisation d'utiliser votre clé gérée par le client pour les opérations suivantes :
-
Envoyez
Encryptdes demandes AWS KMS à pour chiffrer les métadonnées des requêtes à l'aide de votre clé gérée par le client. -
Envoyez
GenerateDataKeydes demandes AWS KMS à pour générer des clés de données chiffrées par votre clé gérée par le client. -
Envoyez
Decryptdes demandes AWS KMS à pour déchiffrer les clés de données chiffrées afin qu'ils puissent chiffrer vos données.
Vous pouvez révoquer l'accès à l'autorisation ou supprimer l'accès d'Amazon Redshift à votre clé gérée par le client à tout moment. Dans ce cas, l'API Data ne peut plus accéder aux données chiffrées par votre clé gérée par le client, ce qui affecte les opérations qui dépendent de ces données. Par exemple, si vous essayez de récupérer les résultats d'une requête ou de suivre l'état de la requête après avoir révoqué l'autorisation, l'API Data renvoie unAccessDeniedException.
Politiques clés relatives à votre clé gérée par le client
Les stratégies de clés contrôlent l’accès à votre clé gérée par le client. Chaque clé gérée par le client doit avoir exactement une stratégie de clé, qui contient des instructions qui déterminent les personnes pouvant utiliser la clé et comment elles peuvent l’utiliser. Lorsque vous créez votre clé gérée par le client, vous pouvez spécifier une stratégie de clé. Pour plus d’informations, consultez Clés gérées par le client dans le Guide du développeur AWS Key Management Service.
Pour utiliser les clés gérées par le client avec l'API Data, vous devez d'abord autoriser l'accès à Amazon Redshift. Les opérations d'API suivantes doivent être autorisées dans la politique clé :
-
kms:CreateGrant: ajoute une attribution à une clé gérée par le client. Accorde un accès de contrôle à une AWS KMS clé spécifiée, ce qui permet d'autoriser les opérations requises par Amazon Redshift. Pour plus d'informations, consultez la section Utilisation de subventions dans AWS KMS.
Voici un exemple de politique clé :
"Statement":[ { "Sid":"Allow access to principals authorized to use Amazon Redshift", "Effect":"Allow", "Principal":{ "AWS":"*" }, "Action":[ "kms:DescribeKey", "kms:CreateGrant" ], "Resource":"*", "Condition":{ "StringEquals":{ "kms:ViaService":"redshift.amazonaws.com", "kms:CallerAccount":"111122223333" } } }, { "Sid":"AllowKeyAdministratorsAccess", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::111122223333:role/ExampleAdminRole" }, "Action":"kms:*", "Resource":"*" }, { "Sid":"AllowKeyUseForExampleRole", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::111122223333:role/ExampleUserRole" }, "Action":[ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource":"*" } ]
Contexte de chiffrement des API de données
Un contexte de chiffrement est un ensemble facultatif de paires clé-valeur qui contient des informations contextuelles supplémentaires sur les données. AWS KMSutilise le contexte de chiffrement comme données authentifiées supplémentaires pour prendre en charge le chiffrement authentifié. Lorsque vous incluez un contexte de chiffrement dans une demande de chiffrement de données, AWS KMS lie le contexte de chiffrement aux données chiffrées. Pour déchiffrer les données, vous devez inclure le même contexte de chiffrement dans la demande.
L'API Data utilise les trois mêmes paires clé-valeur de contexte de chiffrement dans toutes les opérations AWS KMS cryptographiques pour les clusters provisionnés :
-
aws:redshift:arn— Le nom de ressource Amazon (ARN) du cluster -
aws:redshift:createtime— L'horodatage auquel vous avez demandé la création d'un cluster -
serviceName–RedshiftDataAPI
"EncryptionContextSubset": { "aws:redshift:arn": "arn:aws:redshift:us-east-1:123456789012:cluster:redshift-cluster", "aws:redshift:createtime": "20250815T0000Z", "serviceName": "RedshiftDataAPI", }
L'API Data utilise deux paires clé-valeur de contexte de chiffrement dans toutes les opérations AWS KMS cryptographiques pour les groupes de travail sans serveur :
-
aws:redshift-serverless:arn— Le nom de ressource Amazon (ARN) de l'espace de noms -
serviceName— RedshiftData API
"EncryptionContextSubset": { "aws:redshift-serverless:arn": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace:12345678-1234-1234-1234-123456789012", "serviceName": "RedshiftDataAPI" }
Pour plus d'informations sur le chiffrement, voir Présentation des détails cryptographiques de AWS KMS. Pour plus d'informations sur Amazon Redshift et son AWS KMS intégration, consultez Comment Amazon Redshift utilise. AWS KMS