보안이 필요한 변수와 Environment Variable
앞선 글에서 Environment Variable을 사용해 변수에 값을 저장하는 방법에 대해 배웠다. 하지만 Environment Variable을 사용해 DB이름이나 계정의 비밀번호 혹은 토큰을 저장하게 되면 보안에 문제가 생길 수 있다. 이를 해결하기 위해 쓰는 것이 바로 Secrets이다.
Secrets는 Environment Variable과 비슷하게 동작하지만, 외부로 공개되지 않는 Key-Value 쌍이다. 따라서 토큰이나 비밀번호 같은 보안이 필요한 정보들은 Secrets를 통해 저장해야 한다.
자 Secrets를 설정하는 방법에 대해 알아보자.
Secrets 설정하기
1. Settings -Secrets - Actions 에 진입한다.
2. new repository secrets 버튼을 누른다.
3. Name에 Key 값을 Secret에 Value 값을 입력한다. 여기서는 Key로 TEST_TOKEN 을 사용하고 이에 매핑되는 Secret을 test-token으로 설정했다.
Add secret을 누르면 Screts 설정이 끝난다. 자 이제 Secrets에 접근하는 법을 알아보자.
Secrets에 접근하기
1. Secrets에 접근하는 Workflow 파일을 만든다. 아래 파일은 Token 에 접근한다.
name: Environment Variable - Secrets
on: workflow_dispatch
jobs:
secrets-test:
runs-on: ubuntu-latest
steps:
- name: Access Secrets
run: |
echo "Secret Token : ${{ secrets.TEST_TOKEN }}"
2. 하지만 이 코드는 아무것도 출력하지 않는다. 이유는 Secrets로 설정된 값은 출력이 되지 않기 때문이다.
* 출력은 되지 않지만 코드 내부에서는 접근이 되었다.
반응형