CloudBuild에서 Secret Manager의 기밀 데이터를 변수로 가져오기
6878 단어 GCPSecretManagertech
이번에는 KMSSecret Manager(비밀 관리자) 대신 GCP 서비스를 통해 기밀 데이터를 관리하고 Google CloudBuild에서 데이터를 사용하는 방법을 정리할 것입니다.
KMS와 Secret Manager의 차이점(개인 의견)
기호화폐와 비밀번호 등 간단한 문자열을 관리하면 KMS보다 시크릿 매니저를 사용하는 것이 더 어렵지 않고 버전 관리가 가능하며 안전하고 수월하다.
한편, 기밀 데이터가 포함된 파일을 로컬로 암호화한 후 클라우드 빌드에서 복원하려면 KMS를 사용하는 것이 좋다.
Secret Manager 사용 API
프로젝트에서 Secret Manager를 처음 사용할 때는 GCP 콘솔에서 API를 활성화해야 합니다.
Secret Manager 열기 -
비밀 창설
마찬가지로 Secret Manager로부터 비밀을 만들었다.
CloudBuild에서 사용할 비밀의 이름과 값을 입력합니다.
CloudBuild가 비밀에 접근할 수 있도록 IAM 미리 설정
CloudBuild에서 이 비밀 값을 얻기 위해서는 CloudBuild의 서비스 계정에 IAM 정책을 주어야 합니다.
CloudBuild의 서비스 계정 이름 유지
GCP 콘솔의 IAM를 열면 구성원 목록에서 서비스 계정
○○@cloudbuild.gserviceaccount.com
[1]을 발견할 수 있습니다.이 문자열을 복사합니다.Secret Manager가 CloudBuild 에서 얻고자 하는 비밀 권한
다시 열기Secret Manager.작업 전에 [정보 패널]을 표시합니다.
사용할 비밀을 선택하고 정보 패널의 [구성원 추가] 단추를 누르면
○○@cloudbuild.gserviceaccount.com
시크릿 관리자에 비밀 액세스기를 부여합니다.이렇게 되면 클라우드 빌드에서 방금 만든 비밀에 접근할 수 있다.이렇게 준비하면 완성된다.
CloudBuild 단계에서 값 사용
cloudbuild.yaml
등의 CloudBuild 구성 파일에서 Secret Manager의 비밀을 사용하려면 다음과 같이 쓰십시오.cloudbuild.yml
steps:
- name: gcr.io/cloud-builders/docker
entrypoint: 'bash'
args: ['-c', 'docker run --env example=$$FOO_BAR']
secretEnv: ['FOO_BAR']
availableSecrets:
secretManager:
- versionName: projects/example/secrets/FOO_BAR/versions/1
env: FOO_BAR
간단히 설명하다.abilable Secrets에서 사용하고 싶은 비밀을 미리 성명합니다
availableSecrets:
secretManager:
- versionName: projects/example/secrets/FOO_BAR/versions/1
env: FOO_BAR
availableSecrets
아래에 사용할 비밀 정보를 보여 주는 필드secretManager
를 준비하세요.versionName
는 projects/GCPプロジェクト名/secrets/シークレット名/versions/バージョン番号
형식으로 지정됩니다.비밀이 업데이트되면 버전은 2
,3
로 바뀐다.step에서 변수 사용하기
steps:
- name: gcr.io/cloud-builders/docker
entrypoint: 'bash'
args: ['-c', 'docker run --env example=$$FOO_BAR']
secretEnv: ['FOO_BAR']
설명서(2021/02/23시)
によると、シークレットを参照するためには
entrypointとして
bash를 지정해야 합니다.args
부터-c
.-c
다음 문자열은 명령을 실행하는 문자열입니다.$$
의 접두사를 붙인다.더 자세한 절차로 문서를 읽는 것이 좋을 것 같습니다. Configuring builds to access the secret from Secret Manager
각주
찾을 수 없으면 CloudBuild의 API를 활성화해야 합니다.GCP 콘솔의 검색 창에서 "CloudBuild"를 검색하면 "CloudBuild API"가 성공적으로 실행됩니다. 여기서 활성화하십시오.↩︎
Reference
이 문제에 관하여(CloudBuild에서 Secret Manager의 기밀 데이터를 변수로 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/catnose99/articles/6cb0fc434a4a62텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)