정보 보안 숨기기 deploy
6608 단어 credentialcloudfoundryConcourse
저도 사용자로서cloudfoundry에서push 응용 프로그램을 사용하지만credential 정보의 관리가 어렵다고 생각해서 여기서 공유하고 싶습니다.
정보
DB와 API 인증에 사용된 ID, 패스 등을 취합해 이번 기고문에서credential 정보라고 부른다.
모티프
cf push
큰 사고 안 날까 wwwpush시...
cf set-env
로 이전 값 w잠깐만, 다들 이런 경험이 있을 것 같아.
나는 왜 이런 문제가 발생했는지 스스로 생각해 보았다.
그냥 디자인할 때 프로그램이 너무 많아서!
cf push -f path/to/manifest
해결되면 사고는 무한히 줄어들 것이다.1에 관해서는
manifest.yml
라는 manfest 파일을 넣지 않으면 다소 개선될 수 있다.cf push
에서 참고한 manfest 파일의 기본값manifest.yml
때문에2에 관해서는 본 투고의 주요 내용이다.
나는 정보를 파악하는 방법에 힘써 없애고 싶다
cf set-env
.정보의 파악 방법
cf push -f path/to/manifest
해결되면 사고는 무한히 줄어들 것이다.필요한 정보를 매니페스트에 잘 전달할 필요가 있다.
나는 세 가지 방법을 생각해 냈다.
github로 관리(안 돼, 안 돼.)
manifest-stg.yml
---
applications:
- name: app-stg
buildpack: php_buildpack
instances: 1
routes:
- route: app-stg.hogehoge.com
env:
DB_USERNAME: fooooooo
DB_PASSWORD: damedamedamedame
cf set-env
하지 않고 완성할 수 있도록 manifet으로 구성 관리를 해봤습니다.Bad Pratice 맞죠?
어렸을 때 할머니한테 credential 정보를 github 같은 거에 주면 안 된다는 얘기를 들은 적이 있는 것 같아요.
concourse를 통한 관리
clodfoundry용 CI/CD 도구Concourse.콘셉트는 각 잡들을 파이프라인으로 관리해 시각화할 수 있고 항상 멋있어 보여서 좋아해요.
그럼 콘서트의 상세한 사용법은 생략되었지만 cf의push를 진행하기 위해 Resourcecf-resource가 있습니다.
에서 발췌 README
pipeline.yml
- put: resource-deploy-web-app
params:
manifest: build-output/manifest.yml
environment_variables:
key: value
key2: value2
이렇게 하면 push를 진행할 수 있다.이것
environment_variables
을 잘 사용하여credential 정보를 숨깁니다.pipeline.yml
- put: resource-deploy-web-app
params:
manifest: build-output/manifest.yml
environment_variables:
key: ((value))
key2: ((value2))
Conciourse에서 파이프 셋업 시 다른 파일에서 수치를 참조할 수 있습니다(참조: Concourse:set-pipelinecredential 정보를 다른 파일에 넣고github로 관리하지 마세요.
그럼 그 서류는 어떻게 관리할까...그렇게 생각해.
팀과 공유하세요.
vault, credhub 및 합쳐서 사용하다 기타 파일은 필요 없습니다.
서비스 관리
마지막으로 서비스로 관리하는 방법을 씁니다.
하지만 내일@legnoh 기사에서 서비스에 대해 자세히 소개할 것 같으니 여기서 간단히 소개해 드리겠습니다.
manifest-stg.yml
---
applications:
- name: app-stg
buildpack: php_buildpack
instances: 1
routes:
- route: app-stg.hogehoge.com
services:
- dbservice
이렇게 대상 app와 서비스를 연결합니다.market place
cf market-place
에 서비스로 존재하는 경우 직접 사용하십시오.그런 거 없어요!이런 분들은 UserProvided Service 인스턴스하세요.
terminal
$ cf cups devservice -p "DB_USERNAME, DB_PASSWORD"
## ここらから対話式
DB_USERNAME> gooood
DB_PASSWORD> ariariariari
OK
이 정도면 됐어.이 방법은 콘서트에 의존하지 않기 때문에 누구나 실행할 수 있다.
더 자세히 알고 싶어졌지.
그러니까 내일@legnoh 투고를 점검해 봅시다!
최후
베스트인지 모르겠지만 여러분도 크리덴셜 메시지를 숨겨서 안심하고 안전한 cf life를 보내주세요.
성탄절이 다가오니 신나서 보내드렸습니다.
Reference
이 문제에 관하여(정보 보안 숨기기 deploy), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/cappyzawa/items/5a773d812a317c9879b9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)