입력 참조
입력 참조 (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 문서를 참고해요.