Ruby on Rails
인증 키를 안전하게 저장
수색…
소개
많은 타사 API에는 악용을 방지 할 수있는 키가 필요합니다. 키를 발행 한 경우 공개 저장소에 키를 커밋하지 않는 것이 중요합니다. 이렇게하면 다른 사람들이 키를 훔칠 수 있습니다.
Figaro와 인증 키 저장
gem 'figaro'
를 추가하고 bundle install
실행하십시오. 그런 다음 bundle exec figaro install
; 이렇게하면 config / application.yml이 생성되어 .gitignore 파일에 추가되어 버전 제어에 추가되지 않게됩니다.
application.yml에 다음 형식으로 키를 저장할 수 있습니다.
SECRET_NAME: secret_value
여기서 SECRET_NAME 및 secret_value는 API 키의 이름 및 값입니다.
config / secrets.yml에이 비밀들을 지명해야합니다. 각 환경마다 서로 다른 비밀을 가질 수 있습니다. 파일은 다음과 같아야합니다.
development:
secret_name: <%= ENV["SECRET_NAME"] %>
test:
secret_name: <%= ENV["SECRET_NAME"] %>
production:
secret_name: <%= ENV["SECRET_NAME"] %>
이러한 키를 사용하는 방법은 다양하지만 예를 들어 개발 환경의 some_component
가 secret_name
액세스해야 secret_name
. config / environments / development.rb에서 다음을 입력하십시오.
Rails.application.configure do
config.some_component.configuration_hash = {
:secret => Rails.application.secrets.secret_name
}
end
마지막으로 Heroku에서 프로덕션 환경을 시작하려고한다고 가정 해 봅시다. 이 명령은 config / environments / production.rb의 값을 Heroku에 업로드합니다.
$ figaro heroku:set -e production
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow