2016-11-15 3 views
1

는 당신의 자식 저장소에서 체크 아웃 비밀 파일 (아무 것도 포함 된 암호, API 키 등)을 유지하는 좋은 방법이 있다는 상식처럼 보인다 (표시 here, here, here, here 그리고 더 많은가)비밀 번호를 저장소에서 체크 아웃해야하는 이유는 무엇입니까?

왜?

+0

다음은 "secret"단어에 대한 사전 항목입니다. http://www.dictionary.com/browse/secret. –

+0

참고 : "checked out of"은 잘못된 구문입니다. "밖으로"라고 말하십시오. "체크 아웃 (out of out)"된다는 것은 그들이 처음에 저장소에 있음을 암시합니다. 저장소 안의 모든 것은 정의상 비밀이 아닙니다. – torek

답변

1

이렇게하면 "비밀"(및 기타 암호/보안/토큰 관련 값)을 프로덕션 환경에서만 알 수 있으므로 저장소가 체크 아웃 된 곳이 아닌 보안을 강화합니다. 가능하면 각 환경 (예 : 로컬 개발, 개발 서버, 스테이징/데모 서버, 프로덕션 환경 등)마다 별도의 인증 또는 보안 매개 변수 구성이 있어야하며 이러한 매개 변수는 로컬 환경 내에서 구성되어야하며 저장되지 않아야합니다 응용 프로그램의 코드 자체에서.

저장소가 비공개 인 경우에도 여전히 안전하지 않습니다. 개발자들이 오락가락합니다. 운영 사람들이 가거나 간다. 프로젝트 관리가오고갑니다. repo 액세스 권한을 가진 제 3 자 계약자가있을 수 있습니다. 규모가 큰 프로젝트는 시간이 지남에 따라 많은 액터들이 작업하는 경향이 있으며, 어느 누구도 프로덕션 구성 값을 알 필요가 없습니다 (아마도 작전 담당자 제외). 개인 저장소를 사용하는 경우에도 비밀 키/값을 repo 액세스 권한이있는 모든 사람에게 공개하는 보안 위험은 여전히 ​​있습니다.

+0

내가 꽤 많이 본 것은 사람들이 개발 중에 이러한 키들 중 일부를 필요로하고 어쨌든 자신의 컴퓨터에 비밀 버전을 복사한다는 것입니다. dev에이 키들이 필요하다면 뭔가 잘못하고 있다는 뜻입니까? –

+0

@MarcoPrins 그것은 서비스가 그 키를 얼마나 중요하게 사용하는지에 달려 있으며, 귀하의 경험과 전문성이 그 판단을 내리는 데 필요합니다. 새로운 MVP 프로젝트에서 개발자들과 협력하고 해당 서비스의 개발 전용 버전을 만들기 위해 노력하는 동안 중요하지 않은 키를 저장하고 궁극적으로 각 MVP 프로젝트에 대한 별도의 환경 설정 파일로 마이그레이션하는 것이 좋습니다. env. 그냥 장기적인 계획이 응용 프로그램 에서이 정보를 저장하고 중요한 (금융? 찌르는 DB의 신용?) 서비스 인증 데이터를 저장하지 마십시오. – Todd