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 partages de 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éation d'un partage de 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 provisionnés par Amazon Redshift ou des espaces de noms Amazon Redshift Serverless dans votre compte, entre 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 partages de 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 partages de données à partir des onglets Datashares de la page de détails du cluster ou de l'espace de noms. Une fois le partage de données créé, vous pouvez créer des bases de données à partir du partage de données sur un consommateur en tant qu'administrateur du 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.
-
Sur la page de détails du cluster ou de l'espace de noms, depuis l'onglet Partage de données, dans la section Partage de données, connectez-vous à une base de données si vous n'êtes pas connecté à une base de données. Dans la section Datashare created in my account, sélectionnez Create datashare. 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) ou dans un environnement identique ou différent. Compte AWS Comptes AWS
-
Choisissez le partage AWS Data Exchange de 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 partage de données à l'aide des sections Autorisations étendues ou Autorisations directes. Pour ajouter des objets à un partage de données, consultez. Création d'un partage 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 le AWS Glue Data Catalog, ce qui lance le processus de partage de données avec Lake Formation. Publier votre partage de données sur Amazon Redshift signifie partager vos données avec un autre espace de noms ou un autre compte Amazon Redshift qui agit en tant que 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 du partage de données, chaque partage de données est associé à 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 de plus amples informations, veuillez consulter CREATE DATASHARE.
Vous pouvez également contrôler les restrictions de sécurité du partage de données lors de sa création. L'exemple suivant montre que le consommateur disposant d'un accès IP public est autorisé à lire le partage de 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 provisionné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 relatives au type de consommateurs après avoir créé un partage de 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 de plus amples informations, veuillez consulter ALTER DATASHARE.
Ajouter des objets de partage de données aux partages de 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 partage de 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 Autorisations étendues d'octroi apparaît, dans laquelle vous pouvez accorder des autorisations étendues au niveau d'une base de données ou d'un schéma. Les partages de données dotés d'autorisations étendues disposent des 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 actuelle lors de la création du partage de 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 les autorisations étendues 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 les autorisations étendues du 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 de partage de données spécifiées.
-
Sélectionnez le schéma que vous souhaitez ajouter au partage de données dans la liste déroulante. Vous ne pouvez sélectionner qu'un seul schéma à la fois. Sélectionnez ensuite 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. Les autorisations sont accordées sur tous les objets correspondants du 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 délimitées.
-
Sélectionnez Accorder pour terminer l'octroi des autorisations délimitées par le schéma.
-
Si vous sélectionnez Accorder des autorisations directes, la page Accorder des autorisations directes apparaît. Vous pouvez y 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 au partage de 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 au partage de données. Sélectionnez Grant pour terminer l'ajout du schéma au partage de données.
-
Une fois qu'un schéma a été ajouté à votre partage de 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 de partage de données. Sélectionnez Grant pour terminer l'ajout de tables et de vues au 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 de partage de données. Sélectionnez Grant pour terminer l'ajout de fonctions définies par l'utilisateur au partage de 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 de partage de 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 SQL, le propriétaire du partage de données doit accorder l'autorisation USAGE aux schémas qu'il souhaite ajouter au partage de données. Le GRANT est utilisé pour accorder diverses actions sur le schéma, notamment 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 à un partage de données sur tous les objets d'un type donné au sein d'une base de données ou d'un schéma. Les partages de données dotés d'autorisations étendues disposent des 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
Voici la syntaxe permettant d'accorder des autorisations étendues aux partages de données. Pour plus d'informations sur les autorisations délimitées, consultezAutorisations é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}
Ajouter des consommateurs de données aux partages de 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 au partage de données. Les espaces de noms sont un identifiant global unique (GUID) pour le cluster Amazon Redshift.
-
Choisissez Add Comptes AWS(Ajouter un Comptes AWS) pour 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.