본문 바로가기
CSP (Cloud Service Provider)/GCP

Secret Manager 만들기

by BTC_yljo 2022. 8. 12.

안녕하세요~! BTC Hallo팀입니다.

 

오늘은 GCP의 Secret Manager를 만드는 방법에 대해 소개해드리고자 합니다.

 

Secret Manager에는 라벨 및 복제 정보와 같은 메타데이터와 함께 Secret Manager 버전이 한 개 이상 포함됩니다. Secret Manager의 실제 콘텐츠는 Secret Manager 버전에 저장됩니다.

 

Secret Manager에 적합한 복제 정책을 적용할 수 있습니다. 

 

복제 정책에는 자동과 사용자 관리의 2가지 유형이 있습니다.

 

자동

자동 복제 정책이 포함된 Secret Manager에는 제한 없이 복제되는 페이로드 데이터가 있습니다. 이는 가장 단순한 구성이며 대부분의 사용자에게 권장됩니다. Google Cloud CLI 또는 웹 UI를 사용해서 Secret Manager을 만들 때 기본 복제 정책입니다.

 

사용자 관리

사용자 관리 복제 정책이 포함된 Secret Manager에는 사용자가 구성된 위치 집합에 복제되는 페이로드 데이터가 있습니다. Secret Manager은 원하는 수만큼 지원되는 위치에 복제될 수 있습니다. 이는 Secret Manager 페이로드 데이터를 저장할 수 있는 위치에 요구사항이 있는 경우에 유용할 수 있습니다.

 

Secret Manager을 만들려면 프로젝트, 폴더 또는 조직의 Secret Manager 관리자 역할(roles/secretmanager.admin)이 필요합니다.

 

명령줄에서 Secret Manager를 사용하려면 먼저 Google Cloud CLI 버전 338.0.0 이상을 설치하거나 업그레이드합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.

 
$ gcloud secrets create secret-id \
    --replication-policy="automatic"

Secret Manager 버전 추가

Secret Manager 버전에는 Secret Manager의 실제 콘텐츠가 포함됩니다. Secret Manager 버전을 사용 설정, 중지 또는 삭제할 수 있습니다. Secret Manager 콘텐츠를 변경하려면 새 버전을 만듭니다.

Secret Manager 버전을 추가하려면 Secret Manager, 프로젝트, 폴더 또는 조직의 Secret Manager 관리자 역할(roles/secretmanager.admin)이 필요합니다. Secret Manager 버전에 역할을 부여할 수 없습니다.

 

명령줄에서 Secret Manager를 사용하려면 먼저 Google Cloud CLI 버전 338.0.0 이상을 설치하거나 업그레이드합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.

디스크 파일의 콘텐츠에서 Secret Manager 버전을 추가합니다.

 
$ gcloud secrets versions add secret-id --data-file="/path/to/file.txt"

명령줄에서 직접 Secret Manager 버전을 추가할 수도 있지만 일반 텍스트가 셸 기록에 표시되므로 권장되지 않습니다.

 
$ echo -n "this is my super secret data" | \
    gcloud secrets versions add secret-id --data-file=-

 

Secret Manager을 처음 만들 때 파일 콘텐츠에서 버전을 추가할 수 있습니다.

 
$ gcloud secrets create secret-id --data-file="/path/to/file.txt"

Secret Manager 버전에 액세스

Secret Manager 버전에 액세스하면 Secret Manager 버전과 Secret Manager 버전에 대한 추가 메타데이터가 반환됩니다. Secret Manager 버전에 액세스할 때 version-id를 지정합니다. "latest"를 버전으로 지정하면 최신 버전의 Secret Manager에 액세스할 수도 있습니다.

Secret Manager 버전에 액세스하려면 Secret Manager, 프로젝트, 폴더 또는 조직의 Secret Manager 접근자 역할(roles/secretmanager.secretAccessor)이 필요합니다. Secret Manager 버전에 IAM 역할을 부여할 수 없습니다.

 

리소스 일관성

Secret Manager에서 Secret Manager 버전을 추가한 후 즉시 이 Secret Manager 버전에 액세스하는 것은 strong consistency를 가지는 작업입니다. Secret Manager 내의 다른 작업은 eventual consistency를 가집니다. eventual consistency를 가지는 작업은 일반적으로 수 분 내에 수렴되지만 몇 시간이 걸릴 수 있습니다.

IAM 권한 전파는 eventual consistency를 가집니다. 즉, Secret Manager에 대한 액세스 권한 부여 또는 취소가 즉시 적용되지 않을 수 있습니다. 

 

명령줄에서 Secret Manager를 사용하려면 먼저 Google Cloud CLI 버전 338.0.0 이상을 설치하거나 업그레이드합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.

306.0.0 이전 버전의 Cloud SDK에서는 홈 디렉터리에 Secret Manager 자료를 로깅했습니다. 업그레이드하거나 core/disable_file_logging을 true로 설정합니다.

Secret Manager 버전에 액세스합니다.

 
$ gcloud secrets versions access version-id --secret="secret-id"

바이너리 Secret Manager 버전에 액세스합니다.

Cloud SDK는 출력을 바이너리 Secret Manager을 손상시킬 수 있는 UTF-8로 포맷합니다. 원시 바이트를 가져오려면 Cloud SDK가 응답을 base64로 인코딩 및 디코딩하여 출력합니다.

 
$ gcloud secrets versions access version-id --secret="secret-id" --format='get(payload.data)' |

 

이상으로 Secret Manager를 만드는 방법에 대해 설명드렸습니다.

 

출처

https://cloud.google.com/secret-manager/docs/creating-and-accessing-secrets

 

보안 비밀 만들기 및 액세스  |  Secret Manager 문서  |  Google Cloud

의견 보내기 보안 비밀 만들기 및 액세스 이 주제에서는 보안 비밀 생성, 보안 비밀 버전 추가, 보안 비밀 버전에 액세스하는 방법을 설명합니다. 보안 비밀 관리 방법에 대한 자세한 내용은 보

cloud.google.com

 

댓글