보안 비밀 데이터는 변경할 수 없으며 대부분의 작업은 보안 비밀 버전에서 이루어집니다. 보안 비밀 버전에는 실제 보안 비밀 데이터와 보안 비밀에 대한 상태 및 메타데이터가 포함됩니다. 이 주제에서는 보안 비밀 버전을 추가하는 방법을 설명합니다.
필요한 역할
보안 비밀 버전을 추가하는 데 필요한 권한을 얻으려면 관리자에게 보안 비밀에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Secret Manager 보안 비밀 버전 추가자(
roles/secretmanager.secretVersionAdder
) -
Secret Manager 보안 비밀 버전 관리자(
roles/secretmanager.secretVersionManager
)
역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
보안 비밀 버전 추가
콘솔
-
Google Cloud 콘솔에서 Secret Manager 페이지로 이동합니다.
-
Secret Manager 페이지에서 더보기
를 클릭하고 새 버전 추가를 선택합니다. -
새 버전 추가 대화상자의 보안 비밀 값 필드에 보안 비밀 값(예:
abcd1234
)을 입력합니다. -
새 버전 추가 버튼을 클릭합니다.
gcloud
명령줄에서 Secret Manager를 사용하려면 먼저 Google Cloud CLI 버전 378.0.0 이상을 설치하거나 업그레이드합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.
디스크 파일의 콘텐츠에서 보안 비밀 버전을 추가합니다.
$ gcloud secrets versions add secret-id --data-file="/path/to/file.txt"
명령줄에서 직접 보안 비밀 버전을 추가할 수도 있지만 이 경우 프로세스 목록에 일반 텍스트로 표시되며 다른 시스템 사용자가 캡처할 수 있으므로 권장되지 않습니다. 일반 텍스트가 있는 명령어는 셸 기록에도 저장됩니다.
$ echo -n "this is my super secret data" | \
gcloud secrets versions add secret-id --data-file=-
선택사항: 보안 비밀을 처음 만들 때 파일 콘텐츠에서 버전을 추가합니다.
$ gcloud secrets create secret-id --data-file="/path/to/file.txt"
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Secret Manager C# SDK를 설치합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 Secret Manager Go SDK를 설치합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.
Java
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Secret Manager 자바 SDK를 설치합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Secret Manager Node.js SDK를 설치합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.
PHP
이 코드를 실행하려면 먼저 Google Cloud에서 PHP 사용하는 방법을 알아보고 Secret Manager PHP SDK를 설치합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Secret Manager Python SDK를 설치합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Secret Manager Ruby SDK를 설치합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.
API
이 예시에서는 curl을 사용하여 API를 사용하는 방법을 보여줍니다. gcloud auth print-access-token을 사용하여 액세스 토큰을 생성할 수 있습니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.
보안 비밀 데이터를 Base64로 인코딩하고 셸 변수로 저장합니다.
$ SECRET_DATA=$(echo "seCr3t" | base64)
curl을 사용하여 API를 호출합니다.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:addVersion" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"payload\": {\"data\": \"${SECRET_DATA}\"}}"
보안 비밀 버전 상태
보안 비밀 버전은 언제든지 다음 중 하나일 수 있습니다.
사용 설정됨 - 이 상태에서 보안 비밀 버전에 액세스하여 설명할 수 있습니다. 이 상태는 새로운 보안 비밀 버전의 기본 상태입니다.
중지됨 - 이 상태에서는 보안 비밀 버전에 액세스할 수 없지만 보안 비밀 콘텐츠는 여전히 존재합니다. 보안 비밀 버전을 다시 사용 설정하면 액세스 권한을 복원할 수 있습니다.
폐기됨 - 이 상태에서는 보안 비밀 버전의 콘텐츠가 삭제됩니다. 보안 비밀 버전을 다른 상태로 변경할 수 없습니다.
다음 단계
- 보안 비밀 버전에 액세스하는 방법 알아보기
- 보안 비밀 버전에 별칭을 할당하는 방법 알아보기
- 보안 비밀 버전 나열 및 버전 세부정보 보기 방법 알아보기