Quelqu'un m'a demandé de créer un site pour leur entreprise en ligne que j'ai faite, qui gère beaucoup de développement moi-même. Après avoir créé mon compte sur le site, j'ai raconté à mon employeur "Hey, le site est prêt, vous pouvez créer un compte pour vous-même maintenant." Il l'a fait et je lui ai donné des privilèges d'administration de mon compte.
Ensuite, M. Showoff lui a dit "Mec, j'ai accès root à la DB qui signifie que je peux faire n'importe quoi sur le site".
Il était intéressé et voulait un accès root à la DB que j'ai refusé. J'ai dit que c'était une mauvaise idée parce qu'il ne sait rien à propos de la DB Administration ou de l'administration du système, ce qui peut être un risque de sécurité. Par exemple, il peut entrer en conflit avec le principe du moindre privilège ou il peut subir accidentellement une commande dangereuse qu'il ne sait pas.
Cependant, il pense toujours qu'il devrait avoir cet accès parce qu'il est le patron.
Comment puis-je gérer cela? Devrais-je m'occuper et lui donner accès sans raison?
il est le propriétaire de données. Pas toi. Si vous êtes frappé par un bus, il aura besoin d'un accès. Vous devriez absolument lui donner accès. Cette demande n'est pas une surprise du tout. Si vous avez construit un site Web pour moi, je demanderais la même chose.
(( [~ # ~] mais [~ # ~ ~] , et c'est la partie importante, vous ne pouvez pas non plus être en compétition avec lui pour l'administration de la base de données. Vous êtes l'administrateur, pas lui. Il a accès, mais il ne peut pas l'utiliser. Une fois qu'il le ferait, alors vous êtes absolu de la responsabilité de la base de données. Ce bit vous avez besoin par écrit et il doit être clairement compris. Et puis vous devez vous enregistrer son accès.
Je suis tout à fait d'accord pour que vous ne devriez pas vous battre pour l'accès root, mais vous pouvez toujours fournir l'accès au propriétaire de données sans concourir pour le contrôle.
Été dans cette position un million de fois. Il suffit d'expliquer qu'il pourrait briser par inadvertance quelque chose s'il n'est pas prudent et lui donner les connexions comme il le possède. Assurez-vous de faire une décharge de dB avant de pouvoir pouvoir restaurer s'il le casse (moyennant des frais bien sûr).
Vous devriez examiner l'accord avec lui (si vous avez) et clarifier de telles choses. S'il paie complètement les serveurs et que vous avez créé le site Web avec des droits complets transférés au client, je ne vois pas la raison pour laquelle vous ne devriez pas lui donner les informations d'identification que dans quelques années, vous pourriez être occupé avec un autre projet. , et il peut trouver une autre société qui y travaille. Si vous payez pour le serveur, vous pouvez créer un compte dédié SQL compte avec des droits d'administration limités (empêchant, par exemple, la suppression des tables ou de la base de données), car c'est votre serveur et que vous ne souhaitez pas exposer à une sécurité inutile. des risques. Dans les deux sens, assurez-vous toujours d'avoir une sauvegarde quotidienne.
Idéalement, si vous créez le site Web avec des droits complets transférés au client, vous devez fournir toutes les informations d'identification nécessaires pendant le transfert de manière formelle à la fin du projet (un fichier de mots ou un document imprimé) ou sur le bon logiciel. Manipulation de ceux-ci (p. Ex. Gestionnaire de mots de passe, KeySex ou fichier crypté, keybase, coffre-fort ansible, etc.). En manipulant ces détails, il devrait accepter le risque et vous ne devriez plus être responsable aussi loin que vous avez fait votre meilleure garantie ces détails.
Entièrement d'accord pour dire que s'il est sérieux, et ne prend pas votre premier "non" pour une réponse, vous devez lui donner une réponse complète par écrit, dont vous conservez une copie bien documentée et sécurisée sur un système qu'il ne peut pas accéder.
Dans votre réponse, je résumerais les raisons pour lesquelles il ne devrait pas utiliser les informations d'identification racine, et peut-être une référence à quelque chose officiel (blog, lien, livre, papier blanc) pour lui montrer que votre recommandation est une pratique standard.
Enfin, vous lui offrez de lui donner une enveloppe scellée, d'être conservée dans un environnement sûr ou à une banque, avec les informations d'identification. Si (comme on l'espérait), il n'insiste pas, comme il est convaincu, il semble toujours de bonnes pratiques que les informations d'identification sont disponibles quelque part, au cas où quelque chose vous arrive (ou même lorsque vous êtes en congé), et c'est impératif. que quelqu'un puisse intervenir.
Être la seule personne avec des informations d'identification racine; Ou de l'utiliser comme un problème de chantage/de négociation potentiel, est, à mon avis, de mauvaise pratique, contraire à l'éthique et donne aux développeurs (ou quoi que ce soit) un mauvais nom.
Pour le compte rendu, cette demande concrète concrètement violé le moins de privilège (pas seulement peut). Les autres affiches ici sont toutes de bonnes réponses. Dans votre position, je voudrais personnellement essayer de dissuader le fondateur. Si cela ne fonctionne pas, alors je le conseillerais sur les risques d'accès à la base de données et, en supposant qu'il le souhaite toujours, lui accordera-t-il (de manière aussi limité la possible).
Comme tout le monde l'a dit, je documenterais l'ensemble du processus, y compris le conseiller sur des risques et recevoir son consentement éclairé. En fonction de la nature des données que j'envisagerais d'impliquer le conseiller juridique de la société.
Malgré la façon dont il a tendance à apparaître pour de nombreuses personnes dans des domaines de l'entreprise, l'accès des racines à une base de données est une chose sérieuse. Il peut avoir des implications juridiques, des implications techniques et susceptibles de causer des dommages énormes d'une variété de types. Nous le savons tous, mais tout le monde ne le fait pas, et expliquant ainsi que la gravité est une partie importante de ... le prenant sérieusement.
En outre, une fois de plus pour les gens de la rangée arrière parce que c'est une biggie: tout documenter.