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.
Créer des unités de partage des données
Avec Amazon Redshift, vous pouvez partager des données en temps réel entre des clusters AWS ou des comptes Amazon Redshift à l'aide de partages de données. Un partage de données est un objet consommateur-producteur qui vous permet de partager des données en direct depuis votre cluster Amazon Redshift avec d'autres clusters ou comptes. AWS La création de partages de données permet un partage sécurisé des données tout en maintenant le contrôle de l'accès et en garantissant la conservation des données. up-to-date Les sections suivantes fournissent des informations détaillées sur la création de unités de partage des données et l’ajout d’objets de base de données tels que des schémas, des tables et des vues pour partager des données en direct en toute sécurité.
Créer une unité de partage des données
Une unité de partage des données est un conteneur logique d’objets de base de données, d’autorisations et de consommateurs. Les consommateurs sont des clusters alloués Amazon Redshift ou des espaces de noms Amazon Redshift sans serveur de votre compte et d’autres Comptes AWS. Chaque unité de partage des données est associée à la base de données dans laquelle elle a été créée, et seuls les objets de cette base de données peuvent être ajoutés. En tant qu’administrateur producteur, vous pouvez créer des unités de partage des données sur la console et avec SQL en suivant l’une des procédures ci-dessous.
- Console
-
Sur la console, vous pouvez créer des unités de partage des données à partir des onglets Unités de partage des données de la page de détails du cluster ou de l’espace de noms. Après la création de l’unité de partage des données, vous pouvez créer des bases de données à partir de celle-ci sur un consommateur en tant qu’administrateur consommateur.
Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/redshiftv2/
-
Dans le menu de navigation, choisissez Clusters, puis choisissez votre cluster. La page de détails du cluster s’affiche.
-
Dans la page de détails du cluster ou de l’espace de noms, depuis l’onglet Unités de partage des données, dans la section Unités de partage des données, connectez-vous à une base de données si vous n’avez pas de connexion à une base de données. Dans la section Unités de partage des données créées sur mon compte, choisissez Créer une unité de partage des données. La page Créer une unité de partage des données s’affiche.
-
Choisissez Créer une unité de partage des données. Vous pouvez uniquement créer une unité de partage des données à partir d’une base de données locale. Si vous ne vous êtes pas connecté à la base de données au préalable, la page Se connecter à la base de données s’affiche. Suivez les étapes de Connexion à une base de données pour vous connecter à une base de données. S’il existe une connexion récente, la page Créer une unité de partage des données s’affiche.
-
Dans la section Informations sur l’unité de partage des données, choisissez l’une des options suivantes :
-
Choisissez Datashare pour créer des partages de données afin de partager des données à des fins de lecture ou d'écriture entre différents entrepôts de données Amazon Redshift (clusters provisionnés ou points de terminaison sans serveur), dans un même entrepôt ou dans un environnement différent. Compte AWS Comptes AWS
-
Choisissez le partage AWS Data Exchangede données pour créer des partages de données via lesquels octroyer des licences à vos données. AWS Data Exchange
-
Spécifiez les valeurs pour Nom de l’unité de partage des données, Nom de la base de données et Accessible publiquement. Lorsque vous modifiez le nom de la base de données, créez une nouvelle connexion à la base de données.
-
Ajoutez des objets à votre unité de partage des données à l’aide des sections Autorisations étendues ou Autorisations directes. Pour ajouter des objets à une unité de partage des données, consultez Création d’une base de données dans Amazon Redshift.
-
Dans la section Consommateurs de données, vous pouvez choisir de publier sur Amazon Redshift ou de publier sur leAWS Glue Data Catalog, ce qui lance le processus de partage de données avec Lake Formation. La publication de votre unité de partage des données sur Amazon Redshift signifie partager vos données avec un autre espace de noms ou compte Amazon Redshift qui fait office de consommateur.
Une fois l’unité de partage des données créée, vous ne pouvez pas modifier la configuration pour publier dans l’autre option.
-
Choisissez Créer une unité de partage des données.
- SQL
-
La commande suivante crée une unité de partage des données :
CREATE DATASHARE salesshare;
Au moment de la création de l’unité de partage des données, chaque unité de partage des données est associée à une base de données. Seuls les objets de cette base de données peuvent être partagés dans ce datashare. Plusieurs datashares peuvent être créés sur la même base de données avec la même précision d'objets ou une précision différente. Il n’y a pas de limite au nombre d’unités de partage des données qu’un cluster peut créer. Vous pouvez également créer des datashares via la console Amazon Redshift. Pour plus d’informations, consultez CREATE DATASHARE.
Vous pouvez également contrôler les restrictions de sécurité de l’unité de partage des données lors de sa création. L’exemple suivant montre que le consommateur avec un accès IP public est autorisé à lire l’unité de partage des données.
CREATE DATASHARE my_datashare [PUBLICACCESSIBLE = TRUE];
La définition de PUBLICACCESSIBLE = TRUE permet aux consommateurs d’interroger votre unité de partage des données à partir de clusters accessibles au public et de groupes de travail alloués. Oubliez ce paramètre ou définissez-le explicitement sur false si vous ne souhaitez pas l’autoriser.
Vous pouvez modifier les propriétés du type de consommateurs après la création de l’unité de partage des données. Par exemple, vous pouvez définir que les clusters qui souhaitent consommer des données d’une unité de partage des données donné ne peuvent pas être accessibles publiquement. Les requêtes provenant de clusters consommateur qui ne respectent pas les restrictions de sécurité spécifiées dans l’unité de partage des données sont rejetées au moment de l’exécution de la requête. Pour plus d’informations, consultez ALTER DATASHARE.
Ajout d’objets d’unité de partage des données aux unités de partage des données
Vous pouvez ajouter des objets de base de données de différents types sur la console et avec SQL en suivant l’une des procédures ci-dessous.
- Console
-
Vous pouvez ajouter des objets à votre unité de partage des données à l’aide des sections Autorisations étendues ou Autorisations directes. Sélectionnez Accorder des autorisations étendues ou Accorder des autorisations directes pour ajouter des objets. Sélectionnez le bouton Ajouter pour ajouter des objets. Une boîte de dialogue s’affiche. Procédez comme suit :
-
Si vous sélectionnez Accorder des autorisations étendues, la page Accorder des autorisations étendues apparaît, dans laquelle vous pouvez accorder des autorisations étendues au niveau d’une base de données ou d’un schéma. Les unités de partage des données dotées d’autorisations étendues ont les autorisations spécifiées sur tous les objets actuels et futurs de la base de données ou du schéma. Pour plus de détails, voir,Autorisations étendues.
-
Ensuite, sélectionnez Autorisations étendues de base de données pour accorder des autorisations étendues au niveau de la base de données. Lorsque vous accordez des autorisations étendues, elles s’appliquent à la base de données active lors de la création de l’unité de partage des données. Ces autorisations ne peuvent pas être accordées à des objets individuels et s'appliquent à la fois aux objets existants et aux nouveaux objets (schémas, tables, vues UDFs).
-
Sélectionnez la ou les autorisations délimitées pour les schémas, les tables, les vues ou les fonctions définies par l’utilisateur. Cela signifie que tous les objets de la base de données disposent des autorisations sélectionnées accordées aux consommateurs. Sélectionnez Accorder pour terminer l’octroi des autorisations étendues à la base de données.
-
Sélectionnez ensuite Autorisations étendues au schéma pour accorder des autorisations étendues au niveau du schéma. Lorsque vous accordez des autorisations étendues au schéma, tous les objets ajoutés au schéma disposent des autorisations d’unité de partage des données spécifiées.
-
Dans la liste déroulante, sélectionnez le schéma que vous souhaitez ajouter à l’unité de partage des données. Vous ne pouvez sélectionne qu’un seul schéma à la fois. Sélectionnez ensuite la ou les autorisations directes que vous souhaitez accorder sur le schéma sélectionné.
-
Sélectionnez des autorisations étendues pour les objets de votre schéma tels que les tables, les vues et les fonctions définies par l’utilisateur. Des autorisations sont accordées sur tous les objets correspondants figurant dans le schéma. Il peut s’agir d’objets existants ou d’objets ajoutés dans le futur. Lorsqu’elle est appliquée, vous ne pouvez pas supprimer une autorisation d’un objet sans révoquer les autorisations étendues.
-
Sélectionnez Accorder pour terminer l’octroi des autorisations étendues au schéma.
-
Si vous sélectionnez Accorder des autorisations directes, la page Accorder des autorisations directes apparaît, où vous pouvez accorder des autorisations directes au niveau de chaque objet, tel qu’un schéma, une table, une vue ou une fonction définie par l’utilisateur. Pour accorder des autorisations directes, vous devez d’abord ajouter les schémas appropriés à l’unité de partage des données.
-
Ensuite, sélectionnez Accorder des autorisations directes aux schémas pour appliquer des autorisations directes à un schéma spécifique. Sélectionnez ensuite les autorisations de schéma pour vos objets de schéma tels que les tables, les vues et les fonctions définies par l’utilisateur, puis sélectionnez le schéma que vous souhaitez ajouter à l’unité de partage des données. Sélectionnez Accorder pour terminer l’ajout du schéma à l’unité de partage des données.
-
Une fois qu’un schéma a été ajouté à votre unité de partage des données, vous pouvez ajouter des autorisations directes pour vos objets de schéma. Sélectionnez à nouveau Accorder des autorisations directes. La page Accorder des autorisations directes apparaît. Accédez ensuite aux onglets d’autorisations directes pour les objets du schéma.
-
Sélectionnez Accorder des autorisations directes aux tables et aux vues pour accorder des autorisations directes au niveau des objets sur ces objets. Sélectionnez les autorisations directes requises et les objets requis dans la liste. Utilisez le champ de recherche pour trouver des objets d’unités de partage des données. Sélectionnez Accorder pour terminer l’ajout de tables et de vues à l’unité de partage de données.
-
Sélectionnez Accorder des autorisations directes aux fonctions définies par l’utilisateur pour accorder des autorisations directes au niveau de l’objet sur les fonctions définies par l’utilisateur. Sélectionnez les autorisations directes requises et les objets requis dans la liste. Utilisez le champ de recherche pour trouver des objets d’unités de partage des données. Sélectionnez Accorder pour terminer l’ajout de fonctions définies par l’utilisateur à l’unité de partage des données.
-
Vous pouvez également choisir d’ajouter de futurs objets ou non. Lorsque vous choisissez d’inclure les objets d’unité de partage des données ajoutés au schéma, cela signifie que les objets ajoutés au schéma sont automatiquement ajoutés à l’unité de partage des données.
-
Choisissez Ajouter pour terminer la section et ajouter les objets. Ceux-ci sont répertoriés sous Objets d’unité de partage des données.
-
Après avoir ajouté des objets, vous pouvez sélectionner des objets individuels et modifier leurs autorisations. Si vous sélectionnez un schéma, une boîte de dialogue apparaît pour vous demander si vous souhaitez ajouter des autorisations étendues. Ainsi, chaque objet existant ou ajouté au schéma dispose d’un ensemble d’autorisations présélectionnées, adaptées au type d’objet. Par exemple, l’administrateur peut définir que toutes les tables ajoutées disposent des autorisations SELECT et UPDATE.
-
Tous les objets d’unité de partage des données sont répertoriés dans les sections Autorisations étendues ou Autorisations directes.
-
Dans la section Consommateurs de données, vous pouvez ajouter des espaces de noms ou ajouter AWS des comptes en tant que consommateurs du partage de données.
-
Sélectionnez Créer une unité de partage des données pour enregistrer vos modifications.
Une fois que vous avez créé l’unité de partage des données, il apparaît dans la liste sous Unités de partage des données créées dans mon espace de noms. Si vous choisissez une unité de partage des données dans la liste, vous pouvez afficher ses consommateurs, ses objets et d’autres propriétés.
- SQL
-
Avec le SQL, le propriétaire de l’unité de partage des données doit accorder l’autorisation USAGE aux schémas qu’il souhaite ajouter à l’unité de partage des données. GRANT est utilisé pour accorder diverses actions sur le schéma, y compris CREATE et USAGE. Les schémas contiennent des objets partagés :
CREATE SCHEMA myshared_schema1;
CREATE SCHEMA myshared_schema2;
GRANT USAGE ON SCHEMA myshared_schema1 TO DATASHARE my_datashare;
GRANT CREATE, USAGE ON SCHEMA myshared_schema2 TO DATASHARE my_datashare;
L’administrateur peut également continuer d’exécuter les commandes ALTER pour ajouter un schéma à l’unité de partage des données. Seules les autorisations USAGE sont accordées lorsqu’un schéma est ajouté de cette façon.
ALTER DATASHARE my_datashare ADD SCHEMA myshared_schema1;
Une fois que l’administrateur a ajouté des schémas, il peut accorder des autorisations d’unité de partage des données sur les objets du schéma. Il peut s’agit d’autorisations en lecture ou en écriture. L’exemple GRANT ALL montre comment accorder toutes les autorisations.
GRANT SELECT, INSERT ON TABLE myshared_schema1.table1, myshared_schema1.table2, myshared_schema2.table1
TO DATASHARE my_datashare;
GRANT ALL ON TABLE myshared_schema1.table4 TO DATASHARE my_datashare;
Vous pouvez continuer d’exécuter des commandes comme ALTER DATASHARE pour ajouter des tables. Dans ce cas, seules les autorisations SELECT sont accordées aux objets ajoutés.
ALTER DATASHARE my_datashare ADD TABLE myshared_schema1.table1, myshared_schema1.table2, myshared_schema2.table1;
Vous pouvez accorder des autorisations étendues à une unité de partage des données sur tous les objets d’un type donné au sein d’une base de données ou d’un schéma. Les unités de partage des données dotées d’autorisations étendues ont les autorisations spécifiées sur tous les objets actuels et futurs de la base de données ou du schéma.
Vous pouvez consulter l’étendue des autorisations délimitées au niveau de la base de données dans SVV_DATABASE_PRIVILEGES. Vous pouvez consulter l’étendue des autorisations délimitées au niveau du schéma dans SVV_SCHEMA_PRIVILEGES.
La syntaxe suivante permet d’accorder des autorisations étendues aux unités de partage des données. Pour plus d’informations sur les autorisations étendues, consultez Autorisations étendues.
GRANT { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] }FOR SCHEMAS IN
DATABASE db_name
TO DATASHARE { datashare_name}
GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [PRIVILEGES] } }FOR TABLES IN
{SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name }
TO DATASHARE { datashare_name}
GRANT { EXECUTE | ALL [ PRIVILEGES ] }FOR FUNCTIONS IN
{SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name }
TO DATASHARE { datashare_name}
Ajout de consommateurs de données aux unités de partage des données
Vous pouvez ajouter un ou plusieurs consommateurs de données aux unités de partage des données. Les consommateurs de données peuvent être des espaces de noms identifiant de manière unique les clusters Amazon Redshift ou. Comptes AWS
Vous devez explicitement choisir de désactiver ou d’activer le partage de votre unité de partage des données vers des clusters avec accès public.
-
Choisissez Ajouter des espaces de noms à l’unité de partage des données. Les espaces de noms sont un identifiant global unique (GUID) pour le cluster Amazon Redshift.
-
Choisissez Ajouter un Comptes AWSpour l’unité de partage des données. La personne spécifiée Comptes AWS doit disposer d'autorisations d'accès au partage de données.