도구 체인에서 시크릿 통합 사용

툴체인 설정 및 파이프라인 사용자 인터페이스에서 제공되는 비밀 관리 기능을 통해 IBM Cloud® Secrets Manager, IBM® Key Protect 또는 HashiCorp 볼트에 대한 비밀 통합을 사용하여 볼트에 저장된 비밀을 선택할 수 있습니다. 도구체인 또는 파이프라인 편집기는 Secrets Picker 대화 상자를 사용하여 by CRN(클라우드 리소스 이름) 또는 이름별로 구성된 바인딩된 비밀 통합에서 명명된 비밀을 선택한 다음 도구체인 및 파이프라인 내에서 런타임에 참조로 확인할 수 있습니다. After a secret is chosen, a CRN or canonical secret reference is injected into the corresponding toolchain or pipeline secure property where the format is either crn:v1:...secret:<secret-guid> if it's a Secrets Manager integration that is configured by CRN, or alternatively {vault::integration-name.secret-name} if it's a vault integration that uses any of the supported providers and configured 이름별.

현재 표준 경로의 각 섹션을 구분하는 데 이 문자가 사용되기 때문에 표준 별 이름 참조 형식은 비밀 이름에 마침표 문자가 포함된 비밀을 확인하지 못합니다.

by CRN 또는 이름별 중 사용되는 비밀 참조 유형에 관계없이 프런트엔드 사용자 인터페이스 구성 요소와 비밀 선택기 대화 상자에서는 비밀 참조만 사용합니다. by CRN 또는 이름별 비밀 참조의 확인된 값은 프런트엔드에 노출되지 않으며, 사용 가능한 허용된 권한 부여에 따라 도구 체인 및 파이프라인 내에서 런타임에 항상 동적으로 확인됩니다(IAM 권한 및 액세스 정책을 사용하여 구성됨).

IBM Cloud® 내에서 툴체인 및 파이프라인의 별 CRN별 이름 비밀 참조를 확인하는 동적 프로세스는 내부 가상 사설 엔드포인트(VPE)를 사용하여 모든 IBM Cloud® Secrets Manager 및 모든 리전에서의 IBM® Key Protect 공급자 인스턴스에 대해 수행됩니다. 이렇게 하면 툴체인, 파이프라인, IBM Cloud® Secrets Manager 및 IBM® Key Protect 공급자 인스턴스 간의 모든 요청 및 응답 데이터가 경계 내 사설 IBM Cloud 네트워크 내에 유지되고 공용 네트워크 채널을 통해 이동하지 않습니다.

도구체인의 바인딩된 비밀 통합에서 선택한 비밀을 하나씩 수동으로 선택하는 것 외에도 Secret Hint 을 사용하는 옵션도 사용할 수 있습니다. 이 옵션을 사용하면 툴체인 템플릿을 짧은 형식의 시크릿 참조인 추천 시크릿 이름(Hints 이라고도 함)으로 미리 정의할 수 있습니다. 비밀 힌트의 형식은 {vault::secret-name} 으로, 비밀 통합 이름이 포함되지 않습니다. 이렇게 하면 필요한 모든 비밀 이름을 toolchain.yml 에 미리 채울 수 있고, 이 이름은 툴체인에 구성된 모든 비밀 통합에 대해 자동으로 확인되므로 툴체인 작성자에게 유연성을 제공합니다.

앞서 설명한 대로 Secrets Manager를 구성하여 별 CRN 으로 비밀을 참조할 수 있습니다. 자세한 내용은 클라우드 리소스 이름(CRN)을 참조하세요. 이 형식은 올바른 인증이 있는 경우 다른 계정에 있는 Secrets Manager 인스턴스에서 비밀을 참조할 수 있으므로 유연성이 더 뛰어납니다. 자세한 내용은 Secrets Manager 구성하기 을 참조하세요.

Hint 은 툴체인에 바인딩된 모든 이름별 비밀번호 통합에서 동일한 이름의 첫 번째 일치하는 비밀번호에 대해 자동으로 확인되는 권장 기본 이름입니다.

DevSecOps 파이프라인 시크릿

CI와 CD 모두에서 사용되는 비밀 번호는 다음과 같습니다:

DevSecOps 비밀
시크릿 힌트 정보
IBM Cloud API 키 ibmcloud-api-key 필수: CI 및 CD IBM 퍼블릭 클라우드 인증 및 광범위한 작업 수행에 사용됨
GPG 개인 키 signing_key 필수입니다: CI 전용 CI 파이프라인에서 빌드한 이미지에 서명하는 데 사용되는 인증서입니다
IBM 개인용 작업자 서비스 API 키 private-worker-service-api-key 필수: CI 전용 서비스 ID API 키 텍톤 프라이빗 워커 서비스에서 배달 파이프라인 워크로드를 실행하는 데 사용됩니다
GitHub 액세스 토큰 git-token 선택 사항입니다: CI & CD GitHub 로 인증하고 리포지토리에 대한 액세스를 제공하는 데 사용됩니다
Artifactory API 토큰 artifactory-token 필수: CI & CD 파이프라인 작업에서 사용하는 이미지에 액세스하는 데 사용
Slack 웹훅 slack-webhook 선택 사항입니다: CI & CD 이 웹훅은 Slack 도구 통합을 사용하여 도구 체인 상태 알림을 게시하기로 선택한 경우 필요합니다
ServiceNow API 토큰 servicenow-api-token 필수: CD만 변경 관리 작업을 위해 Service Now에 액세스하는 데 사용
HashiCorp Vault 역할 ID role-id 필수: CI 및 CD HashiCorp Vault 서버 인증에 사용됨
HashiCorp Vault 시크릿 ID secret-id 필수: CI 및 CD HashiCorp Vault 서버 인증에 사용됨
IBM Cloud Object Storage 작성기 API 키 cos-api-key 필수: CI & CD Object Storage 서비스로 인증하는 데 사용 - 이 키에는 writer 권한이 있어야 합니다
SonarQube 비밀번호 또는 인증 토큰 sonarqube-password 선택 사항입니다: CI : SonarQube 소스 코드 분석기로 인증하는 데 사용됩니다

