Secret Manager는 보안에 중요한 사항들을 바이너리 blob나 텍스트 문자열로 저장, 관리 엑세스 할 수 있습니다.
런타임 시 애플리케이션에 필요한 db password, API 키 또는 TLS 인증서와 같은 구성 정보를 저장하는데 사용됩니다.
Cloud KMS와 같은 키 관리 시스템을 사용하면 암호화 키를 관리하고 해당 키를 사용하여 데이터를 암호화하거나 복호화 할 수 있습니다. 하지만 키 자체를 보거나 확장하거나 내보낼 순 없습ㄴ디ㅏ.
마찬가지로 키 관리 시스템을 사용하여 민감한 정보를 전송하거나 저장하기 전에 암호화할 수 있습니다. 민감한 정보를 사용하기 전에 복호화할 수 있습니다. 키 관리 시스템을 사용하여 이 방법으로 보안 비밀을 보호하는 방법은 Secret Manager를 사용하는 방법보다 더 복잡하고 덜 효율적입니다.
Secret Manager로 보관되는 키 값은 Airflow connection에 등록하여 사용이 가능합니다. 보안에 취약하게 하드코딩하거나 json 파일로 키 값을 노출시키는거보다 보안적으로 뛰어납니다.
해당 키는 GCS를 확인할 수 있는 SA의 Connection key의 값을 넣어 다른 Project의 GCS 도 관리 및 확인할 수 있습니다.
gcloud secrets create secret-id \
--replication-policy="automatic"
Secret Manager를 만들려면 admin 권한이 필요하며 위의 명령어로 간단하게 만들 수 있습니다.
gcloud secrets versions access version-id --secret="secret-id"
gcloud secrets versions access version-id --secret="secret-id" --out-file="path/to/secret"
gcloud secrets versions access version-id --secret="secret-id" --format='get(payload.data)' | tr '_-' '/+' | base64 -d
위의 코드로 간단하게 secret manager의 버전을 추가하여 관리할 수 있습니다.
gcloud secrets versions describe version-id --secret="secret-id"
해당 명령어로 버전에 대한 세부정보를 가져올 수 있습니다.
'CSP (Cloud Service Provider) > GCP' 카테고리의 다른 글
Composer DAG 자동 실행 방지 설정 방법 (0) | 2022.11.11 |
---|---|
Cloud Run (0) | 2022.11.02 |
쿠버네티스 서비스(Kubernetes Service) (0) | 2022.11.01 |
[Google Cloud Platform] GCP 고객 사례 (0) | 2022.10.31 |
Google Cloud Armor (2) (0) | 2022.10.26 |
댓글