Microsoft Security DevOps GitHub 작업 구성
Microsoft Security DevOps는 정적 분석 도구를 개발 수명 주기에 통합하는 명령줄 애플리케이션입니다. Security DevOps는 SDL, 보안 및 규정 준수 도구와 같은 최신 버전의 정적 분석 도구를 설치, 구성 및 실행합니다. Security DevOps는 여러 환경에서 결정적 실행을 가능하게 하는 이식 가능한 구성으로 데이터 기반입니다.
Microsoft Security DevOps는 다음 오픈 소스 도구를 사용합니다.
이름 | 언어 | 라이선스 |
---|---|---|
AntiMalware | 맬웨어를 검사하고 맬웨어가 검색되면 빌드를 중단시키는 Windows의 엔드포인트용 Microsoft Defender의 Windows 맬웨어 방지 보호입니다. 이 도구는 기본적으로 Windows 최신 에이전트를 검사합니다. | 오픈 소스 아님 |
Bandit | Python | Apache License 2.0 |
BinSkim | Binary--Windows, ELF | MIT 라이선스 |
Checkov | Terraform, Terraform 계획, CloudFormation, AWS SAM, Kubernetes, Helm 차트, Kustomize, Dockerfile, 서버리스, Bicep, OpenAPI, ARM | Apache License 2.0 |
ESlint | JavaScript | MIT 라이선스 |
템플릿 분석기 | ARM 템플릿, Bicep | MIT 라이선스 |
Terrascan | Terraform(HCL2), Kubernetes(JSON/YAML), Helm v3, Kustomize, Dockerfiles, Cloud Formation | Apache License 2.0 |
Trivy | 컨테이너 이미지, IaC(Infrastructure as Code) | Apache License 2.0 |
필수 조건
Azure 구독. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
새 창에서 Microsoft Security DevOps GitHub 작업을 엽니다.
GitHub 리포지토리에서 워크플로 권한이 읽기 및 쓰기로 설정되어 있는지 확인합니다. 여기에는 클라우드용 Defender와의 페더레이션을 위해 GitHub 워크플로에서 "id-token: write" 권한 설정이 포함됩니다.
Microsoft Security DevOps GitHub 작업 구성
GitHub 작업을 설정하려면 다음을 수행합니다.
GitHub에 로그인합니다.
GitHub 작업을 구성하려는 리포지토리를 선택합니다.
작업을 선택합니다.
새 워크플로를 선택합니다.
GitHub Actions 시작 페이지에서 워크플로 직접 설정을 선택합니다.
텍스트 상자에 워크플로 파일의 이름을 입력합니다. 예들 들어
msdevopssec.yml
입니다.다음 샘플 작업 워크플로를 복사하고 새 파일 편집 탭에 붙여넣습니다.
name: MSDO on: push: branches: - main jobs: sample: name: Microsoft Security DevOps # Windows and Linux agents are supported runs-on: windows-latest permissions: contents: read id-token: write actions: read # Write access for security-events is only required for customers looking for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS) security-events: write steps: # Checkout your code repository to scan - uses: actions/checkout@v3 # Run analyzers - name: Run Microsoft Security DevOps uses: microsoft/security-devops-action@latest id: msdo # with: # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig'). # policy: 'GitHub' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: GitHub. # categories: string. Optional. A comma-separated list of analyzer categories to run. Values: 'code', 'artifacts', 'IaC', 'containers'. Example: 'IaC, containers'. Defaults to all. # languages: string. Optional. A comma-separated list of languages to analyze. Example: 'javascript,typescript'. Defaults to all. # tools: string. Optional. A comma-separated list of analyzer tools to run. Values: 'bandit', 'binskim', 'checkov', 'eslint', 'templateanalyzer', 'terrascan', 'trivy'. # Upload alerts to the Security tab - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS) # - name: Upload alerts to Security tab # uses: github/codeql-action/upload-sarif@v3 # with: # sarif_file: ${{ steps.msdo.outputs.sarifFile }} # Upload alerts file as a workflow artifact - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS) # - name: Upload alerts file as a workflow artifact # uses: actions/upload-artifact@v3 # with: # name: alerts # path: ${{ steps.msdo.outputs.sarifFile }}
참고 항목
추가 도구 구성 옵션 및 지침은 Microsoft 보안 DevOps Wiki를 참조하세요.
커밋 시작을 선택합니다.
새 파일 커밋을 선택합니다. 프로세스를 완료하는 데 최대 1분이 걸릴 수 있습니다.
작업을 선택하고 새 작업이 실행 중인지 확인합니다.
검색 결과 보기
검사 결과를 보려면 다음을 수행합니다.
Azure에 로그인합니다.
클라우드용 Defender > DevOps 보안으로 이동합니다.
DevOps 보안 블레이드에서 개발자가 CI 로그에서 보는 것과 동일한 MSDO 보안 결과를 관련 리포지토리에 대해 몇 분 내에 볼 수 있어야 합니다. GitHub Advanced Security를 사용하는 고객은 이러한 도구에서 수집된 결과도 볼 수 있습니다.
자세한 정보
Azure GitHub 작업에 대해 알아봅니다.
GitHub에서 Azure로 앱을 배포하는 방법을 알아봅니다.
다음 단계
클라우드용 Defender의 DevOps 보안에 대해 자세히 알아봅니다.
클라우드용 Defender에 GitHub 조직을 연결하는 방법을 알아봅니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기