Utilisation de la sécurité au niveau des lignes avec des règles basées sur l'utilisateur pour restreindre l'accès à un ensemble de données - Amazon QuickSight

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de la sécurité au niveau des lignes avec des règles basées sur l'utilisateur pour restreindre l'accès à un ensemble de données

 S'applique à : édition Enterprise 

Dans l'édition Enterprise d'Amazon QuickSight, vous pouvez restreindre l'accès à un ensemble de données en configurant la sécurité au niveau des lignes (RLS) sur celui-ci. Vous pouvez le faire avant ou après que vous ayez partagé le jeu de données. Lorsque vous partagez un jeu de données RLS avec des propriétaires de jeux de données, ils peuvent toujours voir toutes les données. Cependant, lorsque vous le partagez avec les lecteurs, ils ne peuvent voir que les données restreintes par les règles du jeu de données d'autorisations. En ajoutant la sécurité au niveau des lignes, vous pouvez mieux contrôler leur accès.

Note

Lorsque vous appliquez SPICE des ensembles de données à la sécurité au niveau des lignes, chaque champ du jeu de données peut contenir jusqu'à 2 047 caractères Unicode. Les champs qui contiennent plus que ce quota sont tronqués lors de l'ingestion. Pour en savoir plus sur SPICE les quotas de données, consultezSPICE quotas pour les données importées.

Pour ce faire, créez une requête ou un fichier contenant une colonne intitulée UserName, GroupName ou les deux. Ou vous pouvez créer une requête ou un fichier contenant une colonne intitulée UserARN, GroupARN ou les deux. Vous pouvez considérer que cela revient à ajouter une règle pour cet utilisateur ou ce groupe. Ensuite, vous pouvez ajouter une colonne à la requête ou au fichier pour chaque champ dont vous souhaitez autoriser ou restreindre l'accès. Pour chaque nom d'utilisateur ou de groupe ajouté, ajoutez les valeurs pour chaque champ. Vous pouvez utiliser NULL (aucune valeur) pour désigner toutes les valeurs. Pour voir des exemples de règles de jeu de données, reportez-vous à la section Création de règles de jeux de données pour la sécurité au niveau des lignes.

Ajoutez les règles en tant que jeu de données d'autorisations pour appliquer les règles de jeu de données à votre jeu de données. Gardez les points suivants à l’esprit :

  • Le jeu de données d'autorisations ne peut pas contenir de valeurs en double. Les doublons sont ignorés lors de l'évaluation de l'application des règles.

  • Chaque utilisateur ou groupe spécifié peut voir uniquement les lignes qui correspondent aux valeurs de champ indiquées dans les règles du jeu de données.

  • Si vous ajoutez une règle pour un utilisateur ou un groupe et que vous laissez toutes les autres colonnes sans valeur (NULL), vous leur accordez l'accès à toutes les données.

  • Si vous n'ajoutez pas de règle pour un utilisateur ou un groupe, cet utilisateur ou groupe ne peut voir aucune donnée.

  • L'ensemble complet d'enregistrements de règle appliqués par utilisateur ne doit pas dépasser 999. Cette limite s'applique au nombre total de règles qui sont directement affectées à un nom d'utilisateur, ainsi qu'aux règles qui lui sont attribuées par le biais de noms de groupe.

  • Si un champ contient une virgule (,), Amazon QuickSight traite chaque mot séparé d'un autre par une virgule comme une valeur individuelle dans le filtre. Par exemple, in ('AWS', 'INC'), AWS,INC est considéré comme deux chaînes : AWS et INC. Pour filtrer avec AWS,INC, placez la chaîne entre guillemets doubles dans le jeu de données d'autorisations.

    Si l'ensemble de données restreint est un SPICE jeu de données, le nombre de valeurs de filtre appliquées par utilisateur ne peut pas dépasser 192 000 pour chaque champ restreint. Cette limite s'applique au nombre total de valeurs de filtre qui sont directement affectées à un nom d'utilisateur, ainsi qu'aux valeurs de filtre qui lui sont attribuées par le biais de noms de groupe.

    Si le jeu de données restreint est un jeu de données à requête directe, le nombre de valeurs de filtre appliquées par utilisateur varie en fonction des sources de données.

    Le dépassement de la limite de valeur de filtre peut entraîner un échec de la représentation visuelle. Nous vous recommandons d'ajouter une colonne supplémentaire à votre jeu de données restreint pour diviser les lignes en groupes en fonction de la colonne restreinte d'origine afin de raccourcir la liste de filtres.

