이 페이지에서는 보안 비밀 버전을 폐기하는 방법을 설명합니다. 폐기됨 상태에서는 보안 비밀 버전의 콘텐츠가 삭제됩니다. 보안 비밀 버전 폐기는 영구적인 작업입니다. 버전이 폐기된 후에는 보안 비밀 데이터에 액세스하거나 버전을 다른 상태로 복원할 수 없습니다.
보안 비밀 버전을 폐기하기 전에 이를 먼저 사용 중지하고 애플리케이션 동작을 관찰합니다. 예기치 않은 문제가 발생하면 보안 비밀 버전을 다시 사용 설정할 수 있습니다.
보안 비밀 또는 보안 비밀 버전을 중지하거나 폐기하면 이러한 변경사항이 시스템 전체에 전파되는 데 시간이 걸립니다. 필요한 경우 보안 비밀에 대한 액세스 권한을 취소할 수 있습니다. IAM 권한 변경사항은 몇 초 동안 일관성을 갖습니다.
필요한 역할
보안 비밀 버전을 폐기하는 데 필요한 권한을 얻으려면 관리자에게 보안 비밀에 대한 Secret Manager 보안 비밀 버전 관리자(roles/secretmanager.secretVersionManager
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
보안 비밀 버전 폐기
보안 비밀 버전을 폐기하려면 다음 방법 중 하나를 사용합니다.
콘솔
-
Google Cloud 콘솔에서 Secret Manager 페이지로 이동합니다.
-
Secret Manager 페이지에서 리전 보안 비밀 탭을 클릭한 후 보안 비밀을 클릭하여 해당 버전에 액세스합니다.
-
보안 비밀 세부정보 페이지의 버전 탭에서 폐기하려는 보안 비밀 버전을 선택합니다.
-
작업을 클릭한 후 폐기를 클릭합니다.
-
확인 대화상자가 표시되면 보안 비밀 ID를 입력하여 확인한 후 선택한 버전 폐기를 클릭합니다.
gcloud
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- VERSION_ID: 보안 비밀 버전의 리소스 이름입니다.
- SECRET_ID: 보안 비밀의 ID 또는 보안 비밀의 정규화된 식별자입니다.
- LOCATION: 보안 비밀의 Google Cloud 위치입니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows(PowerShell)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows(cmd.exe)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 보안 비밀의 Google Cloud 위치입니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다.
- SECRET_ID: 보안 비밀의 ID 또는 보안 비밀의 정규화된 식별자입니다.
- VERSION_ID: 보안 비밀 버전의 ID입니다.
HTTP 메서드 및 URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy
JSON 요청 본문:
{}
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID", "createTime": "2024-09-02T07:16:34.566706Z", "destroyTime": "2024-09-04T06:29:01.893743728Z", "state": "DESTROYED", "etag": "\"1621454a37ce7f\"" }
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 범위로 인증해야 합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Secret Manager Python SDK를 설치합니다. Compute Engine 또는 GKE에서는 cloud-platform 범위로 인증해야 합니다.
보안 비밀 버전의 지연된 폐기
Secret Manager 관리자 역할이 있는 사용자는 보안 비밀에서 보안 비밀 버전 폐기 지연 기능을 구성하여 보안 비밀 버전의 지연된 폐기를 설정할 수 있습니다. 이 기능이 사용 설정되었으면 보안 비밀 버전에 대해 폐기 요청이 있을 때 즉시 폐기되지 않습니다. 대신 보안 비밀 버전이 사용 중지되고 나중에 폐기될 날짜가 예약됩니다. 이 기간 동안 Secret Manager 관리자는 보안 비밀 버전을 복원할 수 있습니다.