HashiCorp Vault 서버를 사용하는 경우, HashiCorp Vault 도구 통합이 AppRole 인증 방법 방법을 사용하는지 확인합니다. AppRole 인증 방법을 사용하는 경우, HashiCorp 볼트 서버를 도구체인과 성공적으로 통합하려면 role-idsecret-id 가 필요합니다. role-idsecret-id 은 그 자체로 비밀이므로, 툴체인 워크플로에서 안전하게 검색하고 적용할 수 있도록 IBM Key Protect 도구 통합을 사용하여 저장하는 것이 좋습니다. 다른 모든 툴체인 비밀은 HashiCorp 볼트 도구 통합을 사용하여 저장하고 검색해야 합니다.

파이프라인 환경 속성 git-token 이 설정되지 않은 경우, ibmcloud-api-key 은 기본적으로 Git Repos and Issue Tracking 액세스 토큰을 검색하는 데 사용됩니다. 하지만 ibmcloud-api-keygit에 대한 액세스 권한이 없는 경우, git-token을 설정해야 합니다.

시크릿 저장소 구성

IBM Cloud 에서는 민감한 데이터를 보호하고 비밀을 중앙 집중화하는 데 도움이 되는 다양한 비밀 관리 및 데이터 보호 서비스 중에서 선택할 수 있습니다. IBM Cloud 비밀 관리 에 설명된 대로 요구 사항에 따라 볼트 연동 기능 중 하나를 선택할 수 있습니다. 이 문서에서는 전제 조건에 대한 정보와 힌트라고 하는 규정된 비밀 번호 목록을 사용하는 방법에 대해 설명합니다. 템플리트에서 힌트를 사용하여 도구 체인에 첨부된 다양한 볼트 통합에서 수동으로 선택할 필요 없이 미리 구성된 시크릿으로 도구 체인을 자동으로 채울 수 있습니다.

사용 IBM Cloud® Secrets Manager 를 사용하여 도구 체인의 일부인 API 키, 이미지 서명 또는 HashiCorp 볼트 자격 증명과 같은 비밀을 안전하게 저장하고 적용합니다.

Secrets Manager 도구 통합 양식
IBM Secrets Manager 도구 통합

템플릿에는 다음 예시와 같이 HashiCorp Vault 도구 통합 기능도 포함되어 있습니다:

필수 필드와 예시 값이 포함된 HashiCorp Vault 도구 통합 양식
HashiCorp Vault 도구 통합

HashiCorp Vault를 사용하려면 다음 정보를 제공해야 합니다:

이름
이 도구 통합의 이름입니다. 이 이름은 도구 체인에 표시됩니다.
서버 URL
HashiCorp 볼트 인스턴스의 URL 서버입니다. 예를 들어, https://<vault-service>.<org>.com:8200입니다.
통합 URL
HashiCorp Vault 통합 타일을 클릭할 때 이동하려는 URL.
비밀 경로
HashiCorp 볼트 인스턴스에서 비밀이 저장되는 마운트 경로입니다.
인증 방법
HashiCorp 볼트 인스턴스에 대한 인증 방법입니다. AppRole을(를) 사용하십시오.
역할 ID
다른 자격 증명을 평가할 AppRole 을 선택하는 식별자입니다.
시크릿 ID
모든 로그인에 기본적으로 필요하며(secret_id 사용) 항상 비밀로 유지되는 자격증명입니다.

템플릿에는 IBM® Key Protect for IBM Cloud® 도구 통합 기능도 함께 제공됩니다:

Key Protect 필수 필드와 예시 값이 포함된 도구 통합 양식
IBM Key Protect 도구 통합

role idsecret id 를 Key Protect에 미리 저장한 경우 그림 2와 같이 도구 카드에서 해당 비밀이 포함된 Key Protect 인스턴스를 선택할 수 있습니다. 이 작업이 완료되면 역할 아이디비밀 아이디 필드에 있는 키 아이콘을 클릭하고 HashiCorp Vault 도구 카드에서 선택기를 사용해 해당 필드에 비밀을 적용할 수 있습니다.

마찬가지로 도구 체인에서 사용되는 다른 모든 비밀 번호에는 텍스트 필드에 키 아이콘이 첨부되어 있습니다. 동일한 선택기 컨트롤을 사용하여 나머지 모든 인스턴스에 HashiCorp Vault 비밀을 적용할 수 있습니다.