

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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.

# Commencer à partager des données en lecture seule avec l’interface SQL
<a name="getting-started-datashare-sql"></a>

Avec Amazon Redshift, vous pouvez partager des données en toute sécurité entre les clusters Amazon Redshift, ce qui permet aux consommateurs de données d’interroger et d’accéder à des données en temps réel sans les copier ni les répliquer. Le partage de données vous permet de créer et de configurer des unités de partage de données, qui sont des objets côté producteur qui font référence aux objets de base de données que vous souhaitez partager.

Vous pouvez partager des données à des fins de lecture entre différents clusters Amazon Redshift sein d’un compte ou entre des Comptes AWS, ou entre des Régions AWS.

**Topics**
+ [Partage de l'accès en lecture aux données au sein d'un Compte AWS](within-account.md)
+ [Utiliser les vues dans le partage de données Amazon Redshift](datashare-views.md)
+ [Ajouter des tables de lac de données à une unité de partage des données](create-datashare-external-views.md)
+ [Partage de données entre Comptes AWS](across-account.md)
+ [Partage de données entre Régions AWS](across-region.md)
+ [Partage de données Amazon Redshift sous licence sur AWS Data Exchange](adx-getting-started.md)
+ [Commencer à utiliser les AWS Lake Formation partages de données gérés](lf-getting-started.md)

# Partage de l'accès en lecture aux données au sein d'un Compte AWS
<a name="within-account"></a>

Avec Amazon Redshift, vous pouvez partager l'accès en lecture aux données entre différents utilisateurs ou groupes de bases de données au sein d'un même AWS compte. Cette fonctionnalité vous permet de contrôler les privilèges d’accès aux données à un niveau granulaire, en veillant à ce que seuls les utilisateurs ou groupes autorisés puissent lire des ensembles de données spécifiques. 

## Partager des données à des fins de lecture en tant qu’administrateur producteur ou propriétaire de base de données
<a name="share-producer"></a>

