Un grand projet de Business Intelligence (BI) avec de nombreux utilisateurs et équipes et des informations sensibles nécessite une architecture de sécurité à multiples facettes. Une telle architecture doit fournir aux administrateurs et architectes BI la capacité de minimiser la quantité d'informations accessibles aux utilisateurs. Pour une solution simple à gérer Amazon QuickSight autorisations d'accès aux utilisateurs et aux actifs, vous pouvez utiliser les Interface de ligne de commande AWS (AWS CLI) ou Console de gestion AWS pour modifier manuellement le rôle d'utilisateur QuickSight et l'accès au tableau de bord. Cependant, dans des cas spécifiques, une entreprise peut facilement avoir des centaines ou des milliers d'utilisateurs et de groupes, et ces méthodes de gestion des accès ne sont pas efficaces. Nous avons reçu un grand nombre de demandes pour fournir une approche programmable avancée pour déployer et gérer une architecture de sécurité QuickSight centralisée.
Cet article décrit les meilleures pratiques pour l'authentification QuickSight et le contrôle d'accès granulaire d'autorisation, et fournit une application cloud centralisée avec un Kit de développement AWS Cloud (AWS CDK) à télécharger. L'un des avantages de notre solution est que les entreprises peuvent déployer le cadre de sécurité pour administrer le contrôle d'accès de leur BI sans quitter AWS.
Toutes les configurations sont enregistrées dans le Magasin de paramètres AWS Systems Manager. Parameter Store fournit un stockage hiérarchique sécurisé pour la gestion des données de configuration et la gestion des secrets. Vous pouvez stocker des données telles que le nom d'utilisateur, les autorisations d'utilisateur, les mots de passe et les chaînes de base de données en tant que valeurs de paramètre. Vous pouvez référencer Gestionnaire de systèmes AWS paramètres dans vos scripts et workflows de configuration et d'automatisation en utilisant le nom unique que vous avez spécifié lors de la création du paramètre.
Le modèle d'application AWS CDK s'intègre dans l'infrastructure d'intégration continue et de déploiement continu (CI/CD) et accorde ou révoque toutes les authentifications et autorisations en fonction d'une politique définie prescrite par AWS. Cela évite d'éventuelles erreurs humaines commises par les développeurs ou les administrateurs BI. Les développeurs BI peuvent modifier les paramètres de configuration pour publier de nouveaux tableaux de bord pour les utilisateurs finaux. Dans le même temps, les administrateurs BI peuvent modifier un autre ensemble de paramètres pour gérer les utilisateurs ou les groupes. Cette conception AWS CDK CI/CD comble les écarts entre les activités de développement et d'exploitation en appliquant l'automatisation dans la création et le déploiement d'applications de BI.
Exigences de sécurité
Dans la conception d'applications BI d'entreprise, l'hébergement mutualisé est un cas d'utilisation courant, qui sert plusieurs ensembles d'utilisateurs avec une seule infrastructure. Les locataires peuvent être différents clients d'un éditeur de logiciels indépendant (ISV) ou différents services d'une entreprise. Dans une conception multi-locataire, chaque locataire partage les tableaux de bord, les analyses et d'autres actifs QuickSight. Chaque utilisateur, qui peut voir tous les autres utilisateurs appartenant au même locataire (par exemple, lors du partage de contenu), reste invisible pour les autres locataires. Au sein de chaque locataire, l'équipe d'administration BI doit créer différents groupes d'utilisateurs pour contrôler l'autorisation des données, y compris les autorisations d'accès aux actifs et l'accès aux données au niveau granulaire.
Discutons en détail de certains cas d'utilisation des autorisations d'accès aux ressources. Dans une application de BI, différents actifs sont généralement classés en fonction des domaines d'activité (comme un tableau de bord opérationnel ou un tableau de bord de synthèse) et la classification des données (critiques, hautement confidentielles, internes uniquement et publiques). Par exemple, vous pouvez avoir deux tableaux de bord pour analyser les données des résultats des ventes. L'apparence des deux tableaux de bord est similaire, mais la classification de sécurité des données est différente. Un tableau de bord, nommé Sales Critical Dashboard, contient des colonnes et des lignes de données critiques. L'autre tableau de bord, appelé Sales Highly-Confidential Dashboard, contient des colonnes et des lignes de données hautement confidentielles. Certains utilisateurs sont autorisés à afficher les deux tableaux de bord, tandis que d'autres disposent d'une autorisation de niveau de sécurité inférieur et ne peuvent accéder qu'au tableau de bord hautement confidentiel des ventes.
Dans le cas d'utilisation suivant, nous abordons l'accès aux données au niveau granulaire comme suit :
- Accès au niveau des lignes (RLS) – Pour les utilisateurs qui peuvent accéder au tableau de bord critique des ventes, certains d'entre eux ne peuvent afficher que les données américaines. Cependant, certains utilisateurs mondiaux peuvent afficher les données de tous les pays, y compris les États-Unis et le Royaume-Uni.
- Accès au niveau des colonnes (CLS) – Certains utilisateurs ne peuvent afficher que les colonnes de données d'informations non personnellement identifiables (PII) d'un ensemble de données, tandis que l'équipe RH peut afficher toutes les colonnes du même ensemble de données.
Les grands projets peuvent avoir plusieurs locataires, des centaines de groupes et des milliers d'utilisateurs dans un seul compte QuickSight. L'équipe de data leader souhaite déployer un protocole pour la création et l'authentification des utilisateurs afin de réduire les coûts de maintenance et les risques de sécurité. L'architecture et le flux de travail décrits dans cet article aident le leader des données à atteindre cet objectif.
De plus, pour éviter les erreurs humaines dans les opérations quotidiennes, nous souhaitons que ces autorisations de sécurité soient accordées et révoquées automatiquement, et qu'elles s'intègrent dans l'infrastructure CI/CD. Les détails sont expliqués plus loin dans cet article.
Aperçu de l'architecture
Le diagramme suivant montre l'architecture de compte QuickSight de cette solution.
- Les auteurs créent des tableaux de bord et mettent à jour AWS Systems Manager Parameter Store pour publier des tableaux de bord pour différents groupes
- Les administrateurs approuvent les demandes des auteurs
- Les administrateurs mettent à jour la gestion des utilisateurs (rôles, espace de noms) en modifiant AWS Systems ManagerParameter Store
- DevOps déploie les mises à jour avec AWS CDK
*Groupes: Les groupes d'autorisations d'accès aux objets contrôlent le propriétaire/le visualiseur des objets. Les groupes de segments de données combinés avec RLS/CLS contrôlent l'accès aux données.
* Ensembles de données: contient toutes les données, restreintes par la sécurité au niveau des lignes (RLS) et la sécurité au niveau des colonnes (CLS)
Le schéma suivant illustre le workflow d'authentification de l'architecture :
*Première connexion à QuickSight: Si l'utilisateur QuickSight n'est pas enregistré avant la première connexion, un lecteur est créé et ce lecteur ne peut afficher que le tableau de bord de la page de destination, qui est partagé avec tous les utilisateurs de ce compte. La page de destination fournit la liste des rapports que cet utilisateur peut afficher.
Le schéma suivant illustre le workflow d'autorisation de l'architecture.
Détails du schéma d'autorisation :
- Les informations utilisateur (département, équipe, emplacement géographique) sont stockées dans Amazon Redshift, Amazon Athena ou toute autre base de données. Combinées au mappage groupe-utilisateur, les bases de données RLS sont conçues pour contrôler l'accès aux données.
- Attribution des autorisations horaires :
- Selon le mappage de nom de groupe-employé (utilisateur) (membership.csv) et le mappage de rôle de groupe (/qs/console/roles), une fonction AWS Lambda crée des groupes, enregistre, des utilisateurs, attribue des membres de groupe, supprime des appartenances à un groupe, promeut les lecteurs à auteur ou administrateur, et supprime les utilisateurs s'ils sont rétrogradés d'auteur ou d'administrateur à lecteur.
- Selon le mappage de tableau de bord de groupe dans /qs/config/access, une fonction AWS Lambda met à jour les autorisations de tableau de bord pour les groupes QuickSight.
- Selon le mappage d'espace de noms de groupe dans membership.csv, une fonction AWS Lambda crée des groupes QuickSight dans l'espace de noms spécifié.
- Exemples de paramètres d'autorisations d'accès aux objets et de segments de données :
- Exemples de paramètres du rôle d'utilisateur QuickSight :
- Exemples de données de membership.csv :
Dans cette solution, des espaces de noms personnalisés sont déployés pour prendre en charge l'architecture mutualisée. Le default
namespace est pour tous les utilisateurs internes d'une entreprise (nous l'appelons OkTank). OkTank crée le 3rd-Party
espace de noms pour les utilisateurs externes. Si nous devons prendre en charge plus de locataires, nous pouvons créer plus d'espaces de noms personnalisés. Par défaut, nous sommes limités à 100 espaces de noms par compte AWS. Pour augmenter cette limite, contactez l'équipe produit QuickSight. Pour plus d'informations sur l'hébergement mutualisé, consultez Intégrez des analyses multi-locataires dans des applications avec Amazon QuickSight.
Dans chaque espace de noms, nous créons différents types de groupes. Par exemple, dans le default
espace de noms, nous créons le BI-Admin
ainsi que BI-Developer
groupes pour le admin
ainsi que author
utilisateurs. Pour reader
, nous déployons deux types de groupes QuickSight pour contrôler les autorisations d'accès aux actifs et l'accès aux données : les groupes d'autorisations d'accès aux objets et les groupes de segments de données.
Le tableau suivant résume la manière dont les groupes d'autorisations d'accès aux objets contrôlent les autorisations.
Nom du groupe | Espace de noms | Autorisation | Notes |
critical |
Réglage par défaut | Visualisez les deux tableaux de bord (contenant les données critiques et les données hautement confidentielles) | |
highlyconfidential |
Réglage par défaut | Afficher uniquement le tableau de bord hautement confidentiel des ventes | |
BI-Admin |
Réglage par défaut | Gestion de compte et modification de tous les actifs | Les utilisateurs dans le BI-Admin groupe se voit attribuer le Admin Rôle d'utilisateur QuickSight. |
BI-Developer |
Réglage par défaut | Modifier tous les actifs | Les utilisateurs dans le BI-Developer groupe se voit attribuer le rôle d'utilisateur Auteur QuickSight. |
Power-reader |
Réglage par défaut | Affichez tous les actifs et créez une analyse ad hoc pour exécuter des rapports d'analyse en libre-service |
Les utilisateurs dans le Cependant, ce groupe ne peut pas enregistrer ou partager ses rapports ad hoc. |
3rd-party |
Espaces de noms autres que ceux par défaut (3rd-party espace de noms, par exemple) |
Ne peut partager qu'avec les lecteurs (3rd-party-reader groupe, par exemple) dans le même espace de noms |
Dans les espaces de noms autres que ceux par défaut, nous pouvons également créer d'autres groupes d'autorisations d'accès aux objets, qui sont similaires au groupe critique dans l'espace de noms par défaut. |
Pour plus d'informations sur les groupes, les utilisateurs et les rôles d'utilisateur QuickSight, consultez Gestion de l'accès des utilisateurs dans Amazon QuickSight, Provisionnement des utilisateurs pour Amazon QuickSightet Utilisation de tableaux de bord administratifs pour une vue centralisée des objets Amazon QuickSight.
Le deuxième type de groupes (groupes de segments de données), combiné avec sécurité au niveau des lignes ensembles de données et sécurité au niveau des colonnes, contrôlez l'accès aux données comme décrit dans le tableau suivant.
Nom du groupe | Espace de noms | Autorisation | Domaine |
USA |
Réglage par défaut | Afficher uniquement les données américaines sur n'importe quel tableau de bord | Niveau ligne |
GBR |
Réglage par défaut | Afficher uniquement les données britanniques sur n'importe quel tableau de bord | Niveau ligne |
All countries |
Réglage par défaut | Afficher les données de tous les pays sur n'importe quel tableau de bord | Niveau ligne |
non-PII |
Réglage par défaut | Impossible d'afficher les numéros de sécurité sociale, le revenu annuel et toutes les autres colonnes de données PII | Au niveau de la colonne |
PII |
Réglage par défaut | Peut afficher toutes les colonnes, y compris les données PII | Au niveau de la colonne |
Nous pouvons configurer des groupes similaires dans des espaces de noms autres que ceux par défaut.
Ces différents groupes peuvent se chevaucher. Par exemple, si un utilisateur appartient aux groupes USA
, Critical
et PII
, ils peuvent afficher les données américaines sur les deux tableaux de bord, avec toutes les colonnes. Le diagramme de Venn suivant illustre les relations entre ces groupes.
En résumé, nous pouvons définir une architecture de sécurité à multiples facettes en combinant les fonctionnalités de QuickSight, notamment l'espace de noms, le groupe, l'utilisateur, RLS et CLS. Toutes les configurations associées sont enregistrées dans le Parameter Store. La liste des utilisateurs QuickSight et les informations de mappage groupe-utilisateur se trouvent dans un Service de stockage simple Amazon (Amazon S3) en tant que fichier CSV (nommé membership.csv
). Ce fichier CSV peut être les résultats de sortie des requêtes LDAP. Nombreuses AWS Lambda les fonctions sont programmées pour s'exécuter toutes les heures (vous pouvez également appeler ces fonctions à la demande, comme une granularité quotidienne, hebdomadaire ou à tout moment qui correspond à vos besoins) pour lire les paramètres et les membership.csv
. Selon la configuration définie, les fonctions Lambda créent, mettent à jour ou suppriment des groupes, des utilisateurs et des autorisations d'accès aux actifs.
Lorsque les configurations de sécurité nécessaires sont terminées, une fonction Lambda appelle les API QuickSight pour obtenir les informations mises à jour et enregistrer les résultats dans un compartiment S3 sous forme de fichiers CSV. L'équipe d'administration BI peut créer des jeux de données avec ces fichiers et visualiser les résultats avec des tableaux de bord. Pour plus d'informations, consultez Utilisation de tableaux de bord administratifs pour une vue centralisée des objets Amazon QuickSight ainsi que Création d'une console d'administration dans Amazon QuickSight pour analyser les métriques d'utilisation.
De plus, les erreurs des fonctions Lambda et les événements de suppression d'utilisateurs sont stockés dans ce compartiment S3 pour que l'équipe d'administration les examine.
Automation
Le schéma suivant illustre le workflow global des fonctions Lambda.
Nous utilisons une méthode programmable pour créer et configurer automatiquement les groupes et les utilisateurs. Pour toute demande d'enregistrement d'utilisateur ad hoc (par exemple, l'utilisateur n'est pas enregistré dans membership.csv
encore en raison de la latence), tant que l'utilisateur peut être authentifié, il peut assumer le Gestion des identités et des accès AWS (IAM) rôle quicksight-fed-user
à s'auto-approvisionner en tant que lecteur QuickSight. Ce lecteur auto-approvisionné ne peut afficher qu'un tableau de bord de page de destination, qui fournit la liste des tableaux de bord et des groupes correspondants. Selon la cartographie tableau de bord-groupe, ce nouveau lecteur peut demander l'adhésion à un groupe donné pour accéder aux tableaux de bord. Si le propriétaire du groupe approuve l'application, les fonctions horaires Lambda ajoutent le nouvel utilisateur au groupe lors de leur prochaine exécution.
Le pipeline CI/CD démarre à partir d'AWS CDK. L'administrateur BI et l'auteur peuvent mettre à jour les paramètres de Systems Manager pour publier de nouveaux tableaux de bord ou d'autres actifs QuickSight dans la pile AWS CDK granular_access_stack.py
. L'administrateur BI peut mettre à jour les paramètres Systems Manager dans la même pile pour créer, mettre à jour ou supprimer des espaces de noms, des groupes ou des utilisateurs. Ensuite, l'équipe DevOps peut déployer la pile AWS CDK mise à jour pour appliquer ces modifications aux paramètres Systems Manager ou à d'autres ressources AWS. Les fonctions Lambda sont déclenchées toutes les heures pour appeler des API afin d'appliquer les modifications au compte QuickSight associé.
Escaliers intérieurs
Les fonctions Lambda sont limitées par la durée d'exécution maximale de 15 minutes. Pour surmonter cette limitation, nous pouvons convertir les fonctions Lambda en Colle AWS Scripts shell Python avec les étapes de haut niveau suivantes :
- Télécharger Boto3 fichiers de roues de pypi.org.
- Téléchargez le fichier de roue dans un compartiment S3.
- Télécharger Fonctions Lambda et fusionnez-les en un seul script Python et créez un script shell AWS Glue Python.
- Ajoutez le chemin S3 du fichier de roue Boto3 dans le chemin de la bibliothèque Python. Si vous avez plusieurs fichiers à ajouter, séparez-les par une virgule.
- Planifiez cette tâche AWS Glue pour qu'elle s'exécute quotidiennement.
Pour plus d'informations, voir Programmer les scripts ETL AWS Glue en Python ainsi que Utilisation des bibliothèques Python avec AWS Glue.
Pré-requis
Vous devez avoir les prérequis suivants pour mettre en œuvre cette solution :
- Un compte QuickSight Entreprise
- Connaissance de base de Python
- Connaissance de base de SQL
- Connaissances de base en BI
Créer les ressources
Créez vos ressources en téléchargeant la pile AWS CDK à partir du GitHub repo.
Dans le granular_access
dossier, exécutez la commande cdk deploy granular-access
pour déployer les ressources. Pour plus d'informations, consultez Atelier d'introduction AWS CDK : Atelier Python.
Déployez la solution
Lorsque vous déployez la pile AWS CDK, elle crée cinq fonctions Lambda, comme illustré dans la capture d'écran suivante.
La pile crée également des ressources de support supplémentaires dans votre compte.
La granular_user_governance
la fonction est déclenchée par le Amazon Cloud Watch règle d'événement qs-gc-everyhour
. Les informations des groupes et des utilisateurs sont définies dans le fichier membership.csv
. Le nom du compartiment S3 est stocké dans le magasin de paramètres /qs/config/groups
. Le schéma suivant montre l'organigramme de cette fonction.
- Définir la destination de
granular_user_governance
à une autre fonction Lambda,downgrade_user
, avecsource=Asynchronous invocation
ainsi quecondition=On Success
.
Le schéma suivant est un organigramme de cette fonction.
Pour éviter d'interrompre l'accès critique aux actifs QuickSight régis par Admin ou Author, nous rétrogradons un administrateur ou un auteur en supprimant l'utilisateur administrateur ou auteur et en créant un nouvel utilisateur lecteur avec la fonction Lambda downgrade_user
L’ granular_user_governance
La fonction gère la rétrogradation de l'administrateur vers l'auteur ou la mise à niveau de l'auteur vers l'administrateur.
- Définir la destination de
downgrade_user
à la fonction Lambdagranular_access_assets_govenance
avecsource=Asynchronous invocation
ainsi quecondition=On Success
.
Le schéma suivant montre un organigramme de cette fonction.
- Définir la destination de
downgrade_user
à la fonction Lambdacheck_team_members
avecsource=Asynchronous invocation
ainsi quecondition=On Failure
.
La check_team_members
La fonction appelle simplement les API QuickSight pour obtenir les informations sur les espaces de noms, les groupes, les utilisateurs et les actifs, et enregistre les résultats dans le compartiment S3. La clé S3 est monitoring/quicksight/group_membership/group_membership.csv
ainsi que monitoring/quicksight/object_access/object_access.csv
.
Outre les deux fichiers de sortie de l'étape précédente, les journaux d'erreurs et les journaux de suppression d'utilisateurs (journaux de downgrade_user
) sont également enregistrés dans le monitoring/quicksight
dossier.
- Définir la destination de
granular_access_assets_govenance
à la fonction Lambdacheck_team_members
avecsource=Asynchronous invocation
ainsi quecondition=On Success
orcondition=On Failure
.
Créer des ensembles de données de sécurité au niveau des lignes
Comme dernière étape, nous créons des ensembles de données RLS. Cela vous permet de modifier les enregistrements du tableau de bord en fonction des utilisateurs qui consultent les tableaux de bord.
QuickSight prend en charge RLS en appliquant un ensemble de données géré par le système qui sous-sélectionne les enregistrements de l'ensemble de données du tableau de bord. Le mécanisme permet à l'administrateur de fournir un jeu de données de filtrage (le jeu de données RLS) avec username
or groupname
colonnes, qui sont automatiquement filtrées en fonction de l'utilisateur connecté. Par exemple, un utilisateur nommé YingWang
appartient au groupe QuickSight BI
, donc toutes les lignes de l'ensemble de données RLS qui correspondent au nom d'utilisateur YingWang
ou nom du groupe BI
sont filtrés. Les lignes qui restent dans le RLS après l'application des filtres de nom d'utilisateur et de nom de groupe sont ensuite utilisées pour filtrer davantage les ensembles de données du tableau de bord en faisant correspondre les colonnes portant les mêmes noms. Pour plus d'informations sur la sécurité au niveau des lignes, consultez Utilisation de la sécurité au niveau des lignes (RLS) pour restreindre l'accès à un ensemble de données.
Dans cette solution, nous exportons les exemples d'informations utilisateur dans le fichier membership.csv
, qui est stocké dans un compartiment S3. Dans ce fichier, nous fournissons quelques exemples de groupes pour la définition du jeu de données RLS. Ces groupes sont les groupes de segments de données, tels que décrits dans la conception globale de l'architecture. La capture d'écran suivante montre certains des groupes et les utilisateurs de ces groupes.
La granular_user_governance
La fonction crée ces groupes et ajoute les utilisateurs associés comme membres de ces groupes.
Comment créons-nous l'ensemble de données RLS ? Disons que nous avons une table appelée employee_information
dans la base de données RH de notre organisation. La capture d'écran suivante montre quelques exemples de données.
Basé sur employee_information
table, nous créons une vue appelée rls
pour un jeu de données RLS. Voir le code SQL suivant :
La capture d'écran suivante montre nos exemples de données.
Maintenant que la table est prête, nous pouvons créer l'ensemble de données RLS avec le SQL personnalisé suivant :
La capture d'écran suivante montre nos exemples de données.
Pour le groupe quicksight-fed-all-countries
, nous définissons le username
, country
et city
comme null, ce qui signifie que tous les utilisateurs de ce groupe peuvent afficher les données de tous les pays.
Au niveau des pays, seules les règles de sécurité définies dans le groupname
et pays columns
sont utilisés pour le filtrage. Le username
ainsi que city
les colonnes sont définies comme nulles. Les utilisateurs dans le quicksight-fed-usa
groupe peut afficher les données des États-Unis, et les utilisateurs dans le quicksight-fed-gbr
groupe peut afficher les données de GBR.
Pour chaque utilisateur avec groupname
défini comme nul, ils ne peuvent voir que le pays et la ville spécifiques attribués à leur nom d'utilisateur. Par exemple, TerryRigaud
ne peut afficher que les données d'Austin, aux États-Unis.
Dans QuickSight, plusieurs règles d'un jeu de données RLS sont combinées avec OR.
Avec ces règles RLS à multiples facettes, nous pouvons définir un modèle d'accès aux données complet.
Nettoyer
Pour éviter d'encourir des frais futurs, supprimez les ressources que vous avez créées en exécutant la commande suivante :
Conclusion
Cet article a expliqué comment les administrateurs BI peuvent concevoir et automatiser l'authentification QuickSight et le contrôle d'accès granulaire des autorisations. Nous avons combiné les fonctionnalités de sécurité QuickSight telles que la sécurité au niveau des lignes et des colonnes, les groupes et les espaces de noms pour fournir une solution complète. La gestion de ces changements via « BIOps » garantit un mécanisme robuste et évolutif pour la gestion de la sécurité QuickSight. Pour apprendre plus, inscrivez-vous pour une démo QuickSight.
À propos des auteurs
Ying wang est un ingénieur senior en visualisation de données avec la pratique spécialisée mondiale Data & Analytics dans les services professionnels AWS.
Amir Bar Ou est un architecte de données principal chez AWS Professional Services. Après 20 ans à diriger des organisations de logiciels et à développer des plates-formes et des produits d'analyse de données, il partage maintenant son expérience avec de grandes entreprises clientes et les aide à faire évoluer leurs analyses de données dans le cloud.
- "
- &
- 100
- accès
- Gestion des accès
- Compte
- activités
- Ad
- Supplémentaire
- admin
- Tous
- Amazon
- selon une analyse de l’Université de Princeton
- analytique
- Apis
- Candidature
- applications
- architecture
- atout
- Outils
- austin
- Authentification
- autorisation
- Automation
- AWS
- AWS Lambda
- LES MEILLEURS
- les meilleures pratiques
- frontière
- construire
- Développement
- la performance des entreprises
- l'intelligence d'entreprise
- Appelez-nous
- cas
- Change
- des charges
- Ville
- classification
- le cloud
- code
- Commun
- Société
- contenu
- d'exportation
- La création
- Clients
- tableau de bord
- données
- accès aux données
- Analyse de Donnée
- gestion des données
- visualisation de données
- Base de données
- bases de données
- Demande
- Conception
- détruire
- détail
- mobiles
- Développement
- DevOps
- domaines
- ingénieur
- Entreprise
- clients entreprise
- événement
- événements
- exécutif
- Exporter
- Fonctionnalités:
- filtres
- Prénom
- première fois
- s'adapter
- Framework
- fonction
- avenir
- Global
- subventions
- Réservation de groupe
- Comment
- hr
- HTTPS
- Des centaines
- IAM
- Active
- Y compris
- passif
- Améliore
- d'information
- Infrastructure
- l'intégration
- Intelligence
- IT
- Emploi
- rejoindre
- clés / KEY :
- spécialisées
- page de destination
- gros
- ldap
- conduisant
- APPRENTISSAGE
- Niveau
- Bibliothèque
- limité
- Gamme
- Liste
- emplacement
- Location
- gestion
- Membres
- noms
- numéros
- de commander
- Autre
- Autres
- propriétaire
- mots de passe
- Patron de Couture
- pii
- Plateformes
- politique
- Directeur
- Produit
- Produits
- Projet
- projets
- public
- Python
- Reader
- lecteurs
- Articles
- réduire
- Inscription
- Les relations
- Rapports
- Exigences
- Ressources
- Résultats
- Avis
- Analyse
- Courir
- pour le running
- vente
- Escaliers intérieurs
- sécurité
- En libre service
- Services
- set
- Partager
- Partages
- coquillage
- étapes
- So
- Réseaux sociaux
- Logiciels
- SQL
- storage
- Boutique
- Support
- Les soutiens
- Système
- fiable
- Uk
- union
- Mises à jour
- Actualités
- us
- États-Unis
- utilisateurs
- Voir
- visualisation
- hebdomadaire
- Jante
- WHO
- dans les
- workflow
- années