보안 비밀 데이터는 변경할 수 없으며 대부분의 작업은 보안 비밀 버전에서 이루어집니다. 보안 비밀 버전에는 실제 보안 비밀 데이터와 보안 비밀에 대한 상태 및 메타데이터가 포함됩니다. 이 페이지에서는 보안 비밀 버전을 추가하는 방법을 설명합니다.
버전 관리에 대한 자세한 내용은 버전 관리에 대한 이 동영상을 참조하세요.
필요한 역할
보안 비밀 버전을 추가하는 데 필요한 권한을 얻으려면 관리자에게 보안 비밀에 대해 다음 IAM 역할을 부여해 달라고 요청하세요.
- Secret Manager 보안 비밀 버전 추가자(
roles/secretmanager.secretVersionAdder) - Secret Manager 보안 비밀 버전 관리자 (
roles/secretmanager.secretVersionManager)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
보안 비밀 버전에 IAM 역할을 부여할 수 없습니다.
보안 비밀 버전 추가
보안 비밀 버전을 추가하려면 다음 방법 중 하나를 사용합니다.
콘솔
-
Google Cloud 콘솔에서 Secret Manager 페이지로 이동합니다.
-
Secret Manager 페이지에서 새 버전을 추가하려는 보안 비밀을 찾습니다.
-
해당 보안 비밀과 연결된 작업 메뉴를 클릭한 후 새 버전 추가를 클릭합니다. 새 버전 추가 대화상자가 표시됩니다.
-
보안 비밀 값 필드에
abcd1234와 같은 보안 비밀에 대한 값을 입력합니다. 또는 보안 비밀 값이 포함된 파일을 업로드할 수 있습니다. -
새 버전 추가를 클릭합니다.
gcloud
디스크 파일의 콘텐츠에서 보안 비밀 버전을 추가합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- SECRET_ID: 보안 비밀의 ID
- FILE_PATH: 버전 세부정보가 포함된 파일의 전체 경로(파일 이름 포함)입니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud secrets versions add SECRET_ID --data-file="FILE_PATH"
Windows(PowerShell)
gcloud secrets versions add SECRET_ID --data-file="FILE_PATH"
Windows(cmd.exe)
gcloud secrets versions add SECRET_ID --data-file="FILE_PATH"
응답에 새로 생성된 보안 비밀 버전이 포함됩니다.
명령줄에서 직접 보안 비밀 버전 추가
명령줄에서 직접 보안 비밀 버전을 추가할 수도 있지만 이 경우 프로세스 목록에 일반 텍스트로 표시되며 다른 시스템 사용자가 캡처할 수 있으므로 권장되지 않습니다. 일반 텍스트가 있는 명령어는 셸 기록에도 저장됩니다.
echo -n "SECRET_DATA" | \
gcloud secrets versions add SECRET_ID --data-file=-다음을 바꿉니다.
- SECRET_DATA: 보안 비밀 버전에 저장할 데이터입니다.
- SECRET_ID: 보안 비밀의 ID 또는 보안 비밀의 정규화된 식별자
선택사항: 보안 비밀을 처음 만들 때 파일 콘텐츠에서 버전을 추가합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- SECRET_ID: 보안 비밀의 ID
- FILE_PATH: 버전 세부정보가 포함된 파일의 전체 경로(파일 이름 포함)입니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud secrets create SECRET_ID --data-file="FILE_PATH"
Windows(PowerShell)
gcloud secrets create SECRET_ID --data-file="FILE_PATH"
Windows(cmd.exe)
gcloud secrets create SECRET_ID --data-file="FILE_PATH"
응답에 새로 생성된 보안 비밀 버전이 포함됩니다.
REST
보안 비밀 데이터를 Base64로 인코딩하고 셸 변수로 저장합니다.
$ SECRET_DATA=$(echo "seCr3t" | base64)
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다.
- SECRET_ID: 보안 비밀의 ID
HTTP 메서드 및 URL:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID:addVersion
JSON 요청 본문:
{"payload": {"data": "${SECRET_DATA}"}}
요청을 보내려면 다음 옵션 중 하나를 선택합니다.