8.3.4.2. 소스 복제 보안


빌더 Pod는 빌드의 소스로 정의된 모든 Git 리포지토리에 액세스해야 합니다. 소스 복제 보안은 자체 서명되거나 신뢰할 수 없는 SSL 인증서가 있는 프라이빗 리포지토리 또는 리포지토리와 같이 일반적으로 액세스할 수 없는 리포지토리에 대한 액세스 권한을 제공하는 데 사용됩니다.

다음 소스 복제 보안 구성이 지원됩니다.

참고

이러한 구성의 조합을 사용하여 특정 요구 사항을 충족할 수도 있습니다.

빌드는 사용된 소스 복제 보안에 대한 액세스 권한이 있어야 하는 builder 서비스 계정으로 실행됩니다. 다음 명령으로 액세스 권한이 부여됩니다.

$ oc secrets link builder mysecret
참고

기본적으로 비활성화되어 있는 서비스 계정으로만 시크릿을 제한합니다. 즉, 마스터 구성 파일에서 serviceAccountConfig.limitSecretReferencesfalse (기본 설정)로 설정된 경우 서비스에 시크릿을 연결할 필요가 없습니다.

8.3.4.2.1. 빌드 구성에 소스 복제 보안 자동 추가

BuildConfig가 생성되면 OpenShift Container Platform에서 소스 복제 보안 참조를 자동으로 채울 수 있습니다. 이 동작을 사용하면 결과 빌드에서 참조된 보안에 저장된 인증 정보를 자동으로 사용하여 추가 구성없이 원격 Git 리포지토리에 인증할 수 있습니다.

이 기능을 사용하려면 Git 리포지토리 인증 정보가 포함된 보안이 나중에 BuildConfig 가 생성될 네임스페이스에 있어야 합니다. 시크릿에build.openshift.io/source-secret-match-uri- 접두사가 붙은 하나 이상의 주석이 추가로 포함되어야 합니다. 이러한 각 주석의 값은 다음과 같이 정의된 URI 패턴입니다. 소스 복제 보안 참조 없이 BuildConfig 가 생성되고 해당 Git 소스 URI는 Secret 주석의 URI 패턴과 일치하는 경우 OpenShift Container Platform은 BuildConfig 에 해당 보안에 참조를 자동으로 삽입합니다.

URI 패턴은 다음으로 구성되어야 합니다.

  • 유효한 스키마(*://, git://, http://, https:// 또는 ssh://).
  • 호스트 (* 또는 유효한 호스트 이름 또는 IP 주소, 필요한 경우 *..
  • 경로 (/* 또는 / 뒤에는 선택적으로 * 문자를 포함 하는 경우).

위의 모든 항목에서 * 문자는 와일드카드로 해석됩니다.

중요

URI 패턴은 RFC3986을 준수하는 Git 소스 URI와 일치해야 합니다. URI 패턴에 사용자 이름(또는 암호) 구성 요소를 포함하지 마십시오.

예를 들어 git 리포지토리 URL에 ssh://git@bitbucket.atlassian.com:7999/ATLASSIAN/jira.git 을 사용하는 경우 소스 보안을 ssh://bitbucket.atlassian.com:7999/* ( ssh://git@bitbucket.atlassian.com:7999/*아님)로 지정해야 합니다.

$ oc annotate secret mysecret \
    'build.openshift.io/source-secret-match-uri-1=ssh://bitbucket.atlassian.com:7999/*'

여러 보안이 특정 BuildConfig 의 Git URI와 일치하는 경우 OpenShift Container Platform은 가장 긴 일치 항목이 있는 보안을 선택합니다. 이렇게 하면 다음 예와 같이 기본 덮어쓰기가 가능합니다.

다음 조각은 두 개의 부분적인 소스 복제 보안을 보여줍니다. 첫 번째는 HTTPS를 통해 액세스하는 도메인 mycorp.com의 모든 서버와 일치하고, 두 번째는 서버 mydev1.mycorp.commydev2.mycorp.com에 대한 액세스 권한을 덮어씁니다.

kind: Secret
apiVersion: v1
metadata:
  name: matches-all-corporate-servers-https-only
  annotations:
    build.openshift.io/source-secret-match-uri-1: https://*.mycorp.com/*
data:
  ...

kind: Secret
apiVersion: v1
metadata:
  name: override-for-my-dev-servers-https-only
  annotations:
    build.openshift.io/source-secret-match-uri-1: https://mydev1.mycorp.com/*
    build.openshift.io/source-secret-match-uri-2: https://mydev2.mycorp.com/*
data:
  ...

다음을 사용하여 기존 보안에 build.openshift.io/source-secret-match-uri- 주석을 추가합니다.

$ oc annotate secret mysecret \
    'build.openshift.io/source-secret-match-uri-1=https://*.mycorp.com/*'
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.