DB2 - Sécurité de la base de données

Ce chapitre décrit la sécurité de la base de données.

introduction

La base de données et les fonctions DB2 peuvent être gérées par deux modes différents de contrôles de sécurité:

  1. Authentication
  2. Authorization

Authentification

L'authentification est le processus de confirmation qu'un utilisateur se connecte uniquement conformément aux droits d'exécuter les activités qu'il est autorisé à effectuer. L'authentification des utilisateurs peut être effectuée au niveau du système d'exploitation ou au niveau de la base de données elle-même. En utilisant des outils d'authentification pour la biométrie tels que la rétine et les impressions de figures sont utilisées pour protéger la base de données des pirates ou des utilisateurs malveillants.

La sécurité de la base de données peut être gérée depuis l'extérieur du système de base de données db2. Voici un type de processus d'authentification de sécurité:

  • Basé sur les authentifications du système d'exploitation.
  • Protocole LDAP (Lightweight Directory Access Protocol)

Pour DB2, le service de sécurité fait partie du système d'exploitation en tant que produit distinct. Pour l'authentification, il nécessite deux informations d'identification différentes, celles-ci sont l'ID utilisateur ou le nom d'utilisateur et le mot de passe.

Autorisation

Vous pouvez accéder à la base de données DB2 et à ses fonctionnalités dans le système de base de données DB2, qui est géré par le gestionnaire de base de données DB2. L'autorisation est un processus géré par le gestionnaire de base de données DB2. Le gestionnaire obtient des informations sur l'utilisateur authentifié actuel, qui indiquent à quelle opération de base de données l'utilisateur peut effectuer ou accéder.

Voici différentes manières d'autorisations disponibles pour l'autorisation:

Primary permission: Accorde directement l'ID d'autorisation.

Secondary permission: Accorde aux groupes et aux rôles si l'utilisateur est membre

Public permission: Accorde à tous les utilisateurs publiquement.

Context-sensitive permission: Octroie le rôle de contexte approuvé.

L'autorisation peut être donnée aux utilisateurs en fonction des catégories ci-dessous:

  • Autorisation au niveau du système
  • Administrateur système [SYSADM]
  • Contrôle du système [SYSCTRL]
  • Maintenance du système [SYSMAINT]
  • Moniteur système [SYSMON]

Les autorités assurent le contrôle des fonctionnalités au niveau de l'instance. L'autorité fournit au groupe des privilèges pour contrôler les opérations de maintenance et d'autorité. Par exemple, les objets de base de données et de base de données.

  • Autorisation au niveau de la base de données
  • Administrateur de la sécurité [SECADM]
  • Administrateur de base de données [DBADM]
  • Contrôle d'accès [ACCESSCTRL]
  • Accès aux données [DATAACCESS]
  • Administrateur SQL. [SQLADM]
  • Administrateur de la gestion de la charge de travail [WLMADM]
  • Expliquez [EXPLAIN]

Les autorités fournissent des contrôles dans la base de données. D'autres autorités pour la base de données incluent LDAD et CONNECT.

  • Object-Level Authorization: L'autorisation au niveau de l'objet implique la vérification des privilèges lorsqu'une opération est effectuée sur un objet.
  • Content-based Authorization: L'utilisateur peut avoir un accès en lecture et en écriture à des lignes et des colonnes individuelles sur une table particulière en utilisant le contrôle d'accès basé sur les étiquettes [LBAC].

Les tables et fichiers de configuration DB2 sont utilisés pour enregistrer les autorisations associées aux noms d'autorisation. Lorsqu'un utilisateur tente d'accéder aux données, les autorisations enregistrées vérifient les autorisations suivantes:

  • Nom d'autorisation de l'utilisateur
  • Quel groupe appartient à l'utilisateur
  • Quels rôles sont attribués directement à l'utilisateur ou indirectement à un groupe
  • Autorisations acquises via un contexte de confiance.

Lors de l'utilisation des instructions SQL, le modèle d'autorisation DB2 considère la combinaison des autorisations suivantes:

  • Autorisations accordées à l'ID d'autorisation principal associé aux instructions SQL.
  • ID d'autorisation secondaires associés aux instructions SQL.
  • Accordé à PUBLIC
  • Attribué au rôle de contexte approuvé.

Autorités au niveau de l'instance

Laissez-nous discuter de certaines autorités liées à l'instance.

Autorité d'administration système (SYSADM)

