서비스 계정 키는 서비스 계정으로 인증할 수 있는 비공개 키입니다. 키 순환은 기존 키를 새 키로 바꾼 다음 교체된 키를 무효화하는 프로세스입니다. 서비스 계정 키를 포함하여 관리하는 모든 키를 정기적으로 순환하는 것이 좋습니다.
서비스 계정 키를 순환하면 유출되거나 도난당한 키로 인한 위험을 줄일 수 있습니다. 키가 유출되면 악의적인 사용자가 키를 찾는 데 며칠 또는 몇 주가 걸릴 수 있습니다. 서비스 계정 키를 정기적으로 순환하면 악의적인 사용자가 키를 획득할 때까지 유출된 키가 무효화될 가능성이 높습니다.
서비스 계정 키를 순환하는 프로세스를 설정하면 서비스 계정 키가 손상된 것으로 의심되는 경우 빠르게 조치를 취할 수 있습니다.
키 순환 빈도
유출된 키로 인한 위험을 줄이려면 최소 90일마다 키를 순환하는 것이 좋습니다.
서비스 계정 키가 손상되었다고 생각되면 즉시 순환하는 것이 좋습니다.
키 순환 프로세스
서비스 계정 키를 순환하려면 다음을 수행합니다.
- 순환해야 하는 서비스 계정 키를 식별합니다.
- 동일한 서비스 계정의 새 키를 만듭니다.
- 모든 애플리케이션에서 기존 키를 새 키로 바꿉니다.
- 교체된 키를 사용 중지하고 애플리케이션을 모니터링하여 예상대로 작동하는지 확인합니다.
- 교체된 서비스 계정 키를 삭제합니다.
중앙 집중식 보안 비밀 관리 서비스를 사용하거나 커스텀 알림 시스템을 사용하여 이 단계를 완료할 수 있습니다.
중앙 집중식 보안 비밀 관리 서비스
HashiCorp Vault와 같은 많은 중앙 집중식 보안 비밀 관리 서비스에서 자동 보안 비밀 순환을 제공합니다. 이러한 서비스를 사용하여 서비스 계정 키를 저장하고 순환할 수 있습니다.
서비스 계정 키를 저장하고 순환하기 위해 Google Cloud의 Secret Manager를 사용하지 않는 것이 좋습니다. 이는 Secret Manager 보안 비밀에 액세스하려면 애플리케이션에 Google Cloud가 인식할 수 있는 ID가 필요하기 때문입니다. 애플리케이션에 이미 Google Cloud가 인식할 수 있는 ID가 있는 경우 애플리케이션은 서비스 계정 키를 사용하는 대신 해당 ID를 사용하여 Google Cloud에 인증할 수 있습니다.
Azure KeyVault 및 AWS Secret Manager와 같은 다른 클라우드 기반 보안 비밀 관리 서비스에도 동일한 개념이 적용됩니다. 애플리케이션에 이미 클라우드 제공업체가 인식할 수 있는 ID가 있는 경우 서비스 계정 키를 사용하는 대신 해당 ID를 사용하여 Google Cloud에 인증할 수 있습니다.
커스텀 알림 시스템
서비스 계정 키 순환에 대한 또 다른 방법은 키를 순환해야 할 때 알림을 보내는 시스템을 만드는 것입니다. 예를 들어 생성된 지 90일이 지난 키가 감지되면 알림을 보내는 시스템을 만들 수 있습니다.
먼저 순환해야 하는 키를 식별해야 합니다. 이러한 키를 식별하려면 Cloud 애셋 인벤토리를 사용하여 특정 시간 전에 생성된 모든 서비스 계정 키를 검색하는 것이 좋습니다.
예를 들어 다음 명령어는 ID가 123456789012
인 조직에서 2023-03-10 00:00:00 UTC
이전에 생성된 모든 서비스 계정 키를 나열합니다.
gcloud asset search-all-resources \ --scope="organizations/123456789012" \ --query="createTime < 2023-03-10" \ --asset-types="iam.googleapis.com/ServiceAccountKey" \ --order-by="createTime"
Cloud 애셋 인벤토리에서 리소스 검색에 대해 자세히 알아보려면 리소스 검색을 참조하세요. 순환해야 하는 키를 식별한 후 적절한 팀으로 알림을 보낼 수 있습니다.
키 순환 알림을 받으면 다음을 수행해야 합니다.
- 동일한 서비스 계정에 새 키를 만듭니다.
- 모든 애플리케이션에서 기존 키를 새 키로 바꿉니다.
- 교체된 키를 사용 중지하고 애플리케이션을 모니터링하여 예상대로 작동하는지 확인합니다.
- 애플리케이션이 예상대로 작동하는지 확인한 후 교체된 키를 삭제합니다.
만료되는 서비스 계정 키
키 순환을 위해 만료되는 서비스 계정 키를 사용하지 않는 것이 좋습니다. 만료되는 키가 제대로 순환되지 않으면 서비스 중단이 발생할 수 있기 때문입니다. 만료되는 서비스 계정 키의 사용 사례에 대한 자세한 내용은 사용자 관리 키의 만료 시간을 참조하세요.