2008-11-06 6 views
3

Sur IBM DB2 v.9, lorsque quelqu'un se connecte à la base de données par l'utilisateur Serveur \ Administrateur La base de données DB2 accepte et accorde automatiquement toutes les autorisations à cet utilisateur. Mais, dans certains cas, l'administrateur de l'environnement du serveur n'a pas besoin de voir toutes les données dans la base de données. Alors, comment empêcher l'administrateur de se connecter à la base de données?Comment faire pour révoquer l'autorisation de l'utilisateur Administrateur Windows à partir de DB2?

Répondre

0

Par défaut, les bases de données DB2 sont créées avec l'autorisation CONNECT accordée au public. Si vous souhaitez restreindre certains utilisateurs de se connecter, vous devez faire

GRANT CONNECT ON DATABASE TO <user1>, <user2>, ... 

Révoquer Ensuite, l'autorité CONNECT PUBLIC

REVOKE CONNECT ON DATABASE FROM PUBLIC 
0

Umm ... Pour de nombreuses fois que j'essaie de révoquer avec cette commande, mais Lorsque je me connecte à la base de données par le compte administrateur DB2 autorisera à nouveau l'administrateur.

Je vais essayer à nouveau pour vous assurer.

0

Je ne pense pas que ce soit possible dans des circonstances normales simplement parce que l'administrateur est dans le groupe sysadm.

Options Je peux penser (mais ne l'ai pas essayé) comprennent:

  • Réglage du groupe sysadm à quelque chose d'autre ("db2 update dbm cfg en utilisant sysadm_group bla"). Vérifiez les docs pour les mises en garde et les pièges quand vous faites cela, car je suis sûr qu'il y en a.
  • Arrêtez d'utiliser l'authentification du système d'exploitation. Utilisez un plugin de sécurité différent (8.2 et supérieur seulement). Cela déplacerait l'authentification, et donc les groupes, vers un nouvel emplacement (disons un serveur LDAP). Ensuite, vous n'ajoutez pas d'administrateur au nouvel emplacement, et surtout n'ajoutez pas de nouveau l'administrateur au groupe sysadm.
1

Sur 9.5 et plus, cela ne serait pas possible car le compte sous lequel votre instance s'exécute est SYSADM. En outre, l'administrateur peut réinitialiser au moins les mots de passe des comptes locaux et y accéder, rendant inutile le compte du propriétaire de l'instance.

Cependant, à partir du 9.7, le propriétaire de l'instance n'aura plus accès aux données. Une option est de passer à 9.7. De plus, vous pouvez configurer un compte AD pour les connexions utilisées par vos applications. L'administrateur local n'est pas nécessairement capable de changer ces informations d'identification. Néanmoins, l'administrateur a finalement accès aux fichiers de base de données (généralement non cryptés). Vous pouvez surtout améliorer l'aspect administratif de la sécurité.

0

Sous Windows, le paramètre de configuration du gestionnaire de base de données SYSADM_GROUP contrôle l'autorité SYSADM au niveau de l'instance. Lorsque SYSADM_GROUP est vide (comme c'est le cas par défaut sous Windows), DB2 utilise par défaut le groupe Administrateurs sur la machine locale. Pour résoudre ce problème, vous pouvez créer un nouveau groupe dans Windows, puis modifier la valeur de SYSADM_GROUP pour utiliser ce nouveau groupe. Assurez-vous que l'ID sous lequel s'exécute le service DB2 appartient à ce nouveau groupe. Après avoir apporté cette modification, les membres du groupe Administrateurs n'auront plus d'autorité SYSADM.Comme Kevin Beck l'indique, vous pouvez également envisager de restreindre l'autorité CONNECT sur les bases de données, car, par défaut, le privilège CONNECT est accordé à PUBLIC.

Questions connexes