Amazon QuickSight traite les espaces comme des valeurs littérales. Si un champ dont vous souhaitez limiter l'accès comprend un espace, la règle du jeu de données s'applique à ces lignes. Amazon QuickSight considère les deux NULLs et les espaces vides (chaînes vides « ») comme « sans valeur ». A NULL est une valeur de champ vide.

Vous pouvez configurer une requête directe pour accéder à un tableau d'autorisations en fonction de la source de données de votre jeu de données. Les termes contenant des espaces à l'intérieur ne doivent pas être délimités par des guillemets. Si vous utilisez une requête directe, vous pouvez facilement modifier cette requête dans la source de données d'origine.

Vous pouvez charger des règles de jeu de données à partir d'un fichier texte ou d'une feuille de calcul. Si vous utilisez un fichier de valeurs (CSV) séparées par des virgules, n'incluez aucun espace sur la ligne indiquée. Les termes contenant des espaces à l'intérieur doivent être délimités par des guillemets. Si vous utilisez des règles de jeu de données basées sur des fichiers, appliquez les modifications en remplaçant les règles existantes dans les paramètres d'autorisation du jeu de données.

Les ensembles de données restreints sont marqués d'un mot sur l'écran RESTRICTEDEnsembles de données.

Les ensembles de données enfants créés à partir d'un jeu de données parent dont RLS les règles sont actives conservent les mêmes RLS règles que celles du jeu de données parent. Vous pouvez ajouter des RLS règles supplémentaires à l'ensemble de données enfant, mais vous ne pouvez pas supprimer les RLS règles que l'ensemble de données hérite de l'ensemble de données parent.

Les ensembles de données enfants créés à partir d'un jeu de données parent dont RLS les règles sont actives ne peuvent être créés qu'avec Direct Query. Les ensembles de données enfants qui héritent des RLS règles du jeu de données parent ne sont pas pris en charge dans. SPICE

La sécurité au niveau des lignes fonctionne uniquement pour les champs contenant des données textuelles (chaîne, char, varchar, etc.). Actuellement, ce type de sécurité ne fonctionne pas pour les champs de date ou numériques. La détection des anomalies n'est pas prise en charge pour les ensembles de données qui utilisent la sécurité au niveau des lignes (). RLS

Création de règles de jeux de données pour la sécurité au niveau des lignes

Utilisez la procédure suivante pour créer un fichier d'autorisations ou une requête à utiliser en tant que règles de jeux de données.

