일반적으로 일부 API를 사용하여 MySQL에 연결하면 (예 : Linux의 Python에서) 암호를 connect()
함수의 인수로 제공해야합니다. 그러나 코드를 공유하거나 프로젝트 저장소의 어느 곳에 나 암호를 저장하고 싶지는 않습니다. 공유 할 것이기 때문입니다. 또한 명령 행 인자로 전달하기를 원하지 않습니다. 왜냐하면 첫째, 프로세스 관리자에서 볼 수 있기 때문입니다. 둘째, 스크립트를 시작할 때마다 입력하지 않기 때문입니다. 또한 작은 스크립트마다 프로그램 별 설정 파일을 원하지 않습니다.Python으로 MySQL에 연결하십시오 : 안전한 방법?
다음 해결책을 생각해 냈습니다. 로컬 ~/my.cnf
파일 (예 : configparser
)을 구문 분석하고 거기에서 기본 설정을 가져옵니다. 그러나 여러 개의 호스트로 작업하려면 불필요한 "그룹 접미사"를 사용하여 구문 분석을 수행해야합니다.
내 질문은 : 안전하게 사용할 수있는 다양한 스크립트/프로그램 쌍 (호스트, 사용자)에 대한 기본 암호를 저장하는 표준 방법은 무엇입니까?
편집 : 나는 duplicate을 찾았지만, 여전히 암호에 암호를 저장하고 있기 때문에 거기에 대한 대답에 만족하지 않습니다.
항상 이런 식으로 환경 변수를 사용하십시오. [12 Factor apps] (https://12factor.net/config)를 참조하십시오. –
모두와 공유하는 것에 신경 쓰지 않는 다른 계정을 설정할 수도 있습니다. – Navidad20
모든 "작은"스크립트 중에서 재사용되는 구성 파일을 만드는 것만 큼 만성적 인 이유는 무엇입니까? 로컬 my.cnf 파일을 구문 분석하는 것은 응용 프로그램에 해당 파일에 대한 액세스 권한을 제공해야하므로 안전하지 않을 수 있습니다. – eandersson