기타 보안 고려 사항

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

파이프라인을 보호하는 경우 고려해야 할 몇 가지 다른 사항이 있습니다.

PATH에 의존

에이전트의 PATH 설정에 의존하는 것은 위험합니다. 이전 스크립트 또는 도구가 변경되었을 수 있으므로 이 스크립트가 어디에 있다고 생각하는지를 가리키지 않을 수 있습니다. 보안에 중요한 스크립트 및 이진 파일의 경우 항상 프로그램의 정규화된 경로를 사용합니다.

비밀 로깅

Azure Pipelines는 가능한 한 로그에서 비밀을 스크럽하려고 시도합니다. 이 필터링은 최선의 방법으로 수행되며 기밀이 유출될 수 있는 모든 방법을 포착할 수는 없습니다. 콘솔에 비밀을 에코하거나, 명령줄 매개 변수에 사용하거나, 파일에 로깅하지 마세요.

컨테이너 잠금

컨테이너에는 호스트 에이전트와 통신하는 데 필요한 작업, 작업 영역 및 외부 구성 요소에 몇 가지 시스템 제공 볼륨 탑재 매핑이 있습니다. 이러한 볼륨을 모두 읽기 전용으로 표시할 수 있습니다.

resources:
  containers:
  - container: example
    image: ubuntu:22.04
    mountReadOnly:
      externals: true
      tasks: true
      tools: true
      work: false  # the default; shown here for completeness

대부분의 사람들은 처음 세 개의 읽기 전용을 표시하고 읽기-쓰기로 유지해야 work 합니다. 지정된 작업 또는 단계에서 작업 디렉터리에 쓰지 않는다는 것을 알고 있는 경우 계속 진행하여 읽기 전용으로 만듭니 work 다. 파이프라인에 자체 수정하는 작업이 있는 경우 읽기-쓰기를 유지해야 tasks 할 수 있습니다.

사용 가능한 작업 제어

Marketplace에서 작업을 설치하고 실행하는 기능을 사용하지 않도록 설정할 수 있습니다. 이렇게 하면 파이프라인에서 실행되는 코드를 더 많이 제어할 수 있습니다. 모든 기본 제공 작업을 사용하지 않도록 설정할 수도 있습니다(에이전트에 대한 특별한 작업인 체크 아웃 제외). 대부분의 경우 기본 제공 작업을 사용하지 않도록 설정하지 않는 것이 좋습니다.

tfx 사용하여 직접 설치한 작업은 항상 사용할 수 있습니다. 이러한 두 기능을 모두 사용하도록 설정하면 해당 작업 사용할 수 있습니다.

감사 서비스 사용

많은 파이프라인 이벤트가 감사 서비스에 기록됩니다. 감사 로그를 주기적으로 검토하여 악의적인 변경 내용이 누락되지 않았는지 확인합니다. https://dev.azure.com/ORG-NAME/_settings/audit을(를) 방문하여 시작합니다.

다음 단계

개요로 돌아가서 모든 문서를 살펴보았는지 확인합니다.