Il s'agit de l'autorité administrative de niveau le plus élevé au niveau de l'instance. Les utilisateurs disposant des droits SYSADM peuvent exécuter certaines bases de données et commandes de gestionnaire de base de données dans l'instance. Les utilisateurs disposant des droits SYSADM peuvent effectuer les opérations suivantes:

  • Mettre à niveau une base de données
  • Restaurer une base de données
  • Mettre à jour le fichier de configuration du gestionnaire de base de données.

Autorité de contrôle du système (SYSCTRL)

Il s'agit du niveau le plus élevé de l'autorité de contrôle du système. Il permet d'effectuer des opérations de maintenance et d'utilitaire sur l'instance du gestionnaire de base de données et ses bases de données. Ces opérations peuvent affecter les ressources système, mais elles ne permettent pas d'accéder directement aux données de la base de données.

Les utilisateurs disposant des droits SYSCTRL peuvent effectuer les actions suivantes:

  • Mise à jour de l'annuaire de la base de données, du nœud ou du service de connexion distribuée (DCS)
  • Forcer les utilisateurs à quitter le système
  • Créer ou supprimer un niveau de base de données
  • Créer, modifier ou supprimer un espace table
  • Utiliser n'importe quel espace table
  • Restauration de la base de données

Autorité de maintenance du système (SYSMAINT)

Il s'agit d'un deuxième niveau d'autorité de contrôle du système. Il permet d'effectuer des opérations de maintenance et d'utilitaire sur l'instance du gestionnaire de base de données et ses bases de données. Ces opérations affectent les ressources système sans permettre un accès direct aux données de la base de données. Cette autorité est conçue pour permettre aux utilisateurs de gérer des bases de données dans une instance de gestionnaire de base de données contenant des données sensibles.

Seuls les utilisateurs avec SYSMAINT ou des droits système de niveau supérieur peuvent effectuer les tâches suivantes:

  • Prise de sauvegarde
  • Restauration de la sauvegarde
  • Récupération progressive
  • Démarrage ou arrêt de l'instance
  • Restauration des tablespaces
  • Exécution de la commande db2trc
  • Prendre des instantanés du moniteur système dans le cas d'un utilisateur de niveau Instance ou d'un utilisateur de niveau base de données.

Un utilisateur avec SYSMAINT peut effectuer les tâches suivantes:

  • Interroger l'état d'un tablespace
  • Mise à jour des fichiers d'historique des journaux
  • Réorganisation des tableaux
  • Utilisation de RUNSTATS (statistiques du catalogue de collection)

Autorité de surveillance du système (SYSMON)

Avec cette autorisation, l'utilisateur peut surveiller ou prendre des instantanés de l'instance du gestionnaire de base de données ou de sa base de données. L'autorité SYSMON permet à l'utilisateur d'exécuter les tâches suivantes:

  • OBTENIR LES COMMUTATEURS DE MONITEUR DU GESTIONNAIRE DE BASE DE DONNÉES
  • OBTENIR DES COMMUTATEURS DE MONITEUR
  • OBTENIR UN INSTANTANÉ
  • LISTE
    • LISTE DES BASES DE DONNÉES ACTIVES
    • LISTE DES APPLICATIONS
    • LISTE DES GROUPES DE PARTITION DE BASE DE DONNÉES
    • LISTE DES APPLICATIONS DCS
    • LISTE DES FORFAITS
    • TABLEAUX DE LISTE
    • LISTE DES TABLESPACE CONTENEURS
    • LISTE TABLESPACES
    • LISTE DES UTITLITAIRES
  • RÉINITIALISER LE MONITEUR
  • METTRE À JOUR LES COMMUTATEURS DE MONITEUR

Autorités de base de données

Chaque autorité de base de données détient l'ID d'autorisation pour effectuer une action sur la base de données. Ces autorités de base de données sont différentes des privilèges. Voici la liste de certaines autorités de base de données:

ACCESSCTRL: permet d'accorder et de révoquer tous les privilèges d'objet et les autorités de base de données.

BINDADD: Permet de créer un nouveau package dans la base de données.

CONNECT: Permet de se connecter à la base de données.

CREATETAB: Permet de créer de nouvelles tables dans la base de données.

CREATE_EXTERNAL_ROUTINE: Permet de créer une procédure à utiliser par les applications et les utilisateurs des bases de données.

DATAACCESS: Permet d'accéder aux données stockées dans les tables de la base de données.

