

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.

# Gestion des autorisations pour les données dans un partage de données Amazon Redshift
<a name="data-sharing-redshift"></a>

Avec AWS Lake Formation, vous pouvez gérer les données en toute sécurité dans un partage de données d'Amazon Redshift. Amazon Redshift est un service d'entrepôt de données entièrement géré de plusieurs pétaoctets dans le cloud. AWS Grâce à la fonctionnalité de partage de données, Amazon Redshift vous permet de partager des données entre différentes entités. Comptes AWS Pour plus d'informations sur le partage de données Amazon Redshift, consultez [Présentation du partage de données dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/data_sharing_intro.html). 

Dans Amazon Redshift, l'administrateur du cluster de producteurs crée un partage de données et le partage avec l'administrateur du lac de données. Pour step-by-step obtenir des instructions sur la création d'un administrateur de lac de données, consultez[Création d'un administrateur de lac de données](initial-lf-config.md#create-data-lake-admin). 

Une fois que vous (administrateur du lac de données) avez accepté le partage de données, vous devez créer une AWS Glue Data Catalog base de données pour le partage de données spécifique. Cela vous permet de contrôler l'accès à celui-ci à l'aide des autorisations de Lake Formation. Lake Formation fait correspondre chaque partage de données à une base de données du catalogue de données correspondante. Elles apparaissent sous forme de bases de données fédérées dans le catalogue de données. 

Une base de données est qualifiée de *base de données fédérée* lorsqu'elle pointe vers une entité extérieure au catalogue de données. Les tables et les vues du partage de données Amazon Redshift sont répertoriées sous forme de tables individuelles dans le catalogue de données. Vous pouvez partager la base de données fédérée avec des principaux IAM et des utilisateurs SAML sélectionnés au sein du même compte ou d'un autre compte avec Lake Formation. Vous pouvez également inclure des expressions de filtre de ligne et de colonne pour restreindre l'accès à certaines données. Pour de plus amples informations, veuillez consulter [Filtrage des données et sécurité au niveau des cellules dans Lake Formation](data-filtering.md). 

 Pour permettre aux utilisateurs d'accéder à un partage de données Amazon Redshift, vous devez effectuer les opérations suivantes :

1. Mettez à jour **les paramètres du catalogue de données** pour activer les autorisations de Lake Formation. 

1. Acceptez l'invitation de partage de données envoyée par l'administrateur du cluster de producteurs Amazon Redshift et enregistrez le partage de données dans Lake Formation.

   Une fois cette étape terminée, vous pouvez gérer le partage de données dans le Lake Formation Data Catalog. 

1. Créez une base de données fédérée et définissez les autorisations sur cette base de données. 

1. Accordez des autorisations aux utilisateurs sur les bases de données et les tables. Vous pouvez partager l'intégralité de la base de données ou un sous-ensemble de tables avec des utilisateurs du même compte ou d'un autre compte. 

Pour connaître les limitations, veuillez consulter [Limites du partage de données Amazon Redshift](notes-rs-datashare.md).

**Topics**
+ [Conditions préalables à la configuration des autorisations sur les partages de données Amazon Redshift](redshift-ds-prereqs.md)
+ [Configuration des autorisations pour les partages de données Amazon Redshift](setup-ds-perms.md)
+ [Interrogation de bases de données fédérées](qerying-fed-db.md)

# Conditions préalables à la configuration des autorisations sur les partages de données Amazon Redshift
<a name="redshift-ds-prereqs"></a>

**Mettre à jour les paramètres par défaut du catalogue de données**  
Pour activer les autorisations Lake Formation pour les ressources du catalogue de données, nous vous recommandons de désactiver les **paramètres par défaut du catalogue de données** dans Lake Formation. Pour de plus amples informations, veuillez consulter [Modifier le modèle d'autorisation par défaut ou utiliser le mode d'accès hybride](initial-lf-config.md#setup-change-cat-settings).

**Mettre à jour les autorisations**  
 Outre les autorisations d'administrateur du lac de données (`AWSLakeFormationDataAdmin`), les autorisations suivantes sont également requises pour accepter un partage de données Amazon Redshift dans Lake Formation :
+ `glue:PassConnection on aws:redshift`
+ `redshift:AssociateDataShareConsumer`
+ `redshift:DescribeDataSharesForConsumer`
+ `redshift:DescribeDataShares`

L'utilisateur IAM administrateur du lac de données dispose implicitement des autorisations suivantes.
+ accès\$1location\$1aux données
+ créer\$1une base de données 
+ Formation lacustre : Enregistrer une ressource

# Configuration des autorisations pour les partages de données Amazon Redshift
<a name="setup-ds-perms"></a>

 Cette rubrique décrit les étapes à suivre pour accepter une invitation de partage de données, créer une base de données fédérée et accorder des autorisations. Vous pouvez utiliser la console Lake Formation ou le AWS Command Line Interface (AWS CLI). Les exemples présentés dans cette rubrique montrent le cluster de producteurs, le catalogue de données et le consommateur de données dans le même compte.

Pour en savoir plus sur les fonctionnalités multicomptes de Lake Formation, voir[Partage de données entre comptes dans Lake Formation](cross-account-permissions.md).

**Pour configurer des autorisations pour un partage de données**

1. Passez en revue une invitation de partage de données et acceptez-la.

------
#### [ Console ]

   1.  Connectez-vous à la console Lake Formation en tant qu'administrateur de lac de données à l'adresse [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Accédez à la page **Partage de données**. 

   1. Vérifiez les partages de données auxquels vous êtes autorisé à accéder. La colonne **État** indique votre statut de participation actuel au partage de données. Le statut **En attente** indique que vous avez été ajouté à un partage de données, mais que vous ne l'avez pas encore accepté ou que vous avez rejeté l'invitation. 

   1.  **Pour répondre à une invitation de partage de données, sélectionnez le nom du partage de données et choisissez Vérifier l'invitation.** Dans **Accepter ou rejeter le partage de données, passez en revue les** détails de l'invitation. Choisissez **Accepter** pour accepter l'invitation ou **Refuser** pour refuser l'invitation. Vous n'avez pas accès au partage de données si vous rejetez l'invitation.

------
#### [ AWS CLI ]

   Les exemples suivants montrent comment afficher, accepter et enregistrer l'invitation. Remplacez l' Compte AWS identifiant par un Compte AWS identifiant valide. Remplacez le `data-share-arn` par le véritable Amazon Resource Name (ARN) qui fait référence au partage de données.

   1. Afficher une invitation en attente.

      ```
      aws redshift describe-data-shares \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
      ```

   1. Acceptez un partage de données.

      ```
       aws redshift associate-data-share-consumer \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
       --consumer-arn 'arn:aws:glue:us-east-1:111122223333:catalog
      ```

   1. Enregistrez le partage de données dans le compte Lake Formation. Utilisez l'opération [RegisterResource](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_RegisterResource.html)API pour enregistrer le partage de données dans Lake Formation. `DataShareArn`est le paramètre d'entrée pour`ResourceArn`.
**Note**  
Il s'agit d'une étape obligatoire.

      ```
      aws lakeformation register-resource \
       --resource-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds'
      ```

------

1. Créez une base de données.

    Après avoir accepté une invitation de partage de données, vous devez créer une base de données qui pointe vers la base de données Amazon Redshift associée au partage de données. Vous devez être administrateur de data lake pour créer une base de données. 

------
#### [ Console ]

   1.  Sélectionnez le partage de données dans le volet **Invitations** et choisissez **Définir les détails de la base de données**. 

   1.  Dans **Définir les détails de la base** de données, entrez un nom et un identifiant uniques pour le partage de données. Vous utilisez cet identifiant pour mapper le partage de données en interne dans la hiérarchie des métadonnées (DBName.Schema.Table). 

   1.  Choisissez **Next** pour accorder des autorisations à d'autres utilisateurs sur la base de données et les tables partagées. 

------
#### [ AWS CLI ]

    Utilisez l'exemple de code suivant pour créer une base de données qui pointe vers la base de données Amazon Redshift partagée avec Lake Formation à l'aide du. AWS CLI

   ```
   aws glue create-database --cli-input-json \
   
   '{
    "CatalogId": "111122223333",
    "DatabaseInput": {
     "Name": "tahoedb",
     "FederatedDatabase": {
          "Identifier": "arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds",
          "ConnectionName": "aws:redshift"
      }
    }
    }'
   ```

------

1. Octroyez les autorisations.

    Après avoir créé la base de données, vous pouvez accorder des autorisations aux utilisateurs de votre compte ou à Comptes AWS des organisations externes. Vous ne pourrez pas accorder d'autorisations d'écriture (insertion, suppression) et de métadonnées (modification, suppression, création) sur la base de données fédérée mappée à un partage de données Amazon Redshift. Pour plus d'informations sur l'octroi d'autorisations, consultez[Gestion des autorisations relatives à Lake Formation](managing-permissions.md).
**Note**  
En tant qu'administrateur de data lake, vous pouvez uniquement consulter les tables des bases de données fédérées. Pour effectuer toute autre action, vous devez vous accorder davantage d'autorisations sur ces tables.

------
#### [ Console ]

   1. Sur l'écran **Accorder des autorisations**, sélectionnez les utilisateurs auxquels vous souhaitez accorder des autorisations.

   1. Choisissez **Accorder**. 

------
#### [ AWS CLI ]

   Utilisez les exemples suivants pour accorder des autorisations de base de données et de table à l'aide de AWS CLI :

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
      "Principal": {
              "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
      },
      "Resource": {
             "Database": {
                   "CatalogId": "111122223333",
                    "Name": "tahoedb"
              }
       },
       "Permissions": [
                "DESCRIBE"
        ],
       "PermissionsWithGrantOption": [
                            
        ]
    }
   ```

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
                      "Principal": {
                             "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
                      },
                     "Resource": {
                            "Table": {
                                 "CatalogId": "111122223333",
                                 "DatabaseName": "tahoedb",
                                 "Name": "public.customer"
                          }
                     },
                    "Permissions": [
                           "SELECT"
                     ],
                    "PermissionsWithGrantOption": [
                            "SELECT"
                      ]
    }
   ```

------

# Interrogation de bases de données fédérées
<a name="qerying-fed-db"></a>

 Après avoir accordé les autorisations, les utilisateurs peuvent se connecter et commencer à interroger la base de données fédérée à l'aide d'Amazon Redshift. Les utilisateurs peuvent désormais utiliser le nom de la base de données locale pour faire référence au partage de données Amazon Redshift dans les requêtes SQL. Dans Amazon Redshift, la table client du schéma public partagé via le partage de données sera associée à une table correspondante créée comme `public.customer` dans le catalogue de données.

1. Avant d'interroger la base de données fédérée à l'aide d'Amazon Redshift, l'administrateur du cluster crée une base de données à partir de la base de données du catalogue de données à l'aide de la commande suivante : 

   ```
   CREATE DATABASE sharedcustomerdb FROM ARN 'arn:aws:glue:<region>:111122223333:database/tahoedb' WITH DATA CATALOG SCHEMA tahoedb
   ```

1.  L'administrateur du cluster accorde des autorisations d'utilisation sur la base de données.

   ```
   GRANT USAGE ON DATABASE sharedcustomerdb TO IAM:user;
   ```

1.  Vous (l'utilisateur fédéré) pouvez désormais vous connecter aux outils SQL pour interroger la table. 

   ```
   Select * from sharedcustomerdb.public.customer limit 10;
   ```

 Pour plus d'informations, consultez la section [Requête AWS Glue Data Catalog dans](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-glue.html) le guide de gestion Amazon Redshift. 