1. Créez des unités de partage des données dans votre cluster. Pour plus d'informations, consultez [CREATE DATASHARE](r_CREATE_DATASHARE.md).

   ```
   CREATE DATASHARE salesshare;
   ```

   Les super-utilisateurs de cluster et les propriétaires de base de données peuvent créer des datashares. Chaque datashare est associé à une base de données lors de sa création. 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 [Créer une unité de partage des données](datashare-creation.md#create-datashare-console).

1. Déléguer des autorisations pour opérer sur l’unité de partage des données. Pour plus d’informations, consultez [GRANT](r_GRANT.md) ou [REVOKE](r_REVOKE.md).

   L’exemple suivant attribue des autorisations à `dbuser` sur `salesshare`.

   ```
   GRANT ALTER, SHARE ON DATASHARE salesshare TO dbuser;
   ```

   Les super-utilisateurs de cluster et les propriétaires de l’unité de partage des données peuvent accorder ou révoquer des autorisations de modification sur l’unité de partage des données à d’autres utilisateurs.

1. Ajoutez ou supprimez des objets des unités de partage des données. Pour ajouter des objets à une unité de partage des données, ajoutez le schéma avant d’ajouter des objets. Lorsque vous ajoutez un schéma, Amazon Redshift n’ajoute pas tous les objets qu’il contient. Assurez-vous de les ajouter explicitement. Pour plus d'informations, consultez [ALTER DATASHARE](r_ALTER_DATASHARE.md).

   ```
   ALTER DATASHARE salesshare ADD SCHEMA PUBLIC;
   ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;
   ALTER DATASHARE salesshare ADD ALL TABLES IN SCHEMA PUBLIC;
   ```

   Vous pouvez également ajouter des vues à une unité de partage des données.

   ```
   CREATE VIEW public.sales_data_summary_view AS SELECT * FROM public.tickit_sales_redshift;
   ALTER DATASHARE salesshare ADD VIEW public.sales_data_summary_view;
   ```

   Utilisez ALTER DATASHARE pour partager des schémas, des tables, des vues et des fonctions dans un schéma donné. Les super-utilisateurs, les propriétaires d’unité de partage des données ou les utilisateurs disposant des autorisations ALTER ou ALL sur l’unité de partage des données peuvent modifier l’unité de partage des données pour y ajouter des objets ou en supprimer. Les utilisateurs doivent avoir les autorisations nécessaires pour ajouter ou supprimer des objets de l’unité de partage des données. Les utilisateurs doivent également être les propriétaires des objets ou disposer des autorisations SELECT, USAGE ou ALL sur les objets.

   Vous pouvez également ajouter des objets à l’unité de partage des données. Cet exemple vous montre comment :

   ```
   GRANT SELECT ON TABLE public.tickit_sales_redshift TO DATASHARE salesshare;
   ```

   Cette syntaxe est fonctionnellement équivalente à `ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;`.

   Utilisez la clause INCLUDENEW pour ajouter au partage de données les nouvelles tables, vues ou fonctions SQL définies par l'utilisateur (UDFs) créées dans un schéma spécifié. Seuls les super-utilisateurs peuvent modifier cette propriété pour chaque paire datashare-schéma.

   ```
   ALTER DATASHARE salesshare ADD SCHEMA PUBLIC;
   ALTER DATASHARE salesshare SET INCLUDENEW = TRUE FOR SCHEMA PUBLIC;
   ```

   Vous pouvez également utiliser la console Amazon Redshift pour ajouter ou supprimer des objets des unités de partage des données. Pour plus d’informations, consultez [Ajout d’objets d’unité de partage des données aux unités de partage des données](datashare-creation.md#add-datashare-object-console), [Supprimer des objets d’unité de partage des données des unités de partage des données](manage-datashare-existing-console.md#remove-datashare-object-console) et [Modification des unités de partage des données créées dans votre compte](manage-datashare-existing-console.md#edit-datashare-console).

1. Ajoutez ou supprimez des consommateurs des datashares. L’exemple suivant ajoute l’espace de noms de consommateur à `salesshare`. L’espace de noms est l’identifiant global unique d’espace de noms (GUID) du cluster consommateur sur le compte. Pour plus d’informations, consultez [GRANT](r_GRANT.md) ou [REVOKE](r_REVOKE.md).

   ```
   GRANT USAGE ON DATASHARE salesshare TO NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   ```

   Vous ne pouvez accorder des autorisations qu’à un seul consommateur d’unité de partage des données dans une instruction GRANT.

   Les super-utilisateurs de cluster et les propriétaires d’objets d’unité de partage des données, ou les utilisateurs qui ont l’autorisation SHARE sur l’unité de partage des données, peuvent ajouter des consommateurs dans une unité de partage des données, ou en supprimer. Pour ce faire, ils utilisent GRANT USAGE ou REVOKE USAGE.

   Pour rechercher l’espace de noms du cluster que vous voyez actuellement, vous pouvez utiliser la commande SELECT CURRENT\$1NAMESPACE. Pour trouver l'espace de noms d'un autre cluster au sein d'un même cluster Compte AWS, rendez-vous sur la page de détails du cluster de console Amazon Redshift. Sur cette page, recherchez le champ d’espace de noms nouvellement ajouté.

   Vous pouvez également utiliser la console Amazon Redshift pour ajouter ou supprimer des consommateurs de données pour les unités de partage des données. Pour plus d’informations, consultez [Ajout de consommateurs de données aux unités de partage des données](datashare-creation.md#add-data-consumer-console) et [Supprimer des consommateurs de données des unités de partage des données](manage-datashare-existing-console.md#remove-data-consumer-console).

1. (Facultatif) Ajoutez des restrictions de sécurité à l’unité de partage des données. L’exemple suivant montre que le cluster consommateur avec un accès IP public est autorisé à lire l’unité de partage des données. Pour plus d'informations, consultez [ALTER DATASHARE](r_ALTER_DATASHARE.md).

   ```
   ALTER DATASHARE salesshare SET PUBLICACCESSIBLE = TRUE;
   ```

   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.

   Vous pouvez également utiliser la console Amazon Redshift pour modifier les datashares. Pour plus d'informations, consultez [Modification des unités de partage des données créées dans votre compte](manage-datashare-existing-console.md#edit-datashare-console).

1. Répertorie les unités de partage des données créées dans le cluster et examine le contenu de l’unité de partage des données.

   L’exemple suivant montre comment afficher les informations d’une unité de partage des données nommée `salesshare`. 

   ```
   DESC DATASHARE salesshare;
                  
    producer_account  |          producer_namespace          | share_type | share_name | object_type |           object_name          |   include_new
   -------------------+--------------------------------------+------------+------------+-------------+--------------------------------+-------------------
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_users_redshift   |   
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_venue_redshift   |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_category_redshift|
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_date_redshift    |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_event_redshift   |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_listing_redshift |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_sales_redshift   |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | schema      | public                         |  t
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | view        | public.sales_data_summary_view |
   ```

   L’exemple suivant montre comment afficher les datashares sortants dans un cluster producteur.

   ```
   SHOW DATASHARES LIKE 'sales%';
   ```

   La sortie ressemble à ce qui suit.

   ```
   share_name | share_owner  | source_database | consumer_database | share_type |     createdate      | is_publicaccessible  | share_acl | producer_account |          producer_namespace 
   -----------+--------------+-----------------+-------------------+------------+---------------------+----------------------+-----------+------------------+---------------------------------------
   salesshare |    100       | dev             |                   |  OUTBOUND  | 2020-12-09 02:27:08 |          True        |           |   123456789012   | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
   ```

   Pour plus d’informations, consultez [DESC DATASHARE](r_DESC_DATASHARE.md) et [SHOW DATASHARES](r_SHOW_DATASHARES.md). 

   Vous pouvez également utiliser [SVV\$1DATASHARES](r_SVV_DATASHARES.md), [SVV\$1DATASHARE\$1CONSUMERS](r_SVV_DATASHARE_CONSUMERS.md), et [SVV\$1DATASHARE\$1OBJECTS](r_SVV_DATASHARE_OBJECTS.md) pour afficher les datashares, les objets du datashare et les consommateurs de datashare.

1. Supprimer des unités de partage des données. Pour plus d'informations, consultez [DROP DATASHARE](r_DROP_DATASHARE.md).

   Vous pouvez supprimer les objets d’unité de partage des données à tout moment à l’aide de [DROP DATASHARE](r_DROP_DATASHARE.md). Les super-utilisateurs de cluster et les propriétaires d’unité de partage des données peuvent supprimer des unités de partage des données.

   L’exemple suivant supprime une unité de partage des données appelé `salesshare`.

   ```
   DROP DATASHARE salesshare;
   ```

   Vous pouvez également utiliser la console Amazon Redshift pour supprimer des unités de partage des données. Pour plus d'informations, consultez [Suppression d’une unité de partage des données créée dans votre compte](manage-datashare-existing-console.md#delete-datashare-console).

1. Utilisez ALTER DATASHARE pour supprimer des objets des datashares à n'importe quel point du datashare. Utilisez REVOKE USAGE ON pour révoquer les autorisations de certains consommateurs sur l’unité de partage des données. Il révoque les autorisations USAGE sur les objets dans une unité de partage des données et arrête instantanément l’accès à tous les clusters consommateur. Répertorier des unités de partage des données et des requêtes de métadonnées, telles que la liste des bases de données et des tables, ne renvoie pas les objets partagés après la révocation de l’accès.

   ```
   ALTER DATASHARE salesshare REMOVE TABLE public.tickit_sales_redshift;
   ```

   Vous pouvez également utiliser la console Amazon Redshift pour modifier les datashares. Pour plus d'informations, consultez [Modification des unités de partage des données créées dans votre compte](manage-datashare-existing-console.md#edit-datashare-console).

1. Révoquez l’accès à l’unité de partage des données depuis les espaces de noms si vous ne souhaitez plus partager les données avec les consommateurs.

   ```
   REVOKE USAGE ON DATASHARE salesshare FROM NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   ```

   Vous pouvez également utiliser la console Amazon Redshift pour modifier les datashares. Pour plus d’informations, consultez [Modification des unités de partage des données créées dans votre compte](manage-datashare-existing-console.md#edit-datashare-console).

## Partager des données à des fins de lecture en tant qu’administrateur consommateur
<a name="share-consumer"></a>

1. Répertorier les unités de partage des données mises à votre disposition et afficher leur contenu. Pour plus d’informations, consultez [DESC DATASHARE](r_DESC_DATASHARE.md) et [SHOW DATASHARES](r_SHOW_DATASHARES.md).

   L’exemple suivant montre comment afficher les informations des unités de partage des données entrants d’un espace de noms producteur spécifié. Lorsque vous exécutez DESC DATASHARE en tant qu’administrateur consommateur, vous devez spécifier l’option NAMESPACE pour afficher les unités de partage des données entrantes. 

   ```
   DESC DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   
   
    producer_account  |          producer_namespace          | share_type | share_name | object_type |           object_name           |   include_new
   -------------------+--------------------------------------+------------+------------+-------------+---------------------------------+------------------
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_users_redshift    |     
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_venue_redshift    |     
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_category_redshift |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_date_redshift     |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_event_redshift    |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_listing_redshift  |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_sales_redshift    |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | schema      | public                          |    
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | view        | public.sales_data_summary_view  |
   ```

   Seuls les super-utilisateurs de cluster peuvent le faire. Vous pouvez également utiliser SVV\$1DATASHARES pour afficher les unités de partage des données et SVV\$1DATASHARE\$1OBJECTS pour afficher les objets dans l’unité de partage des données.

   L’exemple suivant affiche les datashares entrants dans un cluster consommateur.

   ```
   SHOW DATASHARES LIKE 'sales%';
   
   
    share_name | share_owner | source_database | consumer_database | share_type | createdate | is_publicaccessible | share_acl | producer_account |          producer_namespace
   ------------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+--------------------------------------
    salesshare |             |                 |                   | INBOUND    |            |         t           |           |   123456789012   | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
   ```

1. En tant que super-utilisateur de base de données, vous pouvez créer des bases de données locales qui font référence aux unités de partage des données. Pour plus d’informations, consultez [CREATE DATABASE](r_CREATE_DATABASE.md).

   ```
   CREATE DATABASE sales_db FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   ```

   Si vous souhaitez un contrôle plus précis de l’accès aux objets de la base de données locale, utilisez la clause WITH PERMISSIONS quand vous créez la base de données. Cela vous permet d’accorder des autorisations de niveau objet pour les objets de la base de données à l’étape 4. 

   ```
   CREATE DATABASE sales_db WITH PERMISSIONS FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   ```

   Vous pouvez voir les bases de données que vous avez créées à partir de l’unité de partage des données en interrogeant la vue [SVV\$1REDSHIFT\$1DATABASES](r_SVV_REDSHIFT_DATABASES.md). Vous pouvez vous connecter à ces base de données directement ou vous connecter à une base de données locale sur votre cluster consommateur et effectuer une requête entre bases de données pour interroger les données des bases de données d’unités de partage des données. Vous ne pouvez pas créer une unité de partage des données au-dessus des objets de base de données créés à partir d’une unité de partage des données existant. Toutefois, vous pouvez copier les données dans une table distincte du cluster consommateur, effectuer le traitement nécessaire, puis partager les nouveaux objets créés.

   Vous pouvez également utiliser la console Amazon Redshift pour créer des bases de données à partir des unités de partage des données. Pour plus d'informations, consultez [Créer des bases de données à partir d’unités de partage des données](query-datashare-console.md#create-database-from-datashare-console).

1. (Facultatif) Créez des schémas externes pour faire référence et attribuer des autorisations détaillées à des schémas spécifiques dans la base de données consommateur importée sur le cluster consommateur. Pour plus d’informations, consultez [CREATE EXTERNAL SCHEMA](r_CREATE_EXTERNAL_SCHEMA.md).

   ```
   CREATE EXTERNAL SCHEMA sales_schema FROM REDSHIFT DATABASE 'sales_db' SCHEMA 'public';
   ```

1. Selon les besoins, accordez aux utilisateurs et rôles du cluster consommateur des autorisations sur les bases de données et références de schéma créées à partir des unités de partage des données. Pour plus d’informations, consultez [GRANT](r_GRANT.md) ou [REVOKE](r_REVOKE.md).

   ```
   GRANT USAGE ON DATABASE sales_db TO Bob;
   ```

   ```
   GRANT USAGE ON SCHEMA sales_schema TO ROLE Analyst_role;
   ```

   Si vous avez créé votre base de données sans la clause WITH PERMISSIONS, vous ne pouvez attribuer des autorisations sur l’ensemble de la base de données créée à partir de l’unité de partage des données qu’à vos utilisateurs et groupes. Dans certains cas, vous avez besoin de contrôles précis sur un sous-ensemble d’objets de base de données créés à partir de l’unité de partage des données. Si tel est le cas, vous pouvez créer une référence de schéma externe tournée vers des schémas spécifiques dans l’unité de partage des données (comme décrit à l’étape précédente) et fournir des autorisations détaillées au niveau du schéma. 

   Vous pouvez également créer des vues à liaison tardive sur les objets partagés et les utiliser pour attribuer des autorisations détaillées. Vous pouvez également envisager que les clusters producteur créent des unités de partage des données supplémentaires pour vous avec la précision requise. 

   Si vous avez créé votre base de données avec la clause WITH PERMISSIONS à l’étape 2, vous devez attribuer des autorisations de niveau objet dans la base de données partagée. Un utilisateur disposant uniquement de l’autorisation USAGE ne peut accéder à aucun objet d’une base de données créée avec la clause WITH PERMISSIONS tant qu’il n’a pas obtenu d’autorisations de niveau objet supplémentaires.

   ```
   GRANT SELECT ON sales_db.public.tickit_sales_redshift to Bob;
   ```

1. Interroger les données dans les objets partagés dans les unités de partage des données.

   Les utilisateurs et les rôles disposant d’autorisations sur les bases de données consommateur et les schémas sur les clusters consommateur peuvent explorer et naviguer entre les métadonnées de tous les objets partagés. Ils peuvent également explorer et naviguer entre les objets locaux dans un cluster consommateur. Pour ce faire, ils utilisent des pilotes JDBC ou ODBC ou des vues SVV\$1ALL et SVV\$1REDSHIFT.

   Les clusters producteur peuvent avoir de nombreux schémas dans la base de données, les tables et les vues au sein de chaque schéma. Les utilisateurs du côté consommateur ne peuvent voir que le sous-ensemble d’objets mis à disposition via l’unité de partage des données. Ces utilisateurs ne peuvent pas voir l’intégralité des métadonnées du cluster producteur. Cette approche permet de fournir un contrôle détaillé de la sécurité des métadonnées avec le partage des données.

   Vous continuez à vous connecter aux bases de données de cluster locales. Mais maintenant, vous pouvez également lire à partir des bases de données et des schémas qui sont créés à partir de l’unité de partage des données en utilisant la notation database.schema.table en trois parties. Vous pouvez effectuer des requêtes qui s’étendent sur toutes les bases de données qui sont visibles pour vous. Il peut s’agir de bases de données locales sur le cluster ou de bases de données créées à partir des unités de partage des données. Les clusters consommateur ne peuvent pas se connecter aux bases de données créées à partir des unités de partage des données.

   Vous pouvez accéder aux données à l’aide d’une qualification complète. Pour plus d'informations, consultez [Exemple de requête entre bases de données](cross-database_example.md).

   ```
   SELECT * FROM sales_db.public.tickit_sales_redshift ORDER BY 1,2 LIMIT 5;
   
    salesid | listid | sellerid | buyerid | eventid | dateid | qtysold | pricepaid | commission |      saletime
   ---------+--------+----------+---------+---------+--------+---------+-----------+------------+---------------------
          1 |      1 |    36861 |   21191 |    7872 |   1875 |       4 |    728.00 |     109.20 | 2008-02-18 02:36:48
          2 |      4 |     8117 |   11498 |    4337 |   1983 |       2 |     76.00 |      11.40 | 2008-06-06 05:00:16
          3 |      5 |     1616 |   17433 |    8647 |   1983 |       2 |    350.00 |      52.50 | 2008-06-06 08:26:17
          4 |      5 |     1616 |   19715 |    8647 |   1986 |       1 |    175.00 |      26.25 | 2008-06-09 08:38:52
          5 |      6 |    47402 |   14115 |    8240 |   2069 |       2 |    154.00 |      23.10 | 2008-08-31 09:17:02
   ```

   Vous ne pouvez utiliser les instructions SELECT que sur les objets partagés. Toutefois, vous pouvez créer des tables dans le cluster consommateur en interrogeant les données des objets partagés dans une base de données locale différente.

   En plus des requêtes, les consommateurs peuvent créer des vues sur des objets partagés. Seules les vues à liaison tardive ou les vues matérialisées sont prises en charge. Amazon Redshift ne prend pas en charge les vues standard sur les données partagées. Les vues créées par les consommateurs peuvent s’étendre sur plusieurs bases de données locales ou bases de données créées à partir d’unités de partage des données. Pour plus d’informations, consultez [CREATE VIEW](r_CREATE_VIEW.md).

   ```
   // Connect to a local cluster database
                  
   // Create a view on shared objects and access it. 
   CREATE VIEW sales_data 
   AS SELECT * 
   FROM sales_db.public.tickit_sales_redshift 
   WITH NO SCHEMA BINDING;
   
   SELECT * FROM sales_data;
   ```

# Utiliser les vues dans le partage de données Amazon Redshift
<a name="datashare-views"></a>

Un cluster producteur peut partager des vues standard, à liaison tardive et matérialisées. Lorsque vous partagez des vues régulières, à reliure tardive ou des vues matérialisées, vous n'êtes pas obligé de partager les tables de base. Le tableau suivant montre comment les vues sont prises en charge avec le partage de données.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/dg/datashare-views.html)

La requête suivante affiche la sortie d’une vue standard prise en charge par le partage de données. Pour plus d’informations sur la définition des vues régulières, consultez [CREATE VIEW](r_CREATE_VIEW.md).

```
SELECT * FROM tickit_db.public.myevent_regular_vw 
ORDER BY eventid LIMIT 5;

   eventid  |  eventname
  ----------+-------------
     3835   | LeAnn Rimes
     3967   | LeAnn Rimes
     4856   | LeAnn Rimes
     4948   | LeAnn Rimes     
     5131   | LeAnn Rimes
```

La requête suivante affiche la sortie d’une vue à liaison tardive prise en charge par le partage de données. Pour plus d’informations sur la définition des vues à liaison tardive, consultez [CREATE VIEW](r_CREATE_VIEW.md).

```
SELECT * FROM tickit_db.public.event_lbv 
ORDER BY eventid LIMIT 5;
         
 eventid | venueid | catid | dateid |          eventname           |      starttime
 --------+---------+-------+--------+------------------------------+---------------------
     1   |   305   |   8   |  1851  |        Gotterdammerung       | 2008-01-25 14:30:00
     2   |   306   |   8   |  2114  |           Boris Godunov      | 2008-10-15 20:00:00
     3   |   302   |   8   |  1935  |              Salome          | 2008-04-19 14:30:00
     4   |   309   |   8   |  2090  |  La Cenerentola (Cinderella) | 2008-09-21 14:30:00
     5   |   302   |   8   |  1982  |          Il Trovatore        | 2008-06-05 19:00:00
```

La requête suivante affiche la sortie d’une vue matérialisée prise en charge par le partage de données. Pour plus d’informations sur la définition des vues matérialisées, consultez [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

```
SELECT * FROM tickit_db.public.tickets_mv;

  catgroup | qtysold
 ----------+---------
  Concerts | 195444
    Shows  | 149905
```

Vous pouvez gérer des tables communes à tous les locataires d’un cluster producteur. Vous pouvez également partager des sous-ensembles de données filtrées par colonnes de dimension, tels que `tenant_id` (`account_id` ou `namespace_id`), aux clusters consommateur. Pour ce faire, vous pouvez définir une vue sur la table de base avec un filtre sur ces colonnes d’ID, par exemple `current_aws_account = tenant_id`. Côté consommateur, lorsque vous interrogez la vue, vous ne voyez que les lignes correspondant à votre compte. Pour ce faire, vous pouvez utiliser les fonctions contextuelles Amazon Redshift `current_aws_account` et `current_namespace`.

La requête suivante renvoie l’ID de compte dans lequel réside le cluster Amazon Redshift actuel. Vous pouvez exécuter cette requête si vous êtes connecté à Amazon Redshift.

```
select current_user, current_aws_account;

current_user | current_aws_account
-------------+--------------------
dwuser       |    111111111111
(1row)
```

La requête suivante renvoie l’espace de noms du cluster Amazon Redshift actuel. Vous pouvez exécuter cette requête si vous êtes connecté à la base de données.

```
select current_user, current_namespace; 

current_user | current_namespace
-------------+--------------------------------------
dwuser       | 86b5169f-01dc-4a6f-9fbb-e2e24359e9a8
(1 row)
```

## Actualisation incrémentielle des vues matérialisées dans une unité de partage des données
<a name="mv_incremental_datashare"></a>

 Amazon Redshift prend en charge l'actualisation incrémentielle des vues matérialisées dans un partage de données client lorsque les tables de base ou les vues matérialisées sont partagées. L’actualisation incrémentielle est une opération au cours de laquelle Amazon Redshift identifie les modifications apportées à la ou les tables de base après l’actualisation précédente et met à jour uniquement les enregistrements correspondants dans la vue matérialisée. Pour plus d’informations sur ce comportement, consultez [CREATE MATERIALIZED VIEW](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MARTERIALIZED_VIEW_datashare). 

# Ajouter des tables de lac de données à une unité de partage des données
<a name="create-datashare-external-views"></a>

Grâce à un partage de données, un *producteur* de données peut partager en toute sécurité des objets de base de données de granularité fine, tels que des schémas et des tables, avec des *consommateurs* appartenant au même AWS compte ou à des comptes différents. Le producteur peut également partager des objets entre les régions. Cette rubrique décrit comment ajouter des objets d'un lac de données, en particulier du catalogue de AWS Glue données, à un partage de données. Il prend en charge deux cas d’utilisation :
+ *Ajout d’une vue à liaison tardive à une unité de partage des données qui fait référence à une table provenant d’un lac de données* : c’est pratique pour le consommateur, car la configuration préliminaire, telle que la définition des autorisations sur les données sources externes, par exemple avec Lake Formation, est probablement déjà terminée. Un autre avantage est qu’une vue ajoutée à une unité de partage des données permet de joindre des tables issues du lac de données à des tables natives Redshift.
+ *Ajout direct d’une table à partir d’un schéma externe à une unité de partage des données* : les objets du lac de données sont ainsi mis à la disposition des consommateurs sans couches ni logique supplémentaires. Les consommateurs peuvent interroger la table ou la joindre aux tables du consommateur.

Ces cas s'appliquent une fois que vous avez référencé une table du catalogue de AWS données dans Redshift à l'aide de [CREATE EXTERNAL](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html) SCHEMA. N'importe quelle table du catalogue de AWS données peut être la source.

**Note**  
Les tables de lac de données que vous ajoutez à un partage de données peuvent inclure des tables enregistrées auprès de Lake Formation et des tables de catalogue de AWS Glue données.

## Créer un schéma externe et une table externe
<a name="create-datashare-console-external-prelim"></a>

Vous créez un schéma externe et une table externe afin de les ajouter à l’unité de partage des données dans les sections qui suivent. Il s’agit d’étapes préliminaires. Si vous les avez déjà effectuées, vous pouvez ignorer cette section.

1. Sur le producteur, créez un schéma externe qui fait référence aux données de lac des données stockées dans Amazon S3. Le schéma externe fait référence au AWS Glue Data Catalog. Le rôle et la région de l’exemple en sont des exemples :

   ```
   CREATE EXTERNAL SCHEMA external_schema_name FROM DATA CATALOG
   DATABASE 'glue_database_name'
   IAM_ROLE 'arn:aws:iam::123456789012:role/sample-role'
   REGION 'us-east-1';
   ```

1. Créer une table de lac de données dans le schéma externe.

   ```
   CREATE EXTERNAL TABLE external_schema_name.sales(
   salesid INTEGER,
   sellerid INTEGER,
   buyerid INTEGER,
   saledate DATE,
   pricepaid DECIMAL(8,2))
   ROW FORMAT delimited
   FIELDS TERMINATED BY '\t'
   STORED AS textfile
   LOCATION 's3://redshift-downloads/tickit/spectrum/sales/';
   ```

   L’exemple de inclut la `LOCATION`. Elle doit être dans le formulaire `s3://{bucket_name}/{folder}/` où le dossier est spécifié. Le dossier doit comporter au moins un caractère. Vous pouvez éventuellement inclure des sous-dossiers. Pour voir d’autres exemples de création de tables dans un lac de données, consultez [Exemples](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE_examples.html) pour CREATE EXTERNAL TABLE.
**Note**  
Le partage n’est pris en charge que pour les tables où le rôle IAM du producteur dispose d’un accès SELECT sur la table.

## Ajoutez une vue à liaison tardive qui référence une table de lac de données à une unité de partage des données
<a name="create-datashare-console-external-views-how-to"></a>

Lorsque vous créez des tables basées sur un schéma externe issu du catalogue de AWS données et que vous souhaitez les ajouter à un partage de données, la méthode la plus courante consiste à ajouter une vue de liaison tardive Redshift faisant référence à la table que vous avez créée, qui contient les données du lac de données. La procédure suivante montre les étapes :

1. Créez une vue à liaison tardive qui référence la table externe que vous avez créée précédemment :

   ```
   CREATE VIEW lbv AS 
   select * from external_schema_name.sales, other_schema.t1
   WITH NO SCHEMA BINDING;
   ```

1. Ajoutez le schéma de vue à une unité de partage des données. Il s’agit du schéma local qui contient la vue à liaison tardive. 

   ```
   ALTER DATASHARE dsx_datashare ADD SCHEMA public;
   ```

1. Ajoutez le schéma qui contient la table référencée par la vue à liaison tardive à l’unité de partage des données. L’ajout du schéma est obligatoire pour toutes les tables de base référencées dans une vue ajoutée à une unité de partage des données, que le schéma contienne des objets de base de données locaux ou des objets provenant d’un lac de données. Notez que vous devez ajouter ce schéma avant d’ajouter la vue à liaison tardive.

   ```
   ALTER DATASHARE dsx_datashare ADD SCHEMA external_schema_name;
   ALTER DATASHARE dsx_datashare ADD SCHEMA other_schema;
   ```

1. Ajoutez la vue de l’unité de partage des données à l’aide d’une commande SQL. Notez que le nom de la table inclut le préfixe du schéma.

   ```
   ALTER DATASHARE my_datashare ADD TABLE public.lbv;
   ```

1. Vérifiez que la vue et les schémas ont bien été ajoutés à l’unité de partage des données :

   ```
   SELECT * FROM svv_datashare_objects WHERE share_name = 'my_datashare';
   ```

1. L’administrateur consommateur crée une base de données à partir de l’unité de partage des données, puis en autorise l’utilisation aux utilisateurs consommateurs.

Une fois les étapes terminées, les utilisateurs consommateurs de la base de données ayant accès à la vue de l’unité de partage des données peuvent interroger les données.

## Ajouter une table de lac de données directement dans une unité de partage des données
<a name="create-datashare-console-external-views-add-spectrum"></a>

L’ajout d’une table dans un schéma externe à une unité de partage des données est similaire à l’ajout d’une vue. Cela fonctionne bien dans le cas où un consommateur souhaite interroger la table du lac de données dans son état d’origine, ou s’il souhaite la joindre aux tables de l’entrepôt de données des consommateurs. Les étapes suivantes vous montrent comment ajouter une table de lac de données à une unité de partage des données à l’aide de SQL.

1. Créez un schéma externe et une table externe, comme décrit dans la première section de cette rubrique.

1. 

   Découvrez les tables existantes dans le schéma externe pour vérifier que la table que vous avez créée est disponible :

   ```
   SELECT * FROM svv_external_tables WHERE schemaname = 'external_schema_name';
   ```

1. Ajoutez le schéma externe à l’unité de partage des données :

   ```
   ALTER DATASHARE my_datashare ADD SCHEMA external_schema_name;
   ```

1. Ajoutez la table externe à l’unité de partage des données. Notez que le nom de la table inclut le préfixe du schéma :

   ```
   ALTER DATASHARE my_datashare ADD TABLE external_schema_name.sales;
   ```

1. Vérifiez que la table a bien été ajoutée à l’unité de partage des données :

   ```
   SELECT * FROM svv_datashare_objects WHERE share_name = 'my_datashare';
   ```

   Pour des instructions plus détaillées, voir [Partage de l'accès en lecture aux données d'un AWS compte](https://docs.aws.amazon.com/redshift/latest/dg/within-account.html).

1. Sur le consommateur, qui est la base de données recevant les données partagées, l’administrateur associe l’unité de partage des données pour que les utilisateurs puissent les interroger sur les tables partagées. Pour plus d’informations sur la manière d’effectuer cette étape, consultez la section [Gestion d’unités de partage des données provenant d’autres comptes en tant que consommateur](manage-datashare-other-console.html).

Une fois que les administrateurs ont terminé les étapes, les utilisateurs de la base de données du consommateur peuvent écrire des requêtes pour récupérer les données de la table partagée et les joindre aux autres tables du consommateur.

## Remarques d’utilisation relatives à l’ajout d’objets de lac de données à une unité de partage des données
<a name="create-datashare-console-external-views-considerations"></a>

Lorsque vous utilisez des tables et des vues issues d’un lac de données dans une unité de partage des données, vous devez tenir compte de plusieurs points :
+ **Connexion avec AWS CloudTrail** : le compte du producteur de données peut utiliser AWS CloudTrail des journaux pour vérifier l'accès aux tables de lacs de données partagées via un partage de données :
  + **Utilisation des données des journaux pour contrôler l'accès aux données** : les CloudTrail journaux enregistrent des informations sur les personnes qui accèdent aux tables partagées, y compris les producteurs et les consommateurs de partages de données Redshift. Les identifiants sont disponibles dans le `ExternalId` champ situé sous les `AssumeRole` CloudTrail journaux. Le propriétaire des données peut configurer des limites supplémentaires d’accès aux données dans une politique IAM au moyen d’actions. Pour plus d'informations sur la définition de l'accès aux données par le biais de politiques, voir [Accès aux AWS comptes détenus par des tiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html).
+ **Sécurité et autorisations des consommateurs** : pour les tables enregistrées par Lake Formation, les ressources Amazon S3 sont sécurisées par Lake Formation et mises à disposition à l’aide des informations d’identification fournies par Lake Formation.

## Considérations relatives à la facturation pour l’ajout d’objets de lac de données à une unité de partage des données
<a name="create-datashare-console-external-views-billing"></a>

Ce qui suit détaille la manière dont les coûts sont attribués pour le stockage et la numérisation d’objets de lac de données dans une unité de partage des données :
+ Lorsqu’un consommateur demande des objets partagés à partir d’un lac de données, le coût de numérisation est facturé au consommateur.
  + Lorsque le consommateur est un cluster alloué, Redshift utilise Redshift Spectrum pour analyser les données Amazon S3. Par conséquent, le coût de Spectrum est facturé au compte du consommateur.
  + Lorsque le consommateur est un groupe de travail Amazon Redshift sans serveur, Spectrum n’est soumis à aucun frais distinct.
+ Les frais de stockage et d’exploitation d’Amazon S3, tels que la mise en vente de compartiments, sont facturés au compte propriétaire de chaque compartiment Amazon S3.

Pour plus d’informations sur la facturation Amazon Redshift sans serveur, consultez [Facturation pour Amazon Redshift sans serveur](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-billing.html). Des informations supplémentaires sur la facturation et la tarification sont disponibles sur [Tarification d’Amazon Redshift](https://aws.amazon.com/redshift/pricing/).

# Partage de données entre Comptes AWS
<a name="across-account"></a>

Vous pouvez partager des données à des fins de lecture entre des Comptes AWS. Le partage de données entre des Comptes AWS fonctionne de la même manière que le partage de données au sein d’un compte. La différence est qu’une négociation bidirectionnelle est requise pour partager des données entre des Comptes AWS. Un administrateur de compte producteur peut autoriser des comptes consommateurs à accéder à des unités de partage des données ou choisir de ne pas autoriser l’accès. Pour utiliser une unité de partage des données autorisée, un administrateur de compte consommateur peut associer l’unité de partage des données. L'administrateur peut associer le partage de données à un ensemble Compte AWS ou à des clusters spécifiques du compte client, ou refuser le partage de données. Pour plus d’informations sur le partage de données au sein d’un compte, consultez [Partage de l'accès en lecture aux données au sein d'un Compte AWS](within-account.md).

Une unité de partage des données peut avoir des consommateurs de données qui sont des espaces de noms dans le même compte, ou dans des Comptes AWS différents. Vous n’avez pas besoin de créer des unités de partage des données distincts pour le partage au sein d’un compte et le partage entre comptes.

Pour le partage de données entre comptes, les clusters producteur et consommateur doivent être chiffrés.

Lorsqu'ils partagent des données avec Comptes AWS, les administrateurs du producteur les partagent Compte AWS en tant qu'entité. Un administrateur consommateur peut décider quels espaces de noms sur le compte consommateur ont accès à une unité de partage des données.

**Topics**
+ [actions de l’administrateur producteur](producer-cluster-admin.md)
+ [Actions de l’administrateur de comptes consommateur](consumer-account-admin.md)
+ [actions de l’administrateur consommateur](consumer-cluster-admin.md)

# actions de l’administrateur producteur
<a name="producer-cluster-admin"></a>

Avec Amazon Redshift, vous pouvez effectuer des tâches administratives sur les clusters de producteurs afin de gérer l’ingestion de données et le traitement des charges.

**Si vous êtes administrateur producteur ou propriétaire de base de données,** procédez comme suit :

1. Créez des unités de partage des données dans votre cluster et ajoutez-y des objets d’unité de partage des données. Pour obtenir des étapes plus détaillées sur la création des unités de partage des données et l’ajout d’objets d’unité de partage des données à ces derniers, consultez [Partage de l'accès en lecture aux données au sein d'un Compte AWS](within-account.md). Pour plus d’informations sur CREATE DATASHARE et ALTER DATASHARE, consultez [CREATE DATASHARE](r_CREATE_DATASHARE.md) et [ALTER DATASHARE](r_ALTER_DATASHARE.md).

   L’exemple suivant ajoute différents objets d’unité de partage des données à l’unité de partage des données `salesshare`.

   ```
   -- Add schema to datashare
   ALTER DATASHARE salesshare ADD SCHEMA PUBLIC;
   
   -- Add table under schema to datashare
   ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;
   
   -- Add view to datashare 
   ALTER DATASHARE salesshare ADD TABLE public.sales_data_summary_view;
   
   -- Add all existing tables and views under schema to datashare (does not include future table)
   ALTER DATASHARE salesshare ADD ALL TABLES in schema public;
   ```

   Vous pouvez également utiliser la console Amazon Redshift pour créer ou modifier des unités de partage des données. Pour plus d’informations, consultez [Créer une unité de partage des données](datashare-creation.md#create-datashare-console) et [Modification des unités de partage des données créées dans votre compte](manage-datashare-existing-console.md#edit-datashare-console).

1. Déléguer des autorisations pour opérer sur l’unité de partage des données. Pour plus d’informations, consultez [GRANT](r_GRANT.md) ou [REVOKE](r_REVOKE.md).

   L’exemple suivant attribue des autorisations à `dbuser` sur `salesshare`.

   ```
   GRANT ALTER, SHARE ON DATASHARE salesshare TO dbuser;
   ```

   Les super-utilisateurs de cluster et les propriétaires de l’unité de partage des données peuvent accorder ou révoquer des autorisations de modification sur l’unité de partage des données à d’autres utilisateurs.

1. Ajoutez ou supprimez des consommateurs des unités de partage des données. L'exemple suivant ajoute l' Compte AWS ID à`salesshare`. Pour plus d’informations, consultez [GRANT](r_GRANT.md) ou [REVOKE](r_REVOKE.md).

   ```
   GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '123456789012';
   ```

   Vous ne pouvez accorder des autorisations qu’à un seul consommateur de données dans une instruction GRANT.

   Les super-utilisateurs de cluster et les propriétaires d’objets d’unité de partage des données ou les utilisateurs qui ont l’autorisation SHARE sur l’unité de partage des données peuvent ajouter ou supprimer des consommateurs d’une unité de partage des données. Pour ce faire, ils utilisent GRANT USAGE ou REVOKE USAGE.

   Vous pouvez également utiliser la console Amazon Redshift pour ajouter ou supprimer des consommateurs de données pour les unités de partage des données. Pour plus d’informations, consultez [Ajout de consommateurs de données aux unités de partage des données](datashare-creation.md#add-data-consumer-console) et [Supprimer des consommateurs de données des unités de partage des données](manage-datashare-existing-console.md#remove-data-consumer-console).

1. (Facultatif) Révoquez l'accès au partage de données Comptes AWS si vous ne souhaitez plus partager les données avec les consommateurs.

   ```
   REVOKE USAGE ON DATASHARE salesshare FROM ACCOUNT '123456789012';
   ```

**Si vous êtes administrateur de compte producteur,** procédez comme suit :

Après avoir autorisé l'utilisation du Compte AWS, le statut du partage de données est. `pending_authorization` L’administrateur du compte producteur doit autoriser les unités de partage des données à l’aide de la console Amazon Redshift et choisir les consommateurs de données.

Connectez-vous à la [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/). Choisissez ensuite les consommateurs de données auxquels autoriser l’accès à des unités de partage des données ou retirer l’autorisation. Les consommateurs de données autorisés reçoivent des notifications pour prendre des mesures sur les unités de partage des données. Si vous ajoutez un espace de noms en tant que consommateur de données, vous n’êtes pas tenu d’effectuer d’autorisation. Une fois que les consommateurs de données sont autorisés, ils peuvent accéder aux objets d’unité de partage des données et créer une base de données consommateur pour interroger les données. Pour plus d’informations, consultez [Autoriser ou supprimer l’autorisation des unités de partage des données](authorize-datashare-console.md).

## Partage des autorisations d’écriture sur les données entre les comptes
<a name="within-account-multi-warehouse-consumer-associate"></a>

Avec Amazon Redshift, vous pouvez partager des données entre AWS comptes et accorder des autorisations d'écriture, ce qui permet la collaboration et le partage de données entre des équipes ou des organisations. Le partage de données entre comptes vous permet de créer un compte de fournisseur de données qui crée et gère des bases de données, des schémas et des tables, qui peuvent ensuite être partagés en toute sécurité avec des comptes de consommateurs de données. Les sections suivantes présentent le processus de configuration de l’unité de partage des données entre comptes et d’octroi d’un accès en écriture dans Amazon Redshift.

# Actions de l’administrateur de comptes consommateur
<a name="consumer-account-admin"></a>

Avec Amazon Redshift, vous pouvez gérer les comptes des clients et contrôler leur accès à vos ressources d’entreposage de données.

**Si vous êtes un administrateur de compte consommateur,** procédez comme suit :

Pour associer un ou plusieurs partages de données partagés depuis d'autres comptes à l'intégralité Compte AWS ou à des espaces de noms spécifiques de votre compte, utilisez la console Amazon Redshift.

Connectez-vous à la [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/). Associez ensuite un ou plusieurs partages de données partagés depuis d'autres comptes à l'ensemble Compte AWS ou à des espaces de noms spécifiques de votre compte. Pour de plus amples informations, veuillez consulter [Associer un partage de données à un autre Compte AWS dans Amazon Redshift](writes-associating.md).

Une fois que les espaces de noms Compte AWS ou des espaces de noms spécifiques sont associés, les partages de données peuvent être utilisés. Vous pouvez également modifier l’association d’unité de partage des données à tout moment. Lorsque vous remplacez l'association d'espaces de noms individuels par un Compte AWS, Amazon Redshift remplace les espaces de noms par les informations. Compte AWS Lorsque l'association passe d'un espace de noms Compte AWS à un espace de noms spécifique, Amazon Redshift remplace les informations par Compte AWS les informations de l'espace de noms. Tous les espaces de noms sur le compte ont accès aux données.

# actions de l’administrateur consommateur
<a name="consumer-cluster-admin"></a>

Avec Amazon Redshift, vous pouvez effectuer des tâches administratives sur les clusters de consommateurs afin de gérer l’ingestion de données et le traitement des charges.

**Si vous êtes un administrateur consommateur, ** procédez comme suit :

1. Répertoriez les unités de partage des données mises à votre disposition et affichez leur contenu. Le contenu des unités de partage des données n’est disponible que lorsque l’administrateur producteur a autorisé les unités de partage des données et que l’administrateur consommateur a accepté et associé les unités de partage des données. Pour plus d’informations, consultez [DESC DATASHARE](r_DESC_DATASHARE.md) et [SHOW DATASHARES](r_SHOW_DATASHARES.md).

   L’exemple suivant montre comment afficher les informations des unités de partage des données entrants d’un espace de noms producteur spécifié. Lorsque vous exécutez DESC DATAHSARE en tant qu’administrateur consommateur, vous devez spécifier l’option NAMESPACE et l’ID de compte pour afficher les unités de partage des données entrantes. Pour les unités de partage des données sortantes, spécifiez le nom de l’unité de partage des données.

   ```
   SHOW DATASHARES LIKE 'sales%';
   
   share_name | share_owner | source_database | consumer_database | share_type | createdate | is_publicaccessible | share_acl | producer_account |          producer_namespace
   -----------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+---------------------------------------
   salesshare |             |                 |                   | INBOUND    |            |        t            |           | 123456789012    | 'dd8772e1-d792-4fa4-996b-1870577efc0d'
   ```

   ```
   DESC DATASHARE salesshare OF ACCOUNT '123456789012' NAMESPACE 'dd8772e1-d792-4fa4-996b-1870577efc0d';
   
   
    producer_account |          producer_namespace          | share_type | share_name | object_type |           object_name
   ------------------+--------------------------------------+------------+------------+-------------+---------------------------------
    123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d | INBOUND    | salesshare | table       | public.tickit_users_redshift
    123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d | INBOUND    | salesshare | table       | public.tickit_venue_redshift
    123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d | INBOUND    | salesshare | table       | public.tickit_category_redshift
    123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d | INBOUND    | salesshare | table       | public.tickit_date_redshift
    123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d | INBOUND    | salesshare | table       | public.tickit_event_redshift
    123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d | INBOUND    | salesshare | table       | public.tickit_listing_redshift
    123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d | INBOUND    | salesshare | table       | public.tickit_sales_redshift
    123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d | INBOUND    | salesshare | schema      | public
   (8 rows)
   ```

   Seuls les super-utilisateurs de cluster peuvent le faire. Vous pouvez également utiliser SVV\$1DATASHARES pour afficher les unités de partage des données et SVV\$1DATASHARE\$1OBJECTS pour afficher les objets dans l’unité de partage des données.

   L'exemple suivant affiche les datashares entrants dans un cluster consommateur.

   ```
   SELECT * FROM SVV_DATASHARES WHERE share_name LIKE 'sales%';
   
   share_name | share_owner | source_database | consumer_database | share_type | createdate | is_publicaccessible | share_acl | producer_account |          producer_namespace
   -----------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+---------------------------------------
   salesshare |             |                 |                   | INBOUND    |            |        t            |           | 123456789012      | 'dd8772e1-d792-4fa4-996b-1870577efc0d'
   ```

   ```
   SELECT * FROM SVV_DATASHARE_OBJECTS WHERE share_name LIKE 'sales%';
    share_type | share_name | object_type |           object_name           | producer_account |          producer_namespace
   ------------+------------+-------------+---------------------------------+------------------+--------------------------------------
    INBOUND    | salesshare | table       | public.tickit_users_redshift    | 123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d
    INBOUND    | salesshare | table       | public.tickit_venue_redshift    | 123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d
    INBOUND    | salesshare | table       | public.tickit_category_redshift | 123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d
    INBOUND    | salesshare | table       | public.tickit_date_redshift     | 123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d
    INBOUND    | salesshare | table       | public.tickit_event_redshift    | 123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d
    INBOUND    | salesshare | table       | public.tickit_listing_redshift  | 123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d
    INBOUND    | salesshare | table       | public.tickit_sales_redshift    | 123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d
    INBOUND    | salesshare | schema      | public                          | 123456789012     | dd8772e1-d792-4fa4-996b-1870577efc0d
   (8 rows)
   ```

1. Créez des bases de données locales qui font référence aux unités de partage des données. Spécifiez la valeur NAMESPACE et l’ID de compte lors de la création de la base de données à partir de l’unité de partage des données. Pour plus d’informations, consultez [CREATE DATABASE](r_CREATE_DATABASE.md).

   ```
   CREATE DATABASE sales_db FROM DATASHARE salesshare OF ACCOUNT '123456789012' NAMESPACE 'dd8772e1-d792-4fa4-996b-1870577efc0d';
   ```

   Si vous souhaitez un contrôle plus précis de l’accès aux objets de la base de données locale, utilisez la clause WITH PERMISSIONS quand vous créez la base de données. Cela vous permet d’accorder des autorisations de niveau objet pour les objets de la base de données à l’étape 4. 

   ```
   CREATE DATABASE sales_db WITH PERMISSIONS FROM DATASHARE salesshare OF ACCOUNT '123456789012' NAMESPACE 'dd8772e1-d792-4fa4-996b-1870577efc0d';
   ```

   Vous pouvez voir les bases de données que vous avez créées à partir de l’unité de partage des données en interrogeant la vue [SVV\$1REDSHIFT\$1DATABASES](r_SVV_REDSHIFT_DATABASES.md). Vous pouvez vous connecter à ces base de données directement ou vous connecter à une base de données locale sur votre cluster consommateur et effectuer une requête entre bases de données pour interroger les données des bases de données d’unités de partage des données. Vous ne pouvez pas créer une unité de partage des données au-dessus des objets de base de données créés à partir d’une unité de partage des données existant. Toutefois, vous pouvez copier les données dans une table distincte du cluster consommateur, effectuer le traitement nécessaire, puis partager les nouveaux objets créés.

1. (Facultatif) Créez des schémas externes pour référencer et attribuer des autorisations détaillées à des schémas spécifiques de la base de données consommateur importée sur le cluster consommateur. Pour plus d’informations, consultez [CREATE EXTERNAL SCHEMA](r_CREATE_EXTERNAL_SCHEMA.md).

   ```
   CREATE EXTERNAL SCHEMA sales_schema FROM REDSHIFT DATABASE 'sales_db' SCHEMA 'public';
   ```

1. Selon les besoins, accordez aux utilisateurs et rôles du cluster consommateur des autorisations sur les bases de données et références de schéma créées à partir des unités de partage des données. Pour plus d’informations, consultez [GRANT](r_GRANT.md) ou [REVOKE](r_REVOKE.md).

   ```
   GRANT USAGE ON DATABASE sales_db TO Bob;
   ```

   ```
   GRANT USAGE ON SCHEMA sales_schema TO ROLE Analyst_role;
   ```

   Si vous avez créé votre base de données sans la clause WITH PERMISSIONS, vous ne pouvez attribuer des autorisations sur l’ensemble de la base de données créée à partir de l’unité de partage des données qu’à vos utilisateurs ou groupes. Dans certains cas, vous avez besoin de contrôles précis sur un sous-ensemble d’objets de base de données créés à partir de l’unité de partage des données. Si tel est le cas, vous pouvez créer une référence de schéma externe tournée vers des schémas spécifiques dans l’unité de partage des données comme décrit à l’étape précédente. Vous pouvez ensuite fournir des autorisations détaillées au niveau du schéma. Vous pouvez également créer des vues à liaison tardive sur les objets partagés et les utiliser pour attribuer des autorisations détaillées. Vous pouvez également envisager que les clusters producteur créent des unités de partage des données supplémentaires pour vous avec la précision requise. Vous pouvez créer autant de références de schéma à la base de données créée à partir de l’unité de partage des données que vous le souhaitez.

   Si vous avez créé votre base de données avec la clause WITH PERMISSIONS à l’étape 2, vous devez attribuer des autorisations de niveau objet dans la base de données partagée. Un utilisateur disposant uniquement de l’autorisation USAGE ne peut accéder à aucun objet d’une base de données créée avec la clause WITH PERMISSIONS tant qu’il n’a pas obtenu d’autorisations de niveau objet supplémentaires.

   ```
   GRANT SELECT ON sales_db.public.tickit_sales_redshift to Bob;
   ```

1. Interroger les données dans les objets partagés dans les unités de partage des données.

   Les utilisateurs et les rôles disposant d’autorisations sur les bases de données consommateur et les schémas sur les clusters consommateur peuvent explorer et naviguer entre les métadonnées de tous les objets partagés. Ils peuvent également explorer et naviguer entre les objets locaux dans un cluster consommateur. Pour ce faire, utilisez des pilotes JDBC ou ODBC ou des vues SVV\$1ALL et SVV\$1REDSHIFT.

   Les clusters producteur peuvent avoir de nombreux schémas dans la base de données, les tables et les vues au sein de chaque schéma. Les utilisateurs du côté consommateur ne peuvent voir que le sous-ensemble d’objets mis à disposition via l’unité de partage des données. Ces utilisateurs ne peuvent pas voir l’intégralité des métadonnées du cluster producteur. Cette approche permet de fournir un contrôle détaillé de la sécurité des métadonnées avec le partage des données.

   Vous continuez à vous connecter aux bases de données de cluster locales. Mais maintenant, vous pouvez également lire à partir des bases de données et des schémas qui sont créés à partir de l’unité de partage des données en utilisant la notation database.schema.table en trois parties. Vous pouvez effectuer des requêtes qui s’étendent sur toutes les bases de données qui sont visibles pour vous. Il peut s’agir de bases de données locales sur le cluster ou de bases de données créées à partir des unités de partage des données. Les clusters consommateur ne peuvent pas se connecter aux bases de données créées à partir des unités de partage des données.

   Vous pouvez accéder aux données à l’aide d’une qualification complète. Pour plus d'informations, consultez [Exemple de requête entre bases de données](cross-database_example.md).

   ```
   SELECT * FROM sales_db.public.tickit_sales_redshift;
   ```

   Vous ne pouvez utiliser les instructions SELECT que sur les objets partagés. Toutefois, vous pouvez créer des tables dans le cluster consommateur en interrogeant les données des objets partagés dans une base de données locale différente.

   En plus d’adresser des requêtes, les consommateurs peuvent créer des vues sur des objets partagés. Seules les vues à liaison tardive et les vues matérialisées sont prises en charge. Amazon Redshift ne prend pas en charge les vues standard sur les données partagées. Les vues créées par les consommateurs peuvent s’étendre sur plusieurs bases de données locales ou bases de données créées à partir d’unités de partage des données. Pour de plus amples informations, veuillez consulter [CREATE VIEW](r_CREATE_VIEW.md).

   ```
   // Connect to a local cluster database
                  
   // Create a view on shared objects and access it. 
   CREATE VIEW sales_data 
   AS SELECT * 
   FROM sales_db.public.tickit_sales_redshift 
   WITH NO SCHEMA BINDING;
   
   SELECT * FROM sales_data;
   ```

# Partage de données entre Régions AWS
<a name="across-region"></a>

Vous pouvez partager des données à des fins de lecture entre des clusters Amazon Redshift dans des Régions AWS. Grâce au partage de données entre régions, vous pouvez partager des données entre elles Régions AWS sans avoir à les copier manuellement. Vous n’avez pas besoin de décharger vos données dans Amazon S3 et de les copier dans un nouveau cluster Amazon Redshift ou d’effectuer une copie d’instantané entre régions.

Grâce au partage de données entre régions, vous pouvez partager des données entre des clusters situés dans la même région ou de manière différente Compte AWS, Comptes AWS même lorsque les clusters se trouvent dans des régions différentes. Lorsque vous partagez des données avec des clusters Amazon Redshift situés dans les mêmes clusters Compte AWS mais différents Régions AWS, suivez le même flux de travail que le partage de données au sein d'un. Compte AWS Pour de plus amples informations, veuillez consulter [Partage de l'accès en lecture aux données au sein d'un Compte AWS](within-account.md).

Si les clusters partageant des données se situent dans Comptes AWS des entités différentes Régions AWS, vous pouvez suivre le même flux de travail que pour partager des données entre eux Comptes AWS et inclure des associations au niveau régional dans le cluster de consommateurs. Le partage de données entre régions prend en charge l'association de partage de données à l'ensemble Compte AWS, à l'intégralité ou à des espaces Région AWS de noms spécifiques au sein d'un. Région AWS Pour plus d'informations sur le partage de données entre Comptes AWS personnes, consultez[Partage de données entre Comptes AWS](across-account.md).

Lors de la consommation de données provenant d’une autre région, le consommateur paie les frais de transfert de données entre régions de la région productrice vers la région consommatrice.

Pour utiliser l’unité de partage des données, un administrateur de compte consommateur peut associer l’unité de partage des données de l’une des trois manières suivantes.
+ Association avec un ensemble Compte AWS englobant tous ses Régions AWS
+ Association avec un particulier Région AWS dans un Compte AWS
+ Association avec des espaces de noms spécifiques au sein d'un Région AWS

Lorsque l'administrateur choisit l'intégralité Compte AWS, tous les espaces de noms existants et futurs des différents éléments Régions AWS du compte ont accès aux partages de données. Un administrateur de compte consommateur peut également choisir une Régions AWS ou des espaces de noms spécifiques dans une région pour leur accorder l’accès aux unités de partage des données.

**Si vous êtes un administrateur producteur ou un propriétaire de base de données**, créez une unité de partage des données, ajoutez des objets de base de données et des consommateurs de données à l’unité de partage des données et accordez des autorisations aux consommateurs de données. Pour de plus amples informations, veuillez consulter [actions de l’administrateur producteur](producer-cluster-admin.md).

**Si vous êtes administrateur de compte producteur**, autorisez les partages de données à l'aide de la console AWS Command Line Interface (AWS CLI) ou Amazon Redshift et choisissez les consommateurs de données. 

**Si vous êtes un administrateur de compte consommateur,** procédez comme suit :

Pour associer un ou plusieurs partages de données partagés depuis d'autres comptes à l'ensemble Compte AWS ou à des espaces de noms spécifiques Régions AWS au sein d'un compte Région AWS, utilisez la console Amazon Redshift. 

Grâce au partage de données entre régions, vous pouvez ajouter des clusters dans un environnement spécifique à Région AWS l'aide de la AWS Command Line Interface console (AWS CLI) ou Amazon Redshift.

Pour spécifier une ou plusieurs AWS régions, vous pouvez utiliser la commande `associate-data-share-consumer` CLI avec l'`consumer-region`option facultative.

Dans le cas de la CLI, l'exemple suivant `Salesshare` associe le à l'ensemble Compte AWS à l'`associate-entire-account`option. Vous ne pouvez associer qu’une seule région à la fois.

```
aws redshift associate-data-share-consumer
--region {PRODUCER_REGION}
--data-share-arn arn:aws:redshift:{PRODUCER_REGION}:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/Salesshare
--associate-entire-account
```

L’exemple suivant associe le `Salesshare` à la région USA Est (Ohio) (`us-east-2`).

```
aws redshift associate-data-share-consumer
--region {PRODUCER_REGION}
--data-share-arn arn:aws:redshift:{PRODUCER_REGION}:0123456789012:datashare:{PRODUCER_CLUSTER_NAMESPACE}/Salesshare
--consumer-region 'us-east-2'
```

L'exemple suivant `Salesshare` associe le à un espace de noms de consommateur spécifique Compte AWS dans un autre espace de la région Asie-Pacifique (Sydney) (`ap-southeast-2`).

```
aws redshift associate-data-share-consumer
--data-share-arn arn:aws:redshift:{PRODUCER_REGION}:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/Salesshare
--consumer-arn 'arn:aws:redshift:ap-southeast-2:{CONSUMER_ACCOUNT}:namespace:{ConsumerImmutableClusterId}'
```

Vous pouvez utiliser la console Amazon Redshift pour associer des partages de données à vos espaces de noms complets Compte AWS Régions AWS ou spécifiques au sein d'un. Région AWS Pour ce faire, connectez-vous au [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/). Associez ensuite un ou plusieurs partages de données partagés depuis d'autres comptes à votre espace de noms complet Compte AWS Région AWS, complet ou spécifique au sein d'un. Région AWS Pour de plus amples informations, veuillez consulter [Associer un partage de données à un autre Compte AWS dans Amazon Redshift](writes-associating.md).

Une fois que les espaces de noms Compte AWS ou des espaces de noms spécifiques sont associés, les partages de données peuvent être utilisés. Vous pouvez également modifier l’association d’unité de partage des données à tout moment. Lorsque vous remplacez l'association d'espaces de noms individuels par un Compte AWS, Amazon Redshift remplace les espaces de noms par les informations. Compte AWS Lorsque l'association passe d'un espace de noms Compte AWS à un espace de noms spécifique, Amazon Redshift remplace les informations par Compte AWS les informations de l'espace de noms. Lorsque vous passez d'une association complète Compte AWS à des AWS régions et espaces de noms spécifiques, Amazon Redshift remplace les informations par les informations relatives à Compte AWS la région et à l'espace de noms spécifiques.

**Quand vous êtes administrateur consommateur**, vous pouvez créer des bases de données locales qui font référence aux unités de partage des données, et accorder des autorisations sur les bases de données créées à partir d’unités de partage des données aux utilisateurs ou rôles du cluster consommateur, selon les besoins. Vous pouvez aussi créer des vues sur des objets partagés et créer des schémas externes pour référencer et attribuer des autorisations détaillées à des schémas spécifiques de la base de données consommateur importée sur le cluster consommateur. Pour plus d'informations, consultez [actions de l’administrateur consommateur](consumer-cluster-admin.md).

# Gestion du contrôle des coûts pour le partage de données entre régions
<a name="cross-region-billing"></a>

Avec Amazon Redshift, vous pouvez gérer le contrôle des coûts liés à l’unité de partage des données entre régions en configurant le partage de données afin de limiter la quantité de données transférées entre régions AWS . La gestion du contrôle des coûts pour le partage de données entre régions vous permet de définir des limites de transfert de données, de surveiller l’utilisation des transferts de données et de recevoir des notifications lorsque vous approchez ou dépassez ces limites.

Lors de la consommation de données provenant d’une autre région, le consommateur paie les frais de transfert de données entre régions de la région productrice vers la région consommatrice. Le prix du transfert de données est différent selon les régions. Les frais sont basés sur les octets de données analysés pour chaque exécution de requête réussie. Pour plus d’informations sur la tarification Amazon Redshift, consultez [Tarification Amazon Redshift](https://aws.amazon.com/redshift/pricing/).

Vous êtes facturé pour le nombre d’octets, arrondi au mégaoctet suivant, avec un minimum de 10 Mo par requête. Vous pouvez définir des contrôles de coûts sur l’utilisation de vos requêtes et afficher la quantité de données transférées par requête sur votre cluster.

Pour surveiller et contrôler votre utilisation et les coûts d’utilisation associés du partage de données entre régions, vous pouvez créer des limites d’utilisation quotidiennes, hebdomadaires et mensuelles, ainsi que définir des actions exécutées automatiquement par Amazon Redshift si ces limites sont atteintes afin de maintenir votre budget avec prévisibilité.

Selon les limites d'utilisation que vous définissez, les actions entreprises par Amazon Redshift peuvent consister à enregistrer un événement dans une table système, à envoyer une CloudWatch alarme et à avertir un administrateur via un Amazon SNS, ou à désactiver le partage de données entre régions pour une utilisation ultérieure.

Pour créer des limites d’utilisation dans la console Amazon Redshift, sélectionnez **Configure usage limit** (Configurer la limite d’utilisation) sous **Actions** pour votre cluster. Vous pouvez surveiller vos tendances d'utilisation et recevoir des alertes en cas d'utilisation dépassant les limites définies grâce à des CloudWatch mesures générées automatiquement à partir des onglets **Performances du cluster** ou **Surveillance**. Vous pouvez également créer, modifier et supprimer des limites d'utilisation par programmation à l'aide des opérations de l'API Amazon Redshift AWS CLI ou de l'API Amazon Redshift. 

# Partage de données Amazon Redshift sous licence sur AWS Data Exchange
<a name="adx-getting-started"></a>

Lors de la création de AWS Data Exchange partages de données et de leur ajout à un AWS Data Exchange produit, les fournisseurs peuvent octroyer des licences sur des données dans Amazon Redshift que les consommateurs peuvent découvrir, consulter et consulter sur Amazon up-to-date Redshift lorsqu'ils ont des abonnements actifs. AWS Data Exchange 

Lorsque des AWS Data Exchange partages de données sont ajoutés à un AWS Data Exchange produit, les consommateurs ont automatiquement accès aux partages de données d'un produit lorsque leur abonnement commence et conservent leur accès tant que leur abonnement est actif.

**Topics**
+ [Travailler avec des AWS Data Exchange datashares en tant que producteur](adx-getting-started-producer.md)
+ [Travailler avec des AWS Data Exchange partages de données en tant que consommateur](#adx-getting-started-consumer)

# Travailler avec des AWS Data Exchange datashares en tant que producteur
<a name="adx-getting-started-producer"></a>

Avec Amazon Redshift, vous pouvez partager des produits de données en temps réel en AWS Data Exchange tant que producteur en créant et en gérant des partages de données. 

**Si vous êtes un administrateur producteur, suivez ces étapes pour gérer les partages AWS Data Exchange de données sur la console Amazon Redshift :**

1. Créez des partages de données dans votre cluster pour partager des données AWS Data Exchange et autoriser l'accès AWS Data Exchange à ces partages de données.

   Les super-utilisateurs de cluster et les propriétaires de base de données peuvent créer des datashares. Chaque datashare est associé à une base de données lors de sa création. 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 que vous pouvez créer sur un cluster.

   Vous pouvez également créer des datashares via la console Amazon Redshift. Pour de plus amples informations, veuillez consulter [Créer une unité de partage des données](datashare-creation.md#create-datashare-console).

   Utilisez l'option MANAGEDBY ADX pour accorder implicitement l'accès au partage de données AWS Data Exchange lors de l'exécution de l'instruction CREATE DATASHARE. Cela indique que ce partage de données est AWS Data Exchange géré. Vous ne pouvez utiliser l’option MANAGEDBY ADX que lorsque vous créez une unité de partage des données. Vous ne pouvez pas utiliser l’instruction ALTER DATASHARE pour modifier une unité de partage des données existante afin d’ajouter l’option MANAGEDBY ADX. Une fois qu’un partage de données est créé avec l’option MANAGEDBY ADX, seul AWS Data Exchange peut accéder à l’unité de partage des données et la gérer.

   ```
   CREATE DATASHARE salesshare
   [[SET] MANAGEDBY [=] {ADX} ];
   ```

1. Ajouter des objets aux unités de partage des données. L'administrateur du producteur continue de gérer les objets de partage de données disponibles dans un AWS Data Exchange partage de données.

   Pour ajouter des objets à une unité de partage des données, ajoutez le schéma avant d’ajouter des objets. Lorsque vous ajoutez un schéma, Amazon Redshift n’ajoute pas tous les objets qu’il contient. Vous devez les ajouter explicitement. Pour plus d'informations, consultez [ALTER DATASHARE](r_ALTER_DATASHARE.md).

   ```
   ALTER DATASHARE salesshare ADD SCHEMA PUBLIC;
   ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;
   ALTER DATASHARE salesshare ADD ALL TABLES IN SCHEMA PUBLIC;
   ```

   Vous pouvez également ajouter des vues à une unité de partage des données.

   ```
   CREATE VIEW public.sales_data_summary_view AS SELECT * FROM public.tickit_sales_redshift;
   ALTER DATASHARE salesshare ADD TABLE public.sales_data_summary_view;
   ```

   Utilisez ALTER DATASHARE pour partager des schémas, des tables, des vues et des fonctions dans un schéma donné. Les super-utilisateurs, les propriétaires d’unité de partage des données ou les utilisateurs disposant des autorisations ALTER ou ALL sur l’unité de partage des données peuvent modifier l’unité de partage des données pour y ajouter des objets ou en supprimer. Les utilisateurs doivent avoir les autorisations nécessaires pour ajouter ou supprimer des objets de l’unité de partage des données. Les utilisateurs doivent également être les propriétaires des objets ou disposer des autorisations SELECT, USAGE ou ALL sur les objets.

   Utilisez la clause INCLUDENEW pour ajouter au partage de données les nouvelles tables, vues ou fonctions SQL définies par l'utilisateur (UDFs) créées dans un schéma spécifié. Seuls les super-utilisateurs peuvent modifier cette propriété pour chaque paire datashare-schéma.

   ```
   ALTER DATASHARE salesshare ADD SCHEMA PUBLIC;
   ALTER DATASHARE salesshare SET INCLUDENEW = TRUE FOR SCHEMA PUBLIC;
   ```

   Vous pouvez également utiliser la console Amazon Redshift pour ajouter ou supprimer des objets des unités de partage des données. Pour plus d’informations, consultez [Ajout d’objets d’unité de partage des données aux unités de partage des données](datashare-creation.md#add-datashare-object-console), [Supprimer des objets d’unité de partage des données des unités de partage des données](manage-datashare-existing-console.md#remove-datashare-object-console) et [Modification de partages AWS Data Exchange de données](manage-adx-datashare-console.md#edit-adx-datashare-console).

1. Pour autoriser l'accès aux partages de données pour AWS Data Exchange, effectuez l'une des opérations suivantes :
   + Autorisez explicitement l'accès au partage de données AWS Data Exchange en utilisant le `ADX` mot clé dans l'`aws redshift authorize-data-share`API. Cela permet AWS Data Exchange de reconnaître le partage de données dans le compte de service et de gérer l'association des consommateurs au partage de données.

     ```
     aws redshift authorize-data-share 
     --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare 
     --consumer-identifier ADX
     ```

     Vous pouvez utiliser une clé conditionnelle `ConsumerIdentifier` pour autoriser ou `DeauthorizeDataShare` APIs refuser explicitement d'appeler AWS Data Exchange les deux APIs dans le cadre de la politique IAM. `AuthorizeDataShare`

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "VisualEditor0",
                 "Effect": "Deny",
                 "Action": [
                     "redshift:AuthorizeDataShare",
                     "redshift:DeauthorizeDataShare"
                 ],
                 "Resource": "*",
                 "Condition": {
                     "StringEqualsIgnoreCase": {
                         "redshift:ConsumerIdentifier": "ADX"
                     }
                 }
             }
         ]
     }
     ```

------
   + Utilisez la console Amazon Redshift pour autoriser ou supprimer l’autorisation d’unités de partage des données AWS Data Exchange . Pour de plus amples informations, veuillez consulter [Autoriser ou supprimer l’autorisation des unités de partage des données](authorize-datashare-console.md).
   + Vous pouvez éventuellement autoriser implicitement l'accès au partage de AWS Data Exchange données lors de l'importation du partage de données dans un ensemble de données. AWS Data Exchange 

   Pour supprimer l'autorisation d'accès aux partages de AWS Data Exchange données, utilisez le `ADX` mot clé dans l'opération d'`aws redshift deauthorize-data-share`API. Ainsi, vous autorisez AWS Data Exchange à reconnaître l’unité de partage des données dans le compte de service et de gérer l’association de suppression depuis l’unité de partage des données.

   ```
   aws redshift deauthorize-data-share 
   --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare 
   --consumer-identifier ADX
   ```

1. Répertorie les unités de partage des données créées dans le cluster et examine le contenu de l’unité de partage des données.

   L’exemple suivant montre comment afficher les informations d’une unité de partage des données nommée salesshare. Pour plus d’informations, consultez [DESC DATASHARE](r_DESC_DATASHARE.md) et [SHOW DATASHARES](r_SHOW_DATASHARES.md).

   ```
   DESC DATASHARE salesshare;
                  
    producer_account  |          producer_namespace          | share_type | share_name | object_type |           object_name          |   include_new
   -------------------+--------------------------------------+------------+------------+-------------+--------------------------------+-------------------
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_users_redshift   |   
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_venue_redshift   |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_category_redshift|
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_date_redshift    |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_event_redshift   |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_listing_redshift |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | table       | public.tickit_sales_redshift   |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | schema      | public                         |  t
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND   | salesshare | view        | public.sales_data_summary_view |
   ```

   L'exemple suivant montre comment afficher les datashares sortants dans un cluster producteur.

   ```
   SHOW DATASHARES LIKE 'sales%';
   ```

   La sortie ressemble à ce qui suit.

   ```
   share_name | share_owner  | source_database | consumer_database | share_type |     createdate      | is_publicaccessible  | share_acl | producer_account |          producer_namespace 
   -----------+--------------+-----------------+-------------------+------------+---------------------+----------------------+-----------+------------------+---------------------------------------
   salesshare |    100       | dev             |                   |  OUTBOUND  | 2020-12-09 02:27:08 |          True        |           |   123456789012   | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
   ```

   Pour plus d’informations, consultez [DESC DATASHARE](r_DESC_DATASHARE.md) et [SHOW DATASHARES](r_SHOW_DATASHARES.md). 

   Vous pouvez également utiliser [SVV\$1DATASHARES](r_SVV_DATASHARES.md), [SVV\$1DATASHARE\$1CONSUMERS](r_SVV_DATASHARE_CONSUMERS.md), et [SVV\$1DATASHARE\$1OBJECTS](r_SVV_DATASHARE_OBJECTS.md) pour afficher les datashares, les objets du datashare et les consommateurs de datashare.

1. Supprimer des unités de partage des données. Nous vous recommandons de ne pas supprimer un partage de AWS Data Exchange données partagé avec d'autres personnes à Comptes AWS l'aide de l'instruction DROP DATASHARE. Ces comptes perdront l’accès à l’unité de partage des données. Cette action est irréversible. Cela pourrait enfreindre les conditions de l'offre de produits de données AWS Data Exchange. Si vous souhaitez supprimer un partage de AWS Data Exchange données, consultez. [Note d’utilisation de DROP DATASHARE](r_DROP_DATASHARE.md#r_DROP_DATASHARE_usage)

   L’exemple suivant montre la suppression d’une unité de partage des données appelé salesshare.

   ```
   DROP DATASHARE salesshare;
   ERROR:  Drop of ADX-managed datashare salesshare requires session variable datashare_break_glass_session_var to be set to value '620c871f890c49'
   ```

   Pour autoriser la suppression d'un partage de données, définissez la AWS Data Exchange variable datashare\$1break\$1glass\$1session\$1var et réexécutez l'instruction DROP DATASHARE. Si vous souhaitez supprimer un partage de AWS Data Exchange données, consultez. [Note d’utilisation de DROP DATASHARE](r_DROP_DATASHARE.md#r_DROP_DATASHARE_usage)

   Vous pouvez également utiliser la console Amazon Redshift pour supprimer des unités de partage des données. Pour plus d'informations, consultez [Supprimer les AWS Data Exchange partages de données créés dans votre compte](manage-adx-datashare-console.md#delete-adx-datashare-console).

1. Utilisez ALTER DATASHARE pour supprimer des objets des datashares à n'importe quel point du datashare. Utilisez REVOKE USAGE ON pour révoquer les autorisations de certains consommateurs sur l’unité de partage des données. Il révoque les autorisations USAGE sur les objets dans une unité de partage des données et arrête instantanément l’accès à tous les clusters consommateur. Répertorier des unités de partage des données et des requêtes de métadonnées, telles que la liste des bases de données et des tables, ne renvoie pas les objets partagés après la révocation de l’accès.

   ```
   ALTER DATASHARE salesshare REMOVE TABLE public.tickit_sales_redshift;
   ```

   Vous pouvez également utiliser la console Amazon Redshift pour modifier les datashares. Pour de plus amples informations, veuillez consulter [Modification de partages AWS Data Exchange de données](manage-adx-datashare-console.md#edit-adx-datashare-console).

1. Accordez ou révoquez GRANT USAGE pour les partages de AWS Data Exchange données. Vous ne pouvez pas accorder ou révoquer GRANT USAGE pour le partage de AWS Data Exchange données. L'exemple suivant montre une erreur lorsque l'autorisation GRANT USAGE est accordée à un Compte AWS datashare qui AWS Data Exchange gère.

   ```
   CREATE DATASHARE salesshare MANAGEDBY ADX;
   ```

   ```
   GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '012345678910';
   ERROR:  Permission denied to add/remove consumer to/from datashare salesshare. Datashare consumers are managed by ADX.
   ```

   Pour plus d’informations, consultez [GRANT](r_GRANT.md) ou [REVOKE](r_REVOKE.md).

**Si vous êtes un administrateur producteur, procédez comme suit pour créer et publier un produit d’unité de partage des données sur la console AWS Data Exchange  :**
+ Lorsque le AWS Data Exchange partage de données a été créé, le producteur crée un nouvel ensemble de données, importe des actifs, crée une révision, puis crée et publie un nouveau produit.

  Utilisez la console Amazon Redshift pour créer des jeux de données. Pour de plus amples informations, veuillez consulter [Création d'ensembles de données sur AWS Data Exchange](manage-adx-datashare-console.md#create-dataset-console).

  Pour plus d'informations, voir [Fournir des produits de données sur AWS Data Exchange](https://docs.aws.amazon.com/data-exchange/latest/userguide/providing-data-sets.html).

## Travailler avec des AWS Data Exchange partages de données en tant que consommateur
<a name="adx-getting-started-consumer"></a>

Avec Amazon Redshift, vous pouvez accéder à des ensembles de données et les analyser AWS Data Exchange sans avoir à stocker ou à gérer des copies des données. 

**Si vous êtes un consommateur, suivez ces étapes pour découvrir les produits de données contenant des partages de AWS Data Exchange données et interroger les données Amazon Redshift :**

1. Sur la AWS Data Exchange console, découvrez et abonnez-vous aux produits de données contenant des partages AWS Data Exchange de données.

   Une fois votre abonnement lancé, vous pouvez accéder aux données Amazon Redshift sous licence qui sont importées sous forme d'actifs dans des ensembles de données contenant des partages de données. AWS Data Exchange 

   Pour plus d'informations sur la façon de commencer à utiliser des produits de données contenant des partages de AWS Data Exchange données, voir [Abonnement à des produits de données sur](https://docs.aws.amazon.com/data-exchange/latest/userguide/subscribe-to-data-sets.html). AWS Data Exchange

1. Sur la console Amazon Redshift, créez un cluster Amazon Redshift, si nécessaire.

   Pour plus d’informations sur la création d’un cluster, consultez [Création d’un cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-console.html#create-cluster).

1. Répertorier les unités de partage des données mises à votre disposition et afficher leur contenu. Pour plus d’informations, consultez [DESC DATASHARE](r_DESC_DATASHARE.md) et [SHOW DATASHARES](r_SHOW_DATASHARES.md).

   L’exemple suivant montre comment afficher les informations des unités de partage des données entrants d’un espace de noms producteur spécifié. Lorsque vous exécutez DESC DATASHARE en tant qu’administrateur consommateur, vous devez spécifier l’option ACCOUNT et NAMESPACE pour afficher les unités de partage des données entrantes. 

   ```
   DESC DATASHARE salesshare of ACCOUNT '123456789012' NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   
    producer_account  |          producer_namespace          | share_type | share_name | object_type |           object_name           |   include_new
   -------------------+--------------------------------------+------------+------------+-------------+---------------------------------+------------------
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_users_redshift    |     
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_venue_redshift    |     
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_category_redshift |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_date_redshift     |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_event_redshift    |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_listing_redshift  |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_sales_redshift    |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | schema      | public                          |    
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | view        | public.sales_data_summary_view  |
   ```

   Seuls les super-utilisateurs de cluster peuvent le faire. Vous pouvez également utiliser SVV\$1DATASHARES pour afficher les unités de partage des données et SVV\$1DATASHARE\$1OBJECTS pour afficher les objets dans l’unité de partage des données.

   L'exemple suivant affiche les datashares entrants dans un cluster consommateur.

   ```
   SHOW DATASHARES LIKE 'sales%';
   
   
    share_name | share_owner | source_database | consumer_database | share_type | createdate | is_publicaccessible | share_acl | producer_account |          producer_namespace
   ------------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+--------------------------------------
    salesshare |             |                 |                   | INBOUND    |            |         t           |           |   123456789012   | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
   ```

1. Créez des bases de données locales qui font référence aux unités de partage des données. Vous devez spécifier les options ACCOUNT et NAMESPACE pour créer des bases de données locales pour des unités de partage des données AWS Data Exchange . Pour plus d’informations, consultez [CREATE DATABASE](r_CREATE_DATABASE.md).

   ```
   CREATE DATABASE sales_db FROM DATASHARE salesshare OF ACCOUNT '123456789012' NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   ```

   Si vous souhaitez un contrôle plus précis de l’accès aux objets de la base de données locale, utilisez la clause WITH PERMISSIONS quand vous créez la base de données. Cela vous permet d’accorder des autorisations de niveau objet pour les objets de la base de données à l’étape 6. 

   ```
   CREATE DATABASE sales_db WITH PERMISSIONS FROM DATASHARE salesshare OF ACCOUNT '123456789012' NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   ```

   Vous pouvez voir les bases de données que vous avez créées à partir de l’unité de partage des données en interrogeant la vue [SVV\$1REDSHIFT\$1DATABASES](r_SVV_REDSHIFT_DATABASES.md). Vous pouvez vous connecter à ces base de données directement ou vous connecter à une base de données locale sur votre cluster consommateur et effectuer une requête entre bases de données pour interroger les données des bases de données d’unités de partage des données. Vous ne pouvez pas créer une unité de partage des données au-dessus des objets de base de données créés à partir d’une unité de partage des données existant. Toutefois, vous pouvez copier les données dans une table distincte du cluster consommateur, effectuer le traitement nécessaire, puis partager les nouveaux objets créés.

   Vous pouvez également utiliser la console Amazon Redshift pour créer des bases de données à partir des unités de partage des données. Pour plus d'informations, consultez [Créer des bases de données à partir d’unités de partage des données](query-datashare-console.md#create-database-from-datashare-console).

1. (Facultatif) Créez des schémas externes pour faire référence et attribuer des autorisations détaillées à des schémas spécifiques dans la base de données consommateur importée sur le cluster consommateur. Pour plus d’informations, consultez [CREATE EXTERNAL SCHEMA](r_CREATE_EXTERNAL_SCHEMA.md).

   ```
   CREATE EXTERNAL SCHEMA sales_schema FROM REDSHIFT DATABASE 'sales_db' SCHEMA 'public';
   ```

1. Selon les besoins, accordez aux utilisateurs et rôles du cluster consommateur des autorisations sur les bases de données et références de schéma créées à partir des unités de partage des données. Pour plus d’informations, consultez [GRANT](r_GRANT.md) ou [REVOKE](r_REVOKE.md).

   ```
   GRANT USAGE ON DATABASE sales_db TO Bob;
   ```

   ```
   GRANT USAGE ON SCHEMA sales_schema TO ROLE Analyst_role;
   ```

    Si vous avez créé votre base de données sans la clause WITH PERMISSIONS, vous ne pouvez attribuer des autorisations sur l’ensemble de la base de données créée à partir de l’unité de partage des données qu’à vos utilisateurs et groupes. Dans certains cas, vous avez besoin de contrôles précis sur un sous-ensemble d’objets de base de données créés à partir de l’unité de partage des données. Si tel est le cas, vous pouvez créer une référence de schéma externe tournée vers des schémas spécifiques dans l’unité de partage des données (comme décrit à l’étape précédente) et fournir des autorisations détaillées au niveau du schéma. 

   Vous pouvez également créer des vues à liaison tardive sur les objets partagés et les utiliser pour attribuer des autorisations détaillées. Vous pouvez également envisager que les clusters producteur créent des unités de partage des données supplémentaires pour vous avec la précision requise. Vous pouvez créer autant de références de schéma à la base de données créée à partir de l’unité de partage des données que vous le souhaitez.

   Si vous avez créé votre base de données avec la clause WITH PERMISSIONS à l’étape 4, vous devez attribuer des autorisations de niveau objet dans la base de données partagée. Un utilisateur disposant uniquement de l’autorisation USAGE ne peut accéder à aucun objet d’une base de données créée avec la clause WITH PERMISSIONS tant qu’il n’a pas obtenu d’autorisations de niveau objet supplémentaires.

   ```
   GRANT SELECT ON sales_db.public.tickit_sales_redshift to Bob;
   ```

1. Interroger les données dans les objets partagés dans les unités de partage des données.

   Les utilisateurs et les rôles disposant d’autorisations sur les bases de données consommateur et les schémas sur les clusters consommateur peuvent explorer et naviguer entre les métadonnées de tous les objets partagés. Ils peuvent également explorer et naviguer entre les objets locaux dans un cluster consommateur. Pour ce faire, ils utilisent des pilotes JDBC ou ODBC, les commandes SHOW ou des vues SVV\$1ALL et SVV\$1REDSHIFT.

   Les clusters producteur peuvent avoir de nombreux schémas dans la base de données, les tables et les vues au sein de chaque schéma. Les utilisateurs du côté consommateur ne peuvent voir que le sous-ensemble d’objets mis à disposition via l’unité de partage des données. Ces utilisateurs ne peuvent pas voir l’intégralité des métadonnées du cluster producteur. Cette approche permet de fournir un contrôle détaillé de la sécurité des métadonnées avec le partage des données.

   Vous continuez à vous connecter aux bases de données de cluster locales. Mais maintenant, vous pouvez également lire à partir des bases de données et des schémas qui sont créés à partir de l’unité de partage des données en utilisant la notation database.schema.table en trois parties. Vous pouvez effectuer des requêtes qui s’étendent sur toutes les bases de données qui sont visibles pour vous. Il peut s’agir de bases de données locales sur le cluster ou de bases de données créées à partir des unités de partage des données. Vous pouvez également vous connecter directement à ces bases de données de consommateurs et exécuter des requêtes sur les objets partagés avec une notation partielle.

   Vous pouvez accéder aux données à l’aide d’une qualification complète. Pour plus d'informations, consultez [Exemple de requête entre bases de données](cross-database_example.md).

   ```
   SELECT * FROM sales_db.public.tickit_sales_redshift ORDER BY 1,2 LIMIT 5;
   
    salesid | listid | sellerid | buyerid | eventid | dateid | qtysold | pricepaid | commission |      saletime
   ---------+--------+----------+---------+---------+--------+---------+-----------+------------+---------------------
          1 |      1 |    36861 |   21191 |    7872 |   1875 |       4 |    728.00 |     109.20 | 2008-02-18 02:36:48
          2 |      4 |     8117 |   11498 |    4337 |   1983 |       2 |     76.00 |      11.40 | 2008-06-06 05:00:16
          3 |      5 |     1616 |   17433 |    8647 |   1983 |       2 |    350.00 |      52.50 | 2008-06-06 08:26:17
          4 |      5 |     1616 |   19715 |    8647 |   1986 |       1 |    175.00 |      26.25 | 2008-06-09 08:38:52
          5 |      6 |    47402 |   14115 |    8240 |   2069 |       2 |    154.00 |      23.10 | 2008-08-31 09:17:02
   ```

   Vous ne pouvez utiliser les instructions SELECT que sur les objets partagés. Toutefois, vous pouvez créer des tables dans le cluster consommateur en interrogeant les données des objets partagés dans une base de données locale différente.

   En plus des requêtes, les consommateurs peuvent créer des vues sur des objets partagés. Seules les vues à liaison tardive ou les vues matérialisées sont prises en charge. Amazon Redshift ne prend pas en charge les vues standard sur les données partagées. Les vues créées par les consommateurs peuvent s’étendre sur plusieurs bases de données locales ou bases de données créées à partir d’unités de partage des données. Pour de plus amples informations, veuillez consulter [CREATE VIEW](r_CREATE_VIEW.md).

   ```
   // Connect to a local cluster database
                  
   // Create a view on shared objects and access it. 
   CREATE VIEW sales_data 
   AS SELECT * 
   FROM sales_db.public.tickit_sales_redshift 
   WITH NO SCHEMA BINDING;
   
   SELECT * FROM sales_data;
   ```

# Commencer à utiliser les AWS Lake Formation partages de données gérés
<a name="lf-getting-started"></a>

Avec Amazon Redshift, vous pouvez accéder aux données en temps réel et les partager entre différents AWS comptes et clusters AWS Lake Formation Amazon Redshift via des partages de données gérés. AWS Lake Formation les partages de données permettent aux fournisseurs de données de partager en toute sécurité les données en temps réel de leur lac de données Amazon S3 avec n'importe quel consommateur, y compris les autres AWS comptes et les clusters Amazon Redshift.

# Utilisation d’unités de partage des données gérées par Lake Formation en tant que producteur
<a name="lake-formation-getting-started-producer"></a>

Avec Amazon Redshift, vous pouvez accéder aux données partagées par le biais AWS Lake Formation de partages de données et les analyser. AWS Lake Formation les partages de données permettent un partage sécurisé des données entre les AWS comptes et les clusters Amazon Redshift sans avoir à copier ou à déplacer les données sous-jacentes.

Le partage de données vous AWS Lake Formation permet de définir de manière centralisée AWS Lake Formation les autorisations des partages de données Amazon Redshift et de restreindre l'accès des utilisateurs aux objets d'un partage de données.

Avec Amazon Redshift, vous pouvez partager en toute sécurité des données en temps réel entre des AWS comptes et des clusters Amazon Redshift en AWS Lake Formation utilisant des partages de données gérés en tant que producteur. Une unité de partage des données géré par Lake Formation est un objet qui vous permet de partager des données en direct depuis votre cluster Amazon Redshift avec d’autres comptes et services AWS .

En tant qu’administrateur de cluster producteur ou de groupe de travail, procédez comme suit pour partager des unités de partage des données avec Lake Formation :

1. Créez des partages de données dans votre cluster et autorisez l'accès AWS Lake Formation aux partages de données.

   Seuls les super-utilisateurs de cluster et les propriétaires de base de données peuvent créer des unités de partage des données. Chaque datashare est associé à une base de données lors de sa création. 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 que vous pouvez créer sur un cluster.

   ```
   CREATE DATASHARE salesshare;
   ```

1. Ajoutez des objets à l’unité de partage des données. L’administrateur du cluster producteur ou du groupe de travail continue de gérer les objets de l’unité de partage des données disponibles. Pour ajouter des objets à une unité de partage des données, ajoutez le schéma avant d’ajouter des objets. Lorsque vous ajoutez un schéma, Amazon Redshift n’ajoute pas tous les objets qu’il contient. Vous devez les ajouter explicitement. Pour plus d’informations, consultez [ALTER DATASHARE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_DATASHARE.html). 

   ```
   ALTER DATASHARE salesshare ADD SCHEMA PUBLIC;
   ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;
   ALTER DATASHARE salesshare ADD ALL TABLES IN SCHEMA PUBLIC;
   ```

   Vous pouvez également ajouter des vues à une unité de partage des données. Seules les vues standard, à liaison tardive et matérialisées sont prises en charge.

   ```
   CREATE VIEW public.sales_data_summary_view AS SELECT * FROM public.tickit_sales_redshift;
   ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;
   ```

   Utilisez ALTER DATASHARE pour partager des schémas, des tables et des vues dans un schéma donné. Les super-utilisateurs, les propriétaires d’unité de partage des données ou les utilisateurs disposant des autorisations ALTER ou ALL sur l’unité de partage des données peuvent modifier l’unité de partage des données pour y ajouter des objets ou en supprimer. Les utilisateurs de la base de données doivent également être les propriétaires des objets ou disposer des autorisations SELECT, USAGE ou ALL sur les objets. 

   Utilisez la clause INCLUDENEW pour ajouter de nouvelles tables et des vues créées dans un schéma spécifié à l’unité de partage des données. Seuls les super-utilisateurs peuvent modifier cette propriété pour chaque paire datashare-schéma.

   ```
   ALTER DATASHARE salesshare ADD SCHEMA PUBLIC;
   ALTER DATASHARE salesshare SET INCLUDENEW = TRUE FOR SCHEMA PUBLIC;
   ```

1. Autorisez l’unité de partage des données à accéder à un compte administrateur Lake Formation.

   ```
   GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '012345678910' VIA DATA CATALOG;
   ```

   Pour annuler l’utilisation, utilisez la commande suivante.

   ```
   REVOKE USAGE ON DATASHARE salesshare FROM ACCOUNT '012345678910' VIA DATA CATALOG;
   ```

1. Autorisez l’unité de partage des données à accéder à Lake Formation à l’aide de l’opération d’API `aws redshift authorize-data-share`. Cela permet à Lake Formation de reconnaître l’unité de partage des données dans le compte de service et de gérer l’association des consommateurs à l’unité de partage des données.

   ```
   aws redshift authorize-data-share 
   --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare 
   --consumer-identifier {"DataCatalog/<consumer-account-id>"}
   ```

    Pour supprimer l’autorisation des unités de partage des données gérés par Lake Formation, utilisez l’opération d’API `aws redshift deauthorize-data-share`. Ce faisant, vous autorisez AWS Lake Formation à reconnaître le partage de données dans le compte de service et à supprimer l'autorisation. 

   ```
   aws redshift deauthorize-data-share 
   --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare 
   --consumer-identifier {"DataCatalog/<consumer-account-id>"}
   ```

    À tout moment, si l’administrateur du cluster producteur ou du groupe de travail décide qu’il n’est plus nécessaire de partager des données avec le cluster consommateur ou le groupe de travail, il peut utiliser DROP DATASHARE pour supprimer l’unité de partage des données, annuler les autorisations de l’unité de partage des données ou révoquer les autorisations de l’unité de partage des données. Les autorisations et les objets associés dans Lake Formation ne sont pas automatiquement supprimés. 

   ```
   DROP DATASHARE salesshare;
   ```

    Après avoir autorisé le compte Lake Formation à gérer le partage de données, l'administrateur de Lake Formation peut découvrir le partage de données partagé, associer le partage de données à un ARN du catalogue de données et créer une base de données dans le lien vers le partage de données. AWS Glue Data Catalog Pour associer des partages de données à l'aide de AWS CLI, utilisez la commande. [ associate-data-share-consumer](https://docs.aws.amazon.com/cli/latest/reference/redshift/associate-data-share-consumer.html) Pour partager une unité de partage des données entre des Régions AWS, spécifiez le paramètre `--region` dans la commande `associate-data-share-consumer` ou utilisez la console AWS pour choisir vos consommateurs de données. L’exemple suivant montre comment partager une unité de partage des données gérée par Lake Formation entre des régions. 

   ```
   aws redshift associate-data-share-consumer --region <region-1>
   --data-share-arn 'arn:aws:redshift:us-east-1:12345678912:datashare:035c45ea-61ce-86f0-8b75-19ac6102c3b7/sample_share' 
   --consumer-arn 'arn:aws:glue:<region-1>:111912345678:catalog'
   ```

   L’administrateur Lake Formation doit également créer des ressources locales qui définissent la manière dont les objets de l’unité de partage des données doivent être mappés aux objets Lake Formation. Pour plus d’informations sur la découverte des unités de partage des données et la création de ressources locales, consultez [Gestion des autorisations pour les données dans une unité de partage des données Amazon Redshift](https://docs.aws.amazon.com/lake-formation/latest/dg/data-sharing-redshift.html). 

# Utilisation d’unités de partage des données gérées par Lake Formation en tant que consommateur
<a name="lake-formation-getting-started-consumer"></a>

Avec Amazon Redshift, vous pouvez accéder aux données partagées avec vous par le biais d’unités de partage des données AWS Lake Formation et les analyser. Une unité de partage des données est un produit de données qui contient un ensemble d’objets de données, tels que des tables ou des bases de données, provenant de différentes sources de données. 

 Une fois AWS Glue Data Catalog que l' AWS Lake Formation administrateur a découvert l'invitation de partage de données et y a créé une base de données liée au partage de données, l'administrateur du cluster de consommateurs ou de groupe de travail peut associer le cluster au partage de données et à la base de données du AWS Glue Data Catalog, créer une base de données locale pour le cluster de consommateurs ou le groupe de travail Amazon Redshift et accorder l'accès aux utilisateurs et aux rôles du cluster de consommateurs ou du groupe de travail Amazon Redshift pour commencer à interroger. Suivez ces étapes pour configurer les autorisations d’interrogation. 

1. Dans la console Amazon Redshift, créez un cluster Amazon Redshift qui fera office de cluster consommateur de groupe de travail, le cas échéant. Pour plus d’informations sur la création d’un cluster, consultez [Création d’un cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-console.html#create-cluster).

1. Pour répertorier les bases de données du cluster AWS Glue Data Catalog consommateur ou du groupe de travail auxquelles les utilisateurs ont accès, exécutez la commande [SHOW DATABASES](https://docs.aws.amazon.com/redshift/latest/dg/r_SHOW_DATABASES.html).

   ```
   SHOW DATABASES FROM DATA CATALOG [ACCOUNT <account-id>,<account-id2>] [LIKE <expression>]
   ```

   Cela permet de répertorier les ressources disponibles dans le catalogue de données, telles que l'ARN de la AWS Glue base de données, le nom de la base de données et les informations sur le partage de données.

1. À l'aide de l'ARN de la AWS Glue base de données de SHOW DATABASES, créez une base de données locale dans le cluster de consommateurs ou le groupe de travail. Pour plus d’informations, consultez [CREATE DATABASE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_DATABASE.html).

   ```
   CREATE DATABASE lf_db FROM ARN <lake-formation-database-ARN> WITH [NO] DATA CATALOG SCHEMA [<schema>];
   ```

1. Accordez l’accès aux bases de données et aux références de schéma créées à partir des unités de partage des données aux utilisateurs et rôles du cluster consommateur ou du groupe de travail selon les besoins. Pour plus d’informations, consultez [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) ou [REVOKE](https://docs.aws.amazon.com//redshift/latest/dg/r_REVOKE.html). Notez que les utilisateurs créés à l’aide de la commande [CREATE USER](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) ne peuvent pas accéder aux objets de l’unité de partage des données qui ont été partagés avec Lake Formation. Seuls les utilisateurs ayant accès à la fois à Redshift et à Lake Formation peuvent accéder aux unités de partage des données qui ont été partagées avec Lake Formation. 

   ```
   GRANT USAGE ON DATABASE sales_db TO IAM:Bob;
   ```

    En tant qu’administrateur de cluster consommateur ou de groupe de travail, vous ne pouvez attribuer des autorisations sur l’ensemble de la base de données créée à partir de l’unité de partage des données qu’à vos utilisateurs et groupes. Dans certains cas, vous avez besoin de contrôles précis sur un sous-ensemble d’objets de base de données créés à partir de l’unité de partage des données. 

    Vous pouvez également créer des vues à liaison tardive sur les objets partagés et les utiliser pour attribuer des autorisations détaillées. Vous pouvez également envisager que les clusters producteur ou les groupes de travails créent des unité de partage des données supplémentaires pour vous avec la précision requise. Vous pouvez créer autant de références de schéma à la base de données créée à partir de l’unité de partage des données. 

1. Les utilisateurs de base de données peuvent utiliser les vues SVV\$1EXTERNAL\$1TABLES et SVV\$1EXTERNAL\$1COLUMNS pour rechercher toutes les tables ou colonnes partagées dans la base de données AWS Glue .

   ```
   SELECT * from svv_external_tables WHERE redshift_database_name = 'lf_db';
                           
   SELECT * from svv_external_columns WHERE redshift_database_name = 'lf_db';
   ```

1. Interroger les données dans les objets partagés dans les unités de partage des données.

   Les utilisateurs et les rôles disposant d’autorisations sur les bases de données consommateur et les schémas sur les clusters consommateur peuvent explorer et naviguer entre les métadonnées de tous les objets partagés. Ils peuvent également explorer les objets locaux dans un cluster consommateur ou un groupe de travail. Pour ce faire, ils peuvent utiliser les pilotes JDBC ou ODBC ou les vues SVV\$1ALL et SVV\$1EXTERNAL.

   ```
   SELECT * FROM lf_db.schema.table;
   ```

   Vous ne pouvez utiliser les instructions SELECT que sur les objets partagés. Toutefois, vous pouvez créer des tables dans le cluster consommateur en interrogeant les données des objets partagés dans une base de données locale différente.

   ```
   // Connect to a local cluster database
               
   // Create a view on shared objects and access it.
   
   CREATE VIEW sales_data 
   AS SELECT * 
   FROM sales_db.public.tickit_sales_redshift 
   WITH NO SCHEMA BINDING;
   
   SELECT * FROM sales_data;
   ```