DBADM: Agir en tant qu'administrateur de base de données. Il donne toutes les autres autorités de base de données à l'exception de ACCESSCTRL, DATAACCESS et SECADM.

EXPLAIN: Permet d'expliquer les plans de requête sans leur demander de détenir les privilèges pour accéder aux données des tables.

IMPLICIT_SCHEMA: Permet à un utilisateur de créer un schéma implicitement en créant un objet à l'aide d'une instruction CREATE.

LOAD: Permet de charger des données dans une table.

QUIESCE_CONNECT: Permet d'accéder à la base de données lorsqu'elle est au repos (temporairement désactivée).

SECADM: Permet d'agir en tant qu'administrateur de sécurité pour la base de données.

SQLADM: Permet de surveiller et d'ajuster les instructions SQL.

WLMADM: Permet d'agir en tant qu'administrateur de charge de travail

Privilèges

SETSESSIONUSER

Les privilèges d'ID d'autorisation impliquent des actions sur les ID d'autorisation. Il n'existe qu'un seul privilège, appelé privilège SETSESSIONUSER. Il peut être accordé à un utilisateur ou à un groupe et il permet à l'utilisateur de la session de changer d'identité avec l'un des ID d'autorisation sur lesquels les privilèges sont accordés. Ce privilège est accordé par l’autorité SECADM de l’utilisateur.

Privilèges de schéma

Ces privilèges impliquent des actions sur le schéma dans la base de données. Le propriétaire du schéma dispose de toutes les autorisations nécessaires pour manipuler les objets du schéma tels que les tables, les vues, les index, les packages, les types de données, les fonctions, les déclencheurs, les procédures et les alias. Un utilisateur, un groupe, un rôle ou PUBLIC peut se voir accorder n'importe quel utilisateur des privilèges suivants:

  • CREATEIN: permet de créer des objets dans le schéma
  • ALTERIN: permet de modifier les objets dans le schéma.

DROPIN

Cela permet de supprimer les objets dans le schéma.

Privilèges de l'espace disque logique

Ces privilèges impliquent des actions sur les tablespaces de la base de données. L'utilisateur peut recevoir le privilège USE pour les tablespaces. Les privilèges leur permettent ensuite de créer des tables dans des tablespaces. Le propriétaire du privilège peut accorder le privilège USE avec la commande WITH GRANT OPTION sur le tablespace lors de la création de tablespace. Et les autorités SECADM ou ACCESSCTRL ont les autorisations pour utiliser les privilèges sur le tablespace.

Droits de table et d'affichage

L'utilisateur doit disposer des droits CONNECT sur la base de données pour pouvoir utiliser les privilèges de table et d'affichage. Les privilèges pour les tables et les vues sont indiqués ci-dessous:

CONTRÔLE

Il fournit tous les privilèges pour une table ou une vue, y compris supprimer et accorder, révoquer les privilèges individuels de table à l'utilisateur.

MODIFIER

Il permet à l'utilisateur de modifier une table.

SUPPRIMER

Il permet à l'utilisateur de supprimer des lignes de la table ou de la vue.

INDICE

Il permet à l'utilisateur d'insérer une ligne dans un tableau ou une vue. Il peut également exécuter l'utilitaire d'importation.

RÉFÉRENCES

Il permet aux utilisateurs de créer et de supprimer une clé étrangère.

SÉLECTIONNER

Il permet à l'utilisateur de récupérer des lignes à partir d'une table ou d'une vue.

METTRE À JOUR

Il permet à l'utilisateur de modifier les entrées dans une table, vue.

Privilèges du package

L'utilisateur doit avoir les droits CONNECT sur la base de données. Le package est un objet de base de données qui contient les informations du gestionnaire de base de données pour accéder aux données de la manière la plus efficace pour une application particulière.

CONTRÔLE

Il fournit à l'utilisateur les privilèges de relier, de supprimer ou d'exécuter des packages. Un utilisateur disposant de ces privilèges bénéficie des privilèges BIND et EXECUTE.

LIER

Il permet à l'utilisateur de lier ou de relier ce package.

EXÉCUTER

Permet d'exécuter un package.

Privilèges d'index

Ce privilège reçoit automatiquement le privilège CONTROL sur l'index.

Privilèges de séquence

La séquence reçoit automatiquement les privilèges USAGE et ALTER sur la séquence.

Privilèges courants

Il implique l'action de routines telles que des fonctions, des procédures et des méthodes dans une base de données.