Pour créer des fichiers d'autorisations ou des requêtes à utiliser en tant que règles de jeux de données
  1. Créez un fichier ou une requête qui contient les règles du jeu de données (autorisations) pour la sécurité au niveau des lignes (RLS).

    Peu importe dans quel ordre se trouvent les champs. Cependant, tous les champs sont sensibles à la casse. Assurez-vous qu'ils correspondent exactement aux noms et valeurs de champs.

    La structure doit ressembler à l'une des structures suivantes. Assurez-vous qu'au moins l'un de vos champs identifie des utilisateurs ou des groupes. Vous pouvez inclure les deux, mais un seul est requis et un seul est utilisé à la fois. Vous pouvez attribuer le nom de votre choix au champ que vous utilisez pour les utilisateurs ou les groupes.

    Note

    Si vous spécifiez des groupes, utilisez uniquement QuickSight des groupes Amazon ou des groupes Microsoft AD.

    L'exemple suivant illustre un tableau avec des groupes.

    GroupName Région Segment
    EMEA-Ventes EMEA EntrepriseSMB, Startup
    US-Sales ETATS-UNIS Enterprise
    US-Sales ETATS-UNIS SMB, Démarrage
    US-Sales ETATS-UNIS Startup
    APAC-Ventes APAC Entreprise, SMB
    Corporate-Reporting
    APAC-Ventes APAC Enterprise, Startup

    L'exemple suivant illustre un tableau contenant des noms d'utilisateur.

    UserName Région Segment
    AlejandroRosalez EMEA EntrepriseSMB, Startup
    MarthaRivera ETATS-UNIS Enterprise
    NikhilJayashankar ETATS-UNIS SMB, Démarrage
    PauloSantos ETATS-UNIS Startup
    SaanviSarkar APAC Entreprise, SMB
    sales-tps@example.com
    ZhangWei APAC Enterprise, Startup

    L'exemple suivant montre un tableau avec les noms des utilisateurs et des groupes Amazon Resource Names (ARNs).

    Utilisateur ARN Groupe ARN Région
    arn:aws:quicksight:us-east-1:123456789012:user/default/Bob arn:aws:quicksight:us-east-1:123456789012:group/default/group-1 APAC
    arn:aws:quicksight:us-east-1:123456789012:user/default/Sam arn:aws:quicksight:us-east-1:123456789012:group/default/group-2 ETATS-UNIS

    Si vous utilisez un fichier .csv, la structure doit être similaire à l'une des structures suivantes.

    UserName,Region,Segment AlejandroRosalez,EMEA,"Enterprise,SMB,Startup" MarthaRivera,US,Enterprise NikhilJayashankars,US,SMB PauloSantos,US,Startup SaanviSarkar,APAC,"SMB,Startup" sales-tps@example.com,"","" ZhangWei,APAC-Sales,"Enterprise,Startup"
    GroupName,Region,Segment EMEA-Sales,EMEA,"Enterprise,SMB,Startup" US-Sales,US,Enterprise US-Sales,US,SMB US-Sales,US,Startup APAC-Sales,APAC,"SMB,Startup" Corporate-Reporting,"","" APAC-Sales,APAC,"Enterprise,Startup"
    UserARN,GroupARN,Region arn:aws:quicksight:us-east-1:123456789012:user/Bob,arn:aws:quicksight:us-east-1:123456789012:group/group-1,APAC arn:aws:quicksight:us-east-1:123456789012:user/Sam,arn:aws:quicksight:us-east-1:123456789012:group/group-2,US

    Voici un SQL exemple.

    /* for users*/ select User as UserName, Region, Segment from tps-permissions; /* for groups*/ select Group as GroupName, Region, Segment from tps-permissions;
  2. Créez un jeu de données pour les règles du jeu de données. Pour vous assurer que vous pouvez facilement le trouver, donnez-lui un nom significatif : par exemple, Permissions-Sales-Pipeline.

Création de la sécurité au niveau des lignes

Utilisez la procédure suivante pour appliquer la sécurité au niveau des lignes (RLS) en utilisant un fichier ou une requête en tant que jeu de données contenant les règles relatives aux autorisations.

