입력 참조

입력 참조 (Input reference)

정책 평가에 사용되는 입력(input)은 Dockerfile이 참조하는 자원의 유형에 따라 달라져요.

출처: 문서

본문

입력 유형 (Input types)

빌드 입력은 Dockerfile 명령에 대응돼요. 각 입력 유형은 정책 평가에 사용할 수 있는 특정 필드를 가져요.

HTTP 입력 (HTTP inputs)

ADD 명령으로 가져오는 HTTP 자원을 검증할 수 있어요.

예시 Dockerfile

FROM alpine
ADD --checksum=sha256:abc123... https://example.com/app.tar.gz /app.tar.gz

사용 가능한 필드

  • url: 자원의 완전한 URL이에요.
allow if {
    input.http.url == "https://example.com/app.tar.gz"
}
  • schema: URL의 스킴이에요.
# 모든 다운로드에 HTTPS 요구
allow if {
    input.http.schema == "https"
}
  • host: URL의 호스트명이에요.
# 승인된 도메인에서만 다운로드 허용
allow if {
    input.http.host == "cdn.example.com"
}
  • path: URL의 경로 컴포넌트예요.
allow if {
    startswith(input.http.path, "/releases/")
}
  • checksum: 제공된 체크섬(있으면). 체크섬이 없으면 빈 문자열이에요.
# 모든 다운로드에 체크섬 요구
allow if {
    input.http.checksum != ""
}
  • (그 외) 요청이 인증(HTTP basic auth 또는 bearer token)을 포함하는지 나타내는 불리언 필드.
# 내부 저장소에는 인증 요구
...

(이미지·Git 입력)

이미지(FROM, COPY --from)와 Git(ADD, git+http) 입력에도 각각 image.*, git.* 필드가 있어요. 자세한 내용은 validate-images와 validate-git 문서를 참고해요.

더 알아보기 (Learn more)