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?
Comment faire pour révoquer l'autorisation de l'utilisateur Administrateur Windows à partir de DB2?
Répondre
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
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.
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.
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é.
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.
- 1. Dump SQL à partir de DB2
- 2. Comment faire une requête Web à partir de Windows Azure
- 3. Comment faire pour obtenir une trace de pile à partir du fichier de vidage sous Windows
- 4. Exportation de données UTF8 à partir de db2
- 5. Comment faire pour convertir l'application Windows de .NET2.0 à .NET3.5
- 6. Comment Révoquer l'autorisation SELECT pour system_views au public
- 7. Unité Test des données à partir de DB2
- 8. DB2 Bulk Load à partir de .Net (C#)?
- 9. Comment faire pour GetByte à partir de l'objet sans sérialiser?
- 10. Comment exporter une base de données DB2 sans serveur DB2
- 11. Windows Usurpation d'identité à partir de C#
- 12. Comment faire pour modifier l'écran d'accueil de Windows Mobile
- 13. Comment faire un nom de fichier Windows valide à partir d'une chaîne arbitraire?
- 14. Comment faire pour exécuter Trac sur Windows?
- 15. Comment faire pour installer Satchmo dans Windows?
- 16. Redémarrer Apache à partir de php sur windows
- 17. Comment faire pour supprimer le bouton SIP de Windows Mobile
- 18. Réinitialiser le mot de passe pour le compte administrateur renommé
- 19. Comment faire pour supprimer des espaces à partir d'un XmlDocument
- 20. Comment faire pour installer le développement non-administrateur dans Visual Studio 2005 et 2003
- 21. Equivalent SQLLDR/BCP pour DB2
- 22. Comment étendre administrateur django select?
- 23. Comment faire un midlet à partir de la source?
- 24. Comment recevoir la multidiffusion MPEG-TS à partir de Windows
- 25. Comment appeler un processus Java à partir de Windows Powershell?
- 26. Comment faire pour exécuter le script VBS à partir de cmd?
- 27. DB2 Equivalent à SQL's GO?
- 28. Comment faire pour récupérer l'instruction create pour la table à partir de DB dans C#
- 29. Comment utiliser DB2 Explain?
- 30. Comment faire des appels API Win32 à partir de PHP?