Pour appliquer la sécurité au niveau des lignes à l'aide d'un fichier ou d'une requête
  1. Confirmez l'ajout de vos règles en tant que nouveau jeu de données. Si vous les avez ajoutées, mais qu'elles n'apparaissent pas dans la liste des jeux de données, actualisez l'écran.

  2. Sur la page Jeux de données, choisissez le jeu de données.

  3. Sur la page des détails du jeu de données qui s'ouvre, dans Sécurité au niveau des lignes, sélectionnez Configurer.

    Configurez la sécurité au niveau des lignes.
  4. Sur la page Configurer la sécurité au niveau des lignes qui s'ouvre, sélectionnez Règles basées sur les utilisateurs.

  5. Choisissez votre jeu de données d'autorisations depuis la liste des jeux de données.

    Si votre jeu de données d'autorisations n'apparaît pas sur cet écran, retournez à vos jeux de données et actualisez la page.

  6. Dans Politique d'autorisations, choisissez Accorder l'accès au jeu de données. Chaque jeu de données ne dispose que d'un jeu de données d'autorisations actives. Si vous essayez d'ajouter un second jeu de données d'autorisations, celui-ci remplacera l'ensemble existant.

    Important

    Certaines restrictions s'appliquent aux valeurs NULL de chaîne vides lorsque vous utilisez la sécurité au niveau des lignes :

    • Si votre ensemble de données contient NULL des valeurs ou des chaînes vides (« ») dans les champs restreints, ces lignes sont ignorées lorsque les restrictions sont appliquées.

    • Dans le jeu de données d'autorisations, NULL les valeurs et les chaînes vides sont traitées de la même manière. Pour plus d'informations, consultez le tableau suivant.

    • Pour éviter d'exposer accidentellement des informations sensibles, Amazon QuickSight ignore les RLS règles vides qui accordent l'accès à tout le monde. Une RLSrègle vide apparaît lorsque toutes les colonnes d'une ligne n'ont aucune valeur. QuickSight RLStraite NULL les chaînes vides (« ») ou les chaînes vides séparées par des virgules (par exemple «,,, ») comme des valeurs nulles.

      • Après avoir ignoré les règles vides, les autres règles non vides s'RLSappliquent toujours.

      • Si un jeu de données d'autorisations ne comporte que des règles vides et qu'elles ont toutes été ignorées, personne n'aura accès aux données restreintes par ce jeu de données d'autorisations.

    Règles pour UserName GroupName, région, segment Accès accordé
    AlejandroRosalez, EMEA -Sales, « EntrepriseEMEA, Startup SMB » Permet de voir toutes les EMEA SMB entreprises et les start-ups
    sales-tps@example.com,Corporate-Reporting,"","" Voit toutes les lignes
    L'utilisateur ou le groupe n'a aucune entrée Ne voit pas de lignes
    “”,“”,“”,“” Ignoré ; aucune ligne ne s'affiche si toutes les autres règles sont vides.
    NULL,“”,“”,NULL Ignoré ; aucune ligne ne s'affiche si toutes les autres règles sont vides.

    Toutes les personnes avec qui vous avez partagé votre tableau de bord peuvent consulter toutes les données qu'il contient, sauf si le jeu de données est limité par des règles de jeu de données.

  7. Sélectionnez Appliquer le jeu de données pour enregistrer vos modifications. Ensuite, sur la page Enregistrer les règles du jeu de données ? page, sélectionnez Appliquer et activer. Les modifications d'autorisations s'appliquent immédiatement aux utilisateurs existants.

  8. (Facultatif) Pour supprimer des autorisations, vous devez d'abord supprimer les règles du jeu de données dans le jeu de données.

    Assurez-vous que les règles du jeu de données soient supprimées. Choisissez ensuite le jeu de données d'autorisations, puis sélectionnez Supprimer le jeu de données.

    Pour écraser des autorisations, sélectionnez un nouveau jeu de données et appliquez-le. Vous pouvez réutiliser le même nom de jeu de données. Toutefois, assurez-vous d'appliquer les nouvelles autorisations dans l'écran Autorisations pour les activer. SQLles requêtes sont mises à jour de manière dynamique, afin qu'elles puissent être gérées en dehors d'Amazon QuickSight. Pour les requêtes, les autorisations sont mises à jour lorsque le cache de requête directe est automatiquement actualisé.

Si vous supprimez un jeu de données d'autorisations d'un fichier avant de le supprimer du jeu de données cible, les utilisateurs restreints ne pourront pas y accéder. Tant que le jeu de données est dans cet état, il reste marqué comme RESTRICTED. Toutefois, lorsque vous consultez les Autorisations pour ce jeu de données, vous pouvez voir qu'il n'y a aucune règle de jeu de données sélectionnée.

Pour corriger ce problème, spécifiez les nouvelles règles de jeu de données. La création d'un jeu de données portant le même nom ne suffit pas pour résoudre ce problème. Vous devez sélectionner le nouveau jeu de données d'autorisations dans l'écran Autorisations. Cette restriction ne s'applique pas aux SQL requêtes directes.