DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Database Zone»Masquage des données : données SQL Server vs Gallium
    Database Zone

    Masquage des données : données SQL Server vs Gallium

    novembre 10, 2021
    Masquage des données : données SQL Server vs Gallium
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Masquage dynamique des données SQL Server

    Supposons que vous souhaitiez masquer partiellement ou complètement les noms des clients. Avec SQL Server, vous pouvez définir un masque dynamique avec les éléments suivants :

    alter table demo.customers
    alter column name 
    add masked with (function = 'partial(1,"XXXXXXX",0)')

    Tout utilisateur (autre que le propriétaire de la table et des administrateurs de bases de données) verra alors les données comme masquées, par exemple :

    execute as user="test_user"
    select * from demo.customers
    revert
    
    id    name        country
    1     AXXXXXXX    AR
    2     BXXXXXXX    BE
    3     CXXXXXXX    CA
    4     DXXXXXXX    DK
    5     EXXXXXXX    ES

    Vous souhaiterez peut-être exempter certains utilisateurs de ce type de masquage avec les éléments suivants :

    grant unmask to test_user

    Mais, c’est une autorisation à l’échelle de la base de données : cet utilisateur aura désormais un accès non masqué à tous données masquées.

    Dans l’ensemble, c’est une fonctionnalité intéressante, et elle est assez facile à utiliser, mais elle a quelques limitations. Et si nous avions besoin d’un masque qui dépend de la valeur, ou de l’utilisateur ? Vous ne pouvez utiliser que quelques fonctions intégrées pour effectuer le masquage et vous ne pouvez pas utiliser vos propres fonctions.

    À quel point est-ce sécurisé ?

    Le masquage des données fonctionne bien si vos utilisateurs sont limités à un ensemble fixe de requêtes SQL, ce qui est souvent le cas. Mais, si les utilisateurs de la base de données peuvent créer leurs propres requêtes SQL, ils peuvent facilement contourner le masquage des données avec des requêtes telles que les suivantes :

    execute as user="test_user"
    select * from demo.customers where name like 'Br%'
    revert
    
    id    name        country
    2     BXXXXXXX    BE

    Cela permet à l’utilisateur de déterminer que la deuxième lettre du nom du client 2 est « R. De toute évidence, il est assez facile d’étendre cela et de faire un tour final autour du masquage. Ce n’est pas grave : le masquage des données n’est pas censé être une mesure de sécurité au niveau de la base de données, il est simplement destiné à vous aider à rendre vos applications plus sécurisées.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.