J'ai appliqué la sécurité au niveau des lignes (RLS) à mon jeu de données dans Amazon QuickSight, mais je rencontre des problèmes d'accès aux données.
Brève description
Les problèmes courants que vous pouvez rencontrer lors de l'utilisation de la sécurité au niveau des lignes (RLS) sur votre jeu de données Amazon QuickSight sont les suivants :
- Vous ne pouvez voir aucune donnée dans le tableau de bord intégré de QuickSight pour les utilisateurs anonymes de QuickSight.
- Les utilisateurs dont l'accès est restreint peuvent toujours voir toutes les données.
- Les utilisateurs non restreints ne peuvent voir aucune donnée.
- Le code d'erreur DatasetRulesInvalidColType s’affiche lorsque vous appliquez une RLS.
- Le code d'erreur DatasetRulesUserDenied s’affiche lorsque vous créez une analyse.
La RLS présente les limites suivantes :
- La RLS est disponible uniquement pour l'édition Enterprise de QuickSight.
- La RLS prend uniquement en charge les données textuelles, telles que string, char et varchar pour les champs relatifs à la règle de jeu de données. Actuellement, la RLS ne fonctionne pas pour les dates ou les champs numériques.
- L'ensemble complet des enregistrements de règles appliqués par utilisateur ne peut pas dépasser 999. Les jeux de données comportant plus de 999 règles peuvent ne pas réussir à appliquer les règles RLS à l'ensemble des données.
- Vous ne pouvez pas appliquer la RLS aux lignes vides avec la valeur null par défaut car QuickSight considère null comme une valeur de champ vide. Cependant, les espaces d'un champ sont traités comme une valeur littérale, de sorte que la règle du jeu de données s'applique à ces lignes.
- Seuls les utilisateurs ajoutés à la règle du jeu de données peuvent voir les données en fonction de la règle définie. Les autres utilisateurs ne peuvent pas voir les données.
- Lorsque plusieurs champs des règles de jeu de données sont utilisés, les règles fonctionnent comme un opérateur AND. L'opérateur OR n'est actuellement pas pris en charge.
- Les règles basées sur les balises RLS ne sont prises en charge que pour les tableaux de bord intégrés pour les utilisateurs anonymes avec l'API GenerateEmbedUrlForAnonymousUser. Si vous avez intégré des tableaux de bord pour les utilisateurs enregistrés à l'aide de l'API GenerateEmbedUrlForRegisteredUser, utilisez des règles au niveau de l'utilisateur.
Résolution
Je ne vois aucune donnée dans le tableau de bord intégré QuickSight pour les utilisateurs anonymes
Si vous utilisez des règles basées sur des balises pour votre tableau de bord intégré anonyme, vous ne pouvez ni voir ni modifier les données. Pour consulter les données, vous devez ajouter des règles RLS basées sur l'utilisateur au jeu de données.
Dans l'exemple de règle de jeu de données suivant, John Stiles ne peut consulter que les données du service logistique. Martha Rivera, quant à elle, peut consulter toutes les données du jeu de données :
UserName,Department JohnStiles,Logistics
MarthaRivera,
Remarque : Vous pouvez appliquer à la fois des règles basées sur des balises et des règles RLS basées sur l'utilisateur à votre jeu de données.
Les utilisateurs restreints peuvent toujours consulter toutes les données
Si un jeu de données contient trop de règles, même si vous avez correctement appliqué la RLS, les utilisateurs restreints peuvent toujours consulter toutes les données. Pour résoudre ce problème, assurez-vous que votre jeu de données ne contient pas plus de 999 règles. Si vous appliquez des restrictions aux utilisateurs en fonction de la valeur UserName et que votre règle de jeu de données comporte plus de 999 utilisateurs, créez des groupes QuickSight. Ajoutez les utilisateurs aux groupes et utilisez GroupName au lieu de UserName dans la règle de jeu de données.
Les utilisateurs non restreints ne peuvent consulter aucune donnée
Les raisons possibles pour lesquelles les utilisateurs non restreints ne peuvent pas consulter les données sont les suivantes :
- L'utilisateur n'existe pas dans la règle du jeu de données. Vérifiez la règle du jeu de données pour vérifier que tous les utilisateurs prévus sont présents.
- Les valeurs UserName ou GroupName ne correspondent pas aux utilisateurs ou aux groupes de QuickSight. Vérifiez les valeurs UserName ou GroupName relatives à la règle de jeu de données pour vérifier qu'elles correspondent aux utilisateurs ou aux groupes de QuickSight.
Le code d'erreur DatasetRulesInvalidColType s'affiche lorsque vous appliquez la RLS
L'erreur DatasetRulesInvalidColType se produit lorsque vous utilisez la RLS pour des dates ou des champs numériques.
Consultez le champ utilisé pour évaluer la RLS dans la règle du jeu de données pour vérifier que le type de données est String. Vous pouvez également modifier le jeu de données pour convertir les champs numériques en String dans QuickSight.
Le code d'erreur DatasetRulesUserDenied s'affiche lorsque vous créez une analyse
L’erreur DataRulesUserDenied se produit lorsque l'utilisateur ne figure pas dans la règle de jeu de données. Pour résoudre cette erreur, ajoutez l'utilisateur à la règle de jeu de données, puis actualisez le jeu de données.
Informations connexes
Utilisation de la sécurité au niveau des lignes (RLS) avec des règles basées sur l'utilisateur pour restreindre l'accès à un jeu de données
Utilisation de la sécurité au niveau des lignes (RLS) avec des règles basées sur des balises pour restreindre l'accès à un jeu de données lors de l'intégration de tableaux de bord pour des utilisateurs anonymes
Ajout de conditions de filtre (filtres de groupe) avec les opérateurs AND et OR