풀 리퀘스트 체크 정책(Pull Request Check Policies)
풀 리퀘스트 체크 정책(Pull Request Check Policies)
풀 리퀘스트 체크(PR Check)를 사용하면 Vault Radar가 모든 풀 리퀘스트와, 열려 있는 모든 풀 리퀘스트에 대한 새 커밋마다 검사를 수행할 수 있어요. 이 페이지에서 PR 체크 정책을 구성하는 방법을 GitHub와 Bitbucket 기준으로 설명해 드릴게요.
출처: 문서
본문
풀 리퀘스트 체크 정책
풀 리퀘스트 체크를 사용하면 Vault Radar가 모든 풀 리퀘스트, 그리고 열려 있는 풀 리퀘스트에 대한 모든 새 커밋에 대해 검사를 수행할 수 있습니다. Vault Radar는 풀 리퀘스트에서 발견된 민감한 데이터에 대해 경고하며, 여기에는 풀 리퀘스트의 최상단(tip)과 모든 커밋 기록이 포함됩니다. 경고에는 발견한 비밀의 위치와 유형에 대한 세부 정보가 포함됩니다.
정책에는 두 가지 수준이 있습니다:
- 검사가 풀 리퀘스트 최상단(tip)에 비밀이 있으면 풀 리퀘스트를 실패(failed)로 표시할지 여부
- 업로드된 검사 결과가 최상단에 비밀을 보여주면 풀 리퀘스트를 대상 브랜치로 병합(merge)하는 것을 차단할지 여부
검사 실패(fail)는 Vault Radar UI에서 설정합니다. 병합 차단(block)은 제공자(provider) 또는 파이프라인 설정에서 설정합니다.
GitHub Checks
GitHub에서 풀 리퀘스트 체크를 활성화하려면 Vault Radar GitHub 앱을 설치하세요.
사전 요구 사항
- Vault Radar 프로젝트가 구성되어 있고 리소스가 모니터링되고 있을 것
- 조직에서 GitHub Checks용 Vault Radar 앱을 설치할 권한. 예: 조직 소유자 또는 저장소에서 admin 수준 권한이 있는 사람
GitHub Cloud
HCP Scanning (HCP 검사)
Vault Radar 계정은 Vault Radar Checks 앱으로 모니터링됩니다.
- Vault Radar Checks 앱을 설치합니다. (GitHub에서 앱을 설치할 권한이 있어야 합니다.)
- 설치 후 Vault Radar는 모니터링되는 저장소의 향후 PR과 PR에 대한 커밋을 검사합니다.
Agent Scanning (에이전트 검사)
Agent를 사용하려면 직접 GitHub 앱을 만들어야 합니다.
- 여기의 지침에 따라 앱을 만듭니다. 참고: 그 지침의 한 단계는 Vault Radar UI에 앱 구성 세부 정보를 추가하는 것입니다.
- 1단계에서 만든 앱을 조직에 설치합니다. (GitHub에서 앱을 설치할 권한이 있어야 합니다.)
GitHub Enterprise Server
이 GitHub Checks 버전은 자체 관리형(self-managed) GitHub Enterprise Server를 사용하는 고객을 위한 것입니다.
- 여기의 지침에 따라 GitHub Enterprise Server Checks 앱을 만듭니다. 참고: 그 지침의 한 단계는 Vault Radar UI에 앱 구성 세부 정보를 추가하는 것입니다.
- 1단계에서 만든 앱을 조직에 설치합니다. (GitHub에서 앱을 설치할 권한이 있는 사람이 수행합니다.)
설치 후 Vault Radar는 모니터링되는 저장소의 향후 풀 리퀘스트와 PR에 대한 커밋을 검사합니다.
저장소 구성하기
설치 후 GitHub Checks용 Vault Radar 앱이 모니터링할 저장소를 구성하려면:
- GitHub 조직 → settings → GitHub apps로 이동합니다. (URL 패턴은
https://github.com/organizations/{orgname}/settings/installations입니다) 여기서 조직에 설치된 모든 앱을 검토할 수 있습니다. - 목록에서 GitHub Checks용 Vault Radar 앱을 찾아 Configure 버튼을 클릭합니다.
- GitHub 인터페이스를 사용하여 앱이 액세스할 저장소를 선택하고 변경 사항을 저장합니다.
변경 사항은 다음 풀 리퀘스트(또는 열린 PR의 커밋)부터 적용되며 조직의 모든 사용자에게 적용됩니다.
풀 리퀘스트 차단하기
Vault Radar가 실패한 검사를 풀 리퀘스트에 업로드할 때 풀 리퀘스트 병합을 차단하려면 GitHub에서 다음 저장소 수준 또는 조직 수준의 규칙셋(ruleset) 설정을 구성하세요. 조직 수준 규칙셋은 조직이 유료 GitHub 요금제를 사용하지 않으면 적용되지 않습니다.
https://github.com/{orgname}에서 GitHub 조직으로 이동합니다.- 상단 막대에서 Settings를 클릭합니다.
- 왼쪽 내비게이션에서 Repository 섹션을 펼친 다음 Rulesets를 클릭합니다.
- 보호하려는 대상 저장소와 브랜치를 기준으로 브랜치 규칙셋(branch ruleset)을 추가하거나 기존 브랜치 규칙셋을 업데이트합니다. 이러한 규칙은 풀 리퀘스트가 대상 브랜치로 병합되도록 설정될 때 적용됩니다.
- Require status checks to pass를 선택하고 HashiCorp Vault Radar Secret Scan 상태 체크를 찾아 선택합니다. 자동으로 채워지지 않으면 상태 체크 이름을 검색 상자에 직접 복사하여 붙여넣습니다.
- 드롭다운에서 상태 체크 옆의 체크박스를 선택하고 테이블에 채워지는지 확인합니다.
GitHub 체크 비활성화하기
- Vault Radar GitHub Checks 앱을 구성하는 단계를 따릅니다.
- 구성 페이지에서 suspend(일시 중지) 또는 uninstall(제거) 중 하나를 선택합니다.
두 옵션 모두 즉시 적용되며 전체 GitHub 조직에 적용됩니다.
Bitbucket Insights
Bitbucket에서 풀 리퀘스트 검사를 활성화하려면:
- Bitbucket 저장소로 이동하여 커밋을 클릭합니다. 해당 커밋 보기에서 오른쪽 하단에 Go to pull request를 클릭해 저장소를 인덱싱하는 옵션이 있어야 합니다. 배경에서 저장소가 인덱싱되는 동안 몇 분이 걸릴 수 있습니다.
- 고객 성공 팀(Customer Success team)에 문의하여 프로젝트에서 Bitbucket Code Insights를 활성화하세요.
설정이 완료되면 Vault Radar는 모니터링되는 저장소의 향후 풀 리퀘스트와 PR에 대한 커밋을 검사하고, 결과를 풀 리퀘스트의 Reports 섹션에 업로드합니다.