Search code examples
pythonsql-serverwindowspymssqldatabase-security

How to securely store database credentials in windows?


I use python and SQL-server to manage a database, but I do not know "good practices" about database management and know few about security information.

Is it secure to save Database credentials in Windows as a environment variable and use it into scripts with os.environ? Like this:

import os
DB_HOST = os.environ['DBHOST']
DB_USER = os.environ['DBUSER']
... 

How is the proper way to store credentials to automate uses of databases?


Solution

  • If you are asking if you should permanently set environment variables for your laptop - I’d avoid that because any process could list all environment variables on the PC and the associated stored values quite easily.

    Instead - I’d recommend checking out Keyring. This will use the Windows Credential Locker (or other OS specific keyring services).