이 문서에서는 Secure Source Manager의 통합 보안 비밀 스캔으로 민감한 정보를 보호하는 방법을 설명합니다.
Secure Source Manager의 보안 비밀 스캔은 코드베이스 보안을 개선합니다. 보안 비밀 스캔은 저장소에 푸시되거나 풀 요청을 통해 병합된 커밋을 분석하여 암호화하거나 삭제해야 하는 민감한 정보를 적극적으로 스캔합니다. 이러한 데이터가 감지되면 보안 비밀 스캔은 푸시를 자동으로 거부하거나 풀 요청 병합을 차단하여 민감한 세부정보가 실수로 병합되지 않도록 합니다.
Secure Source Manager의 보안 비밀 스캔은 다음 정보 카테고리를 민감한 정보로 취급합니다.
- 암호화 키: SSH 비공개 키와 같은 항목이 포함됩니다.
- AWS 사용자 인증 정보: Amazon Web Services의 액세스 키 및 보안 비밀 키입니다.
- Google Cloud 사용자 인증 정보: 서비스 계정 키 및 기타 Google Cloud 보안 비밀입니다.
- OAuth 클라이언트 보안 비밀번호: OAuth를 사용하여 애플리케이션 인증에 사용되는 보안 비밀입니다.
- 보안 비밀 키: 인증 또는 승인에 사용되는 민감한 키입니다.
보안 비밀 스캔 사용 설정
저장소에 다음 역할 및 설정이 사용 설정되어 있는지 확인합니다.
필요한 역할
보안 비밀 스캔을 사용 설정하는 데 필요한 권한을 얻으려면 관리자에게 Secure Source Manager 인스턴스에 대한 Secure Source Manager 저장소 관리자 (roles/securesourcemanager.repoAdmin) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Secure Source Manager 역할 부여에 대한 자세한 내용은 IAM으로 액세스 제어 및 사용자에게 인스턴스 액세스 권한 부여를 참조하세요.
서비스 계정 권한
커스텀 민감한 정보 보호 검사 템플릿을 사용하도록 보안 비밀 스캔을 구성하는 경우 Secure Source Manager에서 사용하는 서비스 계정에 템플릿을 읽을 수 있는 권한 (예: DLP 리더 역할, roles/dlp.reader)이 있어야 합니다.
- 저장소에 저장소별 서비스 계정이 구성된 경우 Secure Source Manager는 해당 서비스 계정만 사용합니다. 저장소별 서비스 계정에 템플릿 읽기 권한을 부여해야 합니다.
- 저장소별 서비스 계정이 구성되지 않은 경우 Secure Source Manager는 인스턴스 서비스 계정을 사용합니다.
저장소 설정 업데이트
Secure Source Manager 인터페이스를 통해 저장소의 보안 비밀 스캔을 활성화할 수 있습니다.
- 보안 비밀 스캔을 사용 설정하려는 저장소로 이동합니다.
- 설정 아이콘을 클릭합니다.
- 보안 비밀 스캔 전환 버튼을 찾습니다.
- 전환 버튼을 사용 위치로 클릭합니다.
- (선택사항) 검사 템플릿 필드에 민감한 정보 보호 검사 템플릿의 리소스 이름 을 입력합니다.
보안 비밀 스캔 작업
보안 비밀 스캔이 사용 설정되면 저장소에 대한 커밋을 적극적으로 모니터링합니다. Git을 사용하여 푸시되거나 웹 인터페이스의 풀 요청을 통해 병합된 커밋에서 민감한 정보가 식별되면 커밋이 거부되거나 병합이 차단됩니다.
명령줄에서 푸시할 때 민감한 데이터가 있음을 나타내는 오류가 표시됩니다. 이때 두 가지 옵션이 있습니다.
변경사항 되돌리기
민감한 정보를 삭제하려면 다음 명령어를 사용하여 문제가 있는 커밋을 되돌릴 수 있습니다.
git reset --soft COMMIT_ID
COMMIT_ID를 실제 커밋 ID로 바꿉니다.
Git은 모든 커밋의 기록을 보관하므로 이전 커밋에서 민감한 자료를 복구할 수 있습니다. 이를 방지하려면 git reset --soft 명령어를 사용하세요. 그런 다음 파일을 수정하고 다시 커밋하여 브랜치의 최근 기록에서 데이터를 삭제합니다.
커밋 강제 푸시 (보안 비밀 스캔 우회)
감지된 정보가 허용 가능한 것으로 간주되는 특정 상황에서 적절한 권한이 있는 사용자는 보안 비밀 스캔 체크를 우회하고 커밋을 강제 푸시할 수 있습니다.
git push -o dlpskip=true origin \
BRANCH_NAME
BRANCH_NAME을 병합하려는 브랜치의 이름으로 바꿉니다.