검색

2.5. 문자열 매개변수 보안 참조

download PDF

문자열 매개변수는 BuildStrategy 또는 Cluster BuildStrategy CR(사용자 정의 리소스)에서 환경 변수, 인수 또는 이미지를 정의할 때 사용됩니다. 빌드 전략 단계에서는 $(params.your-parameter-name) 구문을 사용하여 문자열 매개변수를 참조할 수 있습니다.

참고

빌드 전략 단계에서 $(params.your-parameter-name) 구문을 사용하여 시스템 매개변수 및 전략 매개변수를 참조할 수도 있습니다.

Pod에서 모든 $(params.your-parameter-name) 변수가 실제 문자열로 교체됩니다. 그러나 인라인 스크립트를 사용하여 인수에서 string 매개변수를 참조할 때 주의해야 합니다. 예를 들어 스크립트로 정의된 인수로 매개변수 값을 안전하게 전달하려면 다음 접근 방법 중 하나를 선택할 수 있습니다.

  • 환경 변수 사용
  • 인수 사용

예: 문자열 매개변수를 환경 변수에 참조

문자열 매개 변수를 스크립트 내에서 직접 사용하는 대신 환경 변수에 전달할 수 있습니다. 환경 변수 인용을 사용하면 명령 삽입 취약점을 방지할 수 있습니다. buildah 와 같은 전략에 이 접근 방식을 사용할 수 있습니다. 다음 예제에서는 스크립트 내의 환경 변수를 사용하여 문자열 매개변수를 참조합니다.

apiVersion: shipwright.io/v1beta1
kind: BuildStrategy
metadata:
  name: sample-strategy
spec:
  parameters:
    - name: sample-parameter
      description: A sample parameter
      type: string
  steps:
    - name: sample-step
      env:
        - name: PARAM_SAMPLE_PARAMETER
          value: $(params.sample-parameter)
      command:
        - /bin/bash
      args:
        - -c
        - |
          set -euo pipefail

          some-tool --sample-argument "${PARAM_SAMPLE_PARAMETER}"

예: 문자열 매개변수를 인수로 참조

string 매개변수를 스크립트 내에 정의된 인수로 전달할 수 있습니다. 명령 주입에 대한 감시를 인용하는 적절한 쉘입니다. buildah 와 같은 전략에 이 접근 방식을 사용할 수 있습니다. 다음 예제에서는 스크립트 내에 정의된 인수를 사용하여 문자열 매개변수를 참조합니다.

apiVersion: shipwright.io/v1beta1
kind: BuildStrategy
metadata:
  name: sample-strategy
spec:
  parameters:
    - name: sample-parameter
      description: A sample parameter
      type: string
  steps:
    - name: sample-step
      command:
        - /bin/bash
      args:
        - -c
        - |
          set -euo pipefail

          SAMPLE_PARAMETER="$1"

          some-tool --sample-argument "${SAMPLE_PARAMETER}"
        - --
        - $(params.sample-parameter)
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.