Yellowfin Evaluation Guide
Yellowfin is used for both enterprise analytics and embedded analytics use cases and for building bespoke analytical applications. Use this guide to ensure Yellowfin is the right technical fit for your requirements.
Modèle de sécurité
-
In this section
Updated 25 mai 2020 -
Sécurité utilisateur/UX
Cette section fait référence au niveau d’accès d’un utilisateur au sein de l’application Yellowfin, à ce qu’il peut faire et aux données qu’il peut voir une fois qu’il est dans l’application.
Sécurité fonctionnelle
Comment les rôles sont-ils attribués aux utilisateurs ?
Dans Yellowfin, le rôle d’un utilisateur contrôle son accès aux fonctionnalités de l’application, par exemple s’il est autorisé à créer des rapports ou s’il est limité à une capacité de lecture seule. Les rôles des utilisateurs sont créés dans la console d’administration de Yellowfin et peuvent être hautement personnalisés pour répondre à vos besoins spécifiques, avec plus de 100 permissions uniques. Yellowfin propose 5 rôles prédéfinis, allant d’un consommateur en lecture seule à un administrateur système bénéficiant de tous les privilèges.
Puis-je créer des rôles personnalisés dans l’application ?
Oui – Yellowfin propose des rôles prédéfinis, mais vous pouvez également créer les vôtres et leur assigner n’importe quelle combinaison de fonctions du système.
Puis-je programmer la mise à jour du rôle d’un utilisateur dans Yellowfin en fonction d’un changement de rôle dans mon application ?
Les rôles et autres attributs des utilisateurs peuvent être modifiés de manière programmatique via les services web d’administration de Yellowfin. La synchronisation des attributs de l’utilisateur et de l’accès à la sécurité est une étape intégrale d’une implémentation SSO standard.
Pour en savoir plus :
Sécurité du contenu
Comment l’accès au contenu est-il géré ? Dans quelle mesure l’accès au contenu est-il configurable dans Yellowfin ?
Yellowfin est organisé et sécurisé en étant placé dans une structure de dossiers de contenu. Ces dossiers tendent à délimiter le contenu par unité commerciale (finances, ventes, etc.) ou à moduler le contenu par expérience (rapports organisationnels généraux contre rapports de gestion quotidiens). En outre, chaque contenu individuel peut superposer ses propres autorisations à ces dossiers, ce qui permet de créer des expériences utilisateur très complexes et granulaires.
Un utilisateur se voit attribuer l’accès aux dossiers de contenu et aux éléments de contenu soit individuellement, soit en fonction de ses autorisations de rôle actuelles ou de son appartenance à un groupe d’utilisateurs. Une fois cet accès accordé, il peut accéder au contenu stocké dans ce dossier, à moins que ce contenu n’ait été marqué comme privé et attribué sur une base individuelle.
Peut-on regrouper les utilisateurs pour partager des expériences ?
Dans la plupart des entreprises, l’accès à l’information n’est pas contrôlé sur une base individuelle, mais plutôt en fonction du rôle de la personne au sein de l’organisation. Comme nous l’avons vu plus haut, l’accès d’un utilisateur aux fonctionnalités peut être regroupé en fonction des rôles de l’utilisateur. Pour appliquer ce principe aux dossiers de contenu et à d’autres fonctions telles que la collaboration, nous pouvons également utiliser une fonction appelée « groupes d’utilisateurs » qui nous permet de donner accès au contenu et aux fonctions de collaboration à des équipes entières.
Pour des cas d’utilisation plus complexes, il est possible d’attribuer à la fois des rôles d’utilisateur et l’accès d’autres groupes d’utilisateurs à un groupe d’utilisateurs spécifique.
Pour en savoir plus :
Pour en savoir plus sur la sécurité des dossiers de contenu, cliquez ici
Sécurité des données
Comment la sécurité est-elle gérée au niveau des données ? Puis-je restreindre l’accès des utilisateurs aux données au niveau d’une ligne ou d’une cellule ?
La sécurité des données dans Yellowfin est principalement mise en œuvre au niveau de la couche des métadonnées, et consiste généralement en une combinaison de plusieurs composants différents :
- Filtres d’accès – Les filtres d’accès limitent l’ensemble de données au niveau des lignes en ajoutant des filtres obligatoires en fonction de l’utilisateur qui consulte le rapport. Les filtres d’accès sont créés en définissant d’abord un mappage utilisateur/valeur au niveau de la ligne , puis en associant ce mappage à la colonne appropriée dans la couche de métadonnées
- Data Source Substitution – DS Sub est une fonctionnalité multi-tenant associée aux organisations clientes qui vous permet de changer la source de données sur laquelle un rapport est exécuté, en fonction de l’organisation dans laquelle se trouve l’utilisateur au moment de l’exécution du rapport. Utilisez cette fonctionnalité si vous séparez actuellement les données des clients par des bases de données avec des schémas partagés, mais que vous ne souhaitez créer qu’un seul rapport.
- Sécurité au niveau des colonnes – Chaque colonne de Yellowfin peut être sécurisée individuellement, ce qui vous permet d’empêcher l’interrogation d’informations sensibles dans le cadre de la création de rapports ad hoc.
Puis-je hériter des autorisations de la base de données ?
Les tables de la base de données que l’utilisateur est autorisé à consulter au niveau des métadonnées sont basées sur les autorisations de l’utilisateur authentifié dans la connexion à la source de données sous-jacente. Cela vous permet de créer des sources de données distinctes avec un accès unique aux données sous-jacentes, ainsi que d’utiliser des approches plus avancées telles que l’authentification de passage.
Automatisation de l'administration de la sécurité
Chaque étape de la sécurité de l’utilisateur peut être automatisée à l’aide des services Web d’administration, de la création d’utilisateurs et de rôles à la délégation de l’accès au contenu, en passant par les mises à jour minute par minute de la sécurité au niveau de la ligne.
Cela se fait généralement dans le cadre d’un processus de synchronisation SSO.
- Filtres d’accès – Les filtres d’accès limitent l’ensemble de données au niveau des lignes en ajoutant des filtres obligatoires en fonction de l’utilisateur qui consulte le rapport. Les filtres d’accès sont créés en définissant d’abord un mappage utilisateur/valeur au niveau de la ligne , puis en associant ce mappage à la colonne appropriée dans la couche de métadonnées
-
Sécurité des applications
Systèmes de gestion de l'identité de tiers
Comment Yellowfin authentifie-t-il les interfaces de systèmes et de services utilisant des services Web, des services REST et des API ?
Yellowfin peut utiliser des fournisseurs d’identité externes pour authentifier les utilisateurs. Yellowfin supporte nativement l’authentification via des fournisseurs LDAP. Yellowfin fournit également un pont SAML pré-construit qui peut s’interfacer avec des fournisseurs d’identité compatibles SAML.
Des adaptateurs d’authentification personnalisés peuvent être écrits pour relier des systèmes d’authentification personnalisés ou propriétaires à Yellowfin en utilisant une suite de services web de SSO et de provisionnement d’utilisateurs.
Pour en savoir plus :
Pour en savoir plus sur le pont SAML, cliquez ici
Pour en savoir plus sur l’authentification unique, cliquez ici
Sécurité des données
Les données s’arrêtent-elles jamais dans Yellowfin ?
Yellowfin stockera temporairement les données en mémoire pendant la visualisation des rapports et des tableaux de bord. D’autres options, qui ne sont pas activées par défaut, permettent aux rapports et aux valeurs des filtres d’être mis en cache dans la base de données du référentiel. Cela permet de prendre un instantané d’un rapport et de permettre aux utilisateurs de choisir des valeurs de filtre à partir d’une liste déroulante. Le cache de données de rapport peut également stocker des données en mémoire. Il stocke l’ensemble des données d’une requête de rapport pour les réutiliser dans un délai configurable.
Puis-je crypter des données en transit ?
Les données en transit peuvent être cryptées. Il s’agit des données qui transitent entre la source de données et Yellowfin, et des rapports rendus qui transitent entre Yellowfin et le navigateur de l’utilisateur.
Comment les données en transit sont-elles sécurisées ?
Le trafic web peut être crypté avec SSL. Les données sont ainsi transmises en toute sécurité au navigateur de l’utilisateur final via HTTPS.
Les données circulant entre Yellowfin et les sources de données peuvent être cryptées par plusieurs moyens, y compris le cryptage activé par des pilotes JDBC spécifiques, des liens HTTPS pour XML/A et des connecteurs tiers. Le trafic réseau peut également être crypté de manière externe avec des liens VPN.
Les utilisateurs peuvent-ils écrire dans mon référentiel de données ?
La réécriture peut être mise en œuvre de plusieurs manières, via des gadgets de code qui permettent la réécriture à partir d’un tableau de bord, ou via des liens intégrés dans les rapports qui vous conduisent à une application externe dans laquelle les données peuvent être modifiées et les informations mises à jour dans les rapports.
En outre, vous pouvez créer des connexions à la base de données avec des utilisateurs qui n’ont que des droits de lecture afin de vous assurer que la connexion ne peut pas être utilisée pour écrire.
Gestion des mots de passe
Comment les mots de passe sont-ils stockés dans Yellowfin ?
Lors de l’utilisation de l’authentification interne de l’utilisateur, les mots de passe Yellowfin sont cryptés avec un hachage à sens unique utilisant l’algorithme BCrypt. Les mots de passe qui nécessitent un cryptage bidirectionnel sont cryptés avec un algorithme Triple DES.
Dans les installations où l’authentification externe des utilisateurs est utilisée, comme LDAP, SAML ou un service web SSO, les mots de passe des utilisateurs n’ont pas besoin d’être stockés dans l’application.
Puis-je définir une politique de mot de passe pour mes utilisateurs ?
Oui, Yellowfin supporte les règles de complexité des mots de passe, y compris la longueur et les caractères inclus, ainsi que les règles de réutilisation des mots de passe.
Comment Yellowfin prend-il en charge le verrouillage d’un compte après des tentatives de connexion infructueuses ?
Yellowfin prend en charge le verrouillage des comptes lorsqu’une limite configurable de tentatives de connexion est atteinte.
Sécurité des applications web
Comment l’accès est-il limité pour les demandes entrantes ?
Les requêtes Web adressées à l’application Yellowfin sont interrogées pour s’assurer qu’une session active existe et que l’utilisateur associé à la session est autorisé à effectuer l’action demandée.
Une sécurité supplémentaire peut être configurée avec des ServletFilters personnalisés pour interroger les demandes et exécuter une logique personnalisée. Cela peut permettre de vérifier l’origine des demandes ou de s’assurer qu’un utilisateur dispose d’une session SSO valide.
Yellowfin fournit quelques ServletFilters configurables qui offrent des fonctionnalités supplémentaires, telles que des contrôles HTTP Refer, des points d’entrée d’application configurables et une protection CSRF.
Comment l’accès est-il limité pour les connexions sortantes ?
En général, Yellowfin ne fait que des requêtes à des sources de données externes. Au niveau du contenu, l’accès aux différentes sources peut être configuré dans l’application.
Au niveau du réseau, un pare-feu sortant doit être configuré de manière à n’autoriser l’accès qu’aux ressources externes requises.
Comment Yellowfin protège-t-il mon environnement contre l’injection de code malveillant ?
Les fonctionnalités de Yellowfin qui permettent de publier du code sont désactivées par défaut et doivent être activées pour des utilisateurs spécifiques. Les entrées de Yellowfin sont testées pour les problèmes XSS dans le cadre de nos tests de sécurité.