암호화 리소스 관리

이 페이지에서는 암호화된 Google Distributed Cloud (GDC) 에어 갭 스토리지 버킷을 관리하는 방법을 보여줍니다.

시작하기 전에

스토리지 버킷은 특정 프로젝트의 범위가 지정된 리소스입니다. 프로젝트는 컨테이너 역할을 하며 버킷을 그룹화하고 Management API 서버를 통해 버킷을 관리할 수 있도록 합니다. 이 페이지에서 작업을 수행하려면 새 프로젝트를 만들거나 충분한 권한이 있는 기존 프로젝트를 선택해야 합니다.

필요한 IAM 역할

IAM 프로젝트 관리자에게 문의하여 프로젝트 네임스페이스에서 다음 역할을 요청하세요.

  • 프로젝트 버킷 관리자 (project-bucket-admin): 스토리지 버킷을 만들고, 업데이트하고, 삭제합니다.
  • 프로젝트 버킷 객체 뷰어 (project-bucket-object-viewer): 스토리지 버킷 및 객체의 세부정보를 보고 확인합니다.

자세한 내용은 버킷 액세스 권한 부여를 참고하세요.

개발 환경 준비

관리 API 서버 또는 전역 API 서버에 대해 명령어를 실행하려면 다음 단계를 따르세요.

  1. 로그인하고 생성합니다. 영역 관리 API 서버의 kubeconfig 파일이 없는 경우 kubeconfig 파일을 생성합니다.
  2. 이중 영역 버킷의 경우 다음 단계를 따르세요.

암호화 리소스 관리

v2 암호화가 있는 버킷에는 보안 비밀 kekRef와 여러 AEADKey가 생성됩니다. 여기서 kekRef는 사용 중인 활성 기본 AEADKey를 참조하는 데 사용되며 AEADKey에는 버킷에 속한 활성 및 보관처리된 AEADKey가 포함됩니다.

버킷의 활성 기본 AEADKey 새로고침

약 420억 개의 객체가 작성된 후 버킷의 기본 AEADKey를 새로고침하는 것이 좋습니다. 이러한 선제적인 단계는 보안을 강화하고 키 소진을 방지합니다. 새로고침 프로세스는 새 kekRef를 만들고 이전 AEADKey를 비활성화합니다. 새로고침 프로세스를 시작하려면 버킷과 연결된 kekRef 보안 비밀을 삭제합니다.

이전 kekRef는 다음 명령어를 실행하여 가져올 수 있습니다.

kubectl get secrets -n NAMESPACE_NAME -l  object.gdc.goog/bucket-name=BUCKET_NAME

그런 다음 다음을 실행하여 기존 kekRef를 삭제할 수 있습니다.

kubectl delete secrets OLD_KEKREF_NAME -n  NAMESPACE_NAME

삭제가 완료되면 다음을 실행하여 AGE를 기반으로 새 kekRef가 생성되었는지 확인할 수 있습니다.

kubectl get secrets -n NAMESPACE_NAME -l  object.gdc.goog/bucket-name=BUCKET_NAME

AGE를 기반으로 새 기본 AEADKey가 생성되었는지 확인합니다.

kubectl get aeadkeys -n NAMESPACE_NAME -l  cmek.security.gdc.goog/resource-name=BUCKET_NAME

버킷의 기본 AEADKey 순환

버킷의 AEADKey가 손상된 경우 버킷과 연결된 키 암호화 키를 수동으로 순환해야 합니다.

프로세스를 시작하려면 먼저 활성 기본 키를 새로고침해야 합니다. 이렇게 하면 새 활성 기본 AEADKey가 생성되고 이전 키 암호화 키가 비활성화된 것으로 표시됩니다. 기본 키를 새로고침한 후에는 후속 객체 업로드에서 새 AEADKey를 키 암호화 키로 사용합니다. 이전 AEADKey는 삭제되지 않으므로 이러한 키를 사용하여 이전에 암호화된 기존 객체를 복호화할 수 있습니다.

다음으로 버킷의 객체를 다운로드하고 다시 업로드한 후 이전 객체를 삭제하는 단계를 따릅니다.

버킷의 모든 객체를 다시 업로드한 후에는 비활성 AEADKey와 이전 객체를 정리할 수 있습니다. AGE를 기반으로 비활성화된 AEADKey를 식별합니다.

kubectl get aeadkeys -n NAMESPACE_NAME -l  cmek.security.gdc.goog/resource-name=BUCKET_NAME

마지막으로 AEADKey를 삭제하는 단계를 따릅니다.