J'ai appliqué une sécurité au niveau des lignes (RLS) à mon jeu de données dans Amazon Quick Sight, mais je rencontre des problèmes d'accès aux données.
Brève description
Lorsque vous utilisez RLS sur votre jeu de données Quick Sight, vous pouvez rencontrer les problèmes suivants :
- Vous ne pouvez voir aucune donnée dans le tableau de bord intégré de Quick Sight pour les utilisateurs anonymes de Quick Sight.
- 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 la RLS
- Le code d'erreur DatasetRulesUserDenied s'affiche lorsque vous créez une analyse
La RLS présente les limites suivantes :
- RLS est disponible uniquement pour Amazon Quick Suite édition Enterprise.
- 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. La RLS ne fonctionne pas pour les dates ou les champs numériques.
- L'ensemble complet d'enregistrements de règles que vous pouvez appliquer pour chaque 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 au jeu de données.
- Vous ne pouvez pas appliquer la RLS à des lignes vides avec la valeur null par défaut, car Quick Sight considère null comme une valeur de champ vide. Cependant, Quick Sight traite les espaces d'un champ comme une valeur littérale de sorte que la règle du jeu de données s'applique à ces lignes.
- Seuls les utilisateurs que vous avez 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 vous utilisez plusieurs champs des règles de jeu de données, les règles fonctionnent comme un opérateur AND. La RLS ne prend pas en charge l'opérateur OR.
- La RLS ne prend en charge que les règles basées sur les identifications 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 basées sur l'utilisateur.
Résolution
Vous ne pouvez voir aucune donnée dans le tableau de bord intégré Quick Sight pour les utilisateurs anonymes
Si vous utilisez des règles basées sur des identifications 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 Quick Sight. 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
Il est possible que les utilisateurs non restreints ne voient pas les données pour les raisons 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 Quick Sight. 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 Quick Sight.
Le code d'erreur DatasetRulesInvalidColType s'affiche lorsque vous appliquez la RLS
Si vous vous utilisez la RLS pour des dates ou des champs numériques, l'erreur « DatasetRulesInvalidColType » se produit.
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 Quick Sight.
Le code d'erreur « DatasetRulesUserDenied » s'affiche lorsque vous créez une analyse
Si l'utilisateur ne figure pas dans la règle de jeu de données, l’erreur « DataRulesUserDenied » se produit. Pour résoudre cette erreur, ajoutez l'utilisateur à la règle de jeu de données, puis actualisez le jeu de données.