Google Cloud 아키텍처 프레임워크의 이 문서에서는 데이터 보안을 구현하기 위한 권장사항을 제공합니다.
배포 아키텍처의 일부로 Google Cloud에서 처리하고 저장할 데이터 및 데이터의 민감도를 고려해야 합니다. 수명 주기 동안 데이터를 보호하고, 데이터 소유권 및 분류를 식별하고, 승인되지 않은 사용으로부터 데이터를 보호할 수 있도록 제어를 설계합니다.
이 문서에 설명된 보안 권장사항에 따라 BigQuery 데이터 웨어하우스를 배포하는 보안 청사진은 기밀 데이터를 저장하는 BigQuery 데이터 웨어하우스 보안을 참조하세요.
자동으로 데이터 분류
데이터 관리 수명 주기 초기(이상적으로 데이터 생성 시)에 데이터 분류를 수행하는 것이 좋습니다. 일반적으로 데이터 분류 작업에는 다음과 같은 몇 가지 카테고리만 필요합니다.
- 공개: 공개 액세스가 승인된 데이터
- 내부: 일반에 공개되지 않은 민감하지 않은 데이터
- 기밀: 일반적인 내부 배포에 사용할 수 있는 민감한 데이터
- 제한: 제한된 배포가 필요한 매우 민감하거나 규제되는 데이터
민감한 정보 보호를 사용하여 Google Cloud 환경에서 데이터를 검색하고 분류할 수 있습니다. 민감한 정보 보호는 Cloud Storage, BigQuery, Datastore에서 민감한 정보를 스캔하고 분류하는 기능을 기본적으로 제공합니다. 추가 데이터 소스와 커스텀 워크로드를 지원하는 스트리밍 API도 있습니다.
민감한 정보 보호는 기본 제공 infoType을 사용하여 민감한 정보를 식별할 수 있으며, 민감한 요소(예: PII 데이터)를 자동으로 분류, 마스킹, 토큰화, 변환하여 데이터 수집, 저장, 사용의 위험을 관리할 수 있습니다. 즉, 데이터 수명 주기 프로세스와 통합하여 모든 단계의 데이터를 보호할 수 있습니다.
자세한 내용은 민감한 정보 보호를 사용하여 대규모 데이터 세트에서 PII 익명화 및 재식별을 참조하세요.
메타데이터를 사용하여 데이터 거버넌스 관리
데이터 거버넌스는 데이터의 보안, 개인정보 보호, 정확성, 가용성, 사용성을 보장하는 프로세스의 조합입니다. 조직의 데이터 거버넌스 전략을 정의할 책임은 개발자에게 있지만 Google Cloud는 이러한 전략을 구현하는 데 도움이 되는 도구와 기술을 제공합니다. 또한 Google Cloud는 클라우드에서 데이터 거버넌스용 프레임워크(PDF)를 제공합니다.
Data Catalog를 통해 메타데이터를 찾고 선별하고 사용하여 클라우드의 데이터 애셋을 설명합니다. Data Catalog를 사용하여 데이터 애셋을 검색한 후 메타데이터로 애셋에 태그를 지정할 수 있습니다. 데이터 분류 작업을 가속화하기 위해 Data Catalog를 민감한 정보 보호와 통합하여 기밀 데이터를 자동으로 식별할 수 있습니다. 데이터에 태그를 지정한 후에는 Google Identity and Access Management(IAM)를 사용하여 Data Catalog 뷰를 통해 쿼리하거나 사용할 수 있는 데이터를 제한할 수 있습니다.
Dataproc Metastore 또는 Hive Metastore를 사용하여 워크로드의 메타데이터를 관리합니다. Data Catalog에는 서비스가 Hive Metastore에 있는 메타데이터를 검색할 수 있도록 하는 Hive 커넥터가 있습니다.
Dataprep by Trifacta를 사용하여 콘솔을 통해 데이터 품질 규칙을 정의하고 적용합니다. Cloud Data Fusion 내에서 Dataprep을 사용하거나 Dataprep을 독립형 서비스로 사용할 수 있습니다.
수명 주기 단계 및 분류에 따라 데이터 보호
수명 주기의 맥락에서 데이터를 정의하고 민감도와 위험에 따라 데이터를 분류한 후에는 적절한 보안 제어를 할당하여 보호할 수 있습니다. 제어가 적절한 보호를 제공하고, 규정 준수 요구사항을 충족하며, 위험을 줄일 수 있는지 확인해야 합니다. 클라우드로 이전할 때 현재 전략과 현재 프로세스를 변경해야 하는 위치를 검토하세요.
다음 표에서는 클라우드 데이터 보안 전략의 세 가지 특성을 설명합니다.
특성 | 설명 |
---|---|
식별 | 데이터를 생성, 수정, 저장, 사용, 공유, 삭제할 때 사용자, 리소스, 애플리케이션의 ID를 이해합니다. Cloud ID 및 IAM을 사용하여 데이터에 대한 액세스를 제어합니다. ID에 인증서가 필요한 경우 Certificate Authority Service를 사용하는 것이 좋습니다. 자세한 내용은 ID 및 액세스 관리를 참조하세요. |
경계 및 액세스 | 데이터 액세스 방법, 액세스하는 사용자, 상황에 따라 제어를 설정합니다. 데이터에 대한 액세스 경계를 다음 수준에서 관리할 수 있습니다.
|
공개 상태 | 사용량을 감사하고 데이터를 제어하고 액세스하는 방법을 보여주는 보고서를 만들 수 있습니다. Google Cloud Logging 및 액세스 투명성은 자체 클라우드 관리자 및 Google 직원의 활동에 대한 유용한 정보를 제공합니다. 자세한 내용은 데이터 모니터링을 참조하세요. |
데이터 암호화
기본적으로 Google Cloud는 사용자가 아무런 조치를 취하지 않아도 저장된 고객 데이터를 암호화합니다. Google Cloud는 기본 암호화 외에도 봉투 암호화 및 암호화 키 관리를 위한 옵션을 제공합니다. 예를 들어 Compute Engine 영구 디스크는 자동으로 암호화되지만 자체 키를 제공하거나 관리할 수 있습니다.
스토리지, 컴퓨팅 또는 빅데이터 워크로드 등 어떤 용도의 키를 선택하든 키 생성, 보관, 순환을 위한 요구사항에 가장 적합한 솔루션을 찾아야 합니다.
Google Cloud에는 다음과 같은 암호화 및 키 관리 옵션이 포함되어 있습니다.
- 고객 관리 암호화 키(CMEK). Cloud Key Management Service(Cloud KMS)를 사용하여 암호화 키를 생성하고 관리할 수 있습니다. 암호화 키를 정기적으로 순환해야 하는 경우와 같은 특정 키 관리 요구사항이 있는 경우 이 옵션을 사용합니다.
- 고객 제공 암호화 키(CSEK) 자체 암호화 키를 만들고 관리한 다음 필요한 경우 Google Cloud에 제공할 수 있습니다. 온프레미스 키 관리 시스템에서 자체 키를 생성하여 자체 키를 조달하는 경우(BYOK) 이 옵션을 사용합니다. CSEK를 사용하여 자체 키를 제공하는 경우 Google에서 키를 복제하여 워크로드에 제공합니다. 그러나 고객 제공 키는 인스턴스 템플릿 또는 Google 인프라에 저장되지 않으므로 CSEK의 보안 및 가용성에 대한 책임은 사용자에게 있습니다. 키에 대한 액세스가 손실되면 Google에서는 암호화된 데이터를 복구할 수 없습니다. 직접 만들고 관리할 키를 신중하게 고려하세요. 가장 민감한 정보에만 CSEK를 사용하는 것이 좋습니다. 또 다른 옵션은 데이터에 클라이언트 측 암호화를 수행한 후 암호화된 데이터를 Google Cloud에 저장하는 것이며, 여기서 데이터는 Google이 다시 암호화합니다.
- Cloud 외부 키 관리자(Cloud EKM)를 사용하는 타사 키 관리 시스템. Cloud EKM은 Google 인프라 외부에서 제어하는 서드 파티 키 관리 시스템에서 저장 및 관리되는 암호화 키를 사용하여 저장 데이터를 보호합니다. 이 방법을 사용하면 조직 외부의 사람이 데이터에 액세스할 수 없다는 확신을 가질 수 있습니다. Cloud EKM을 사용하면 키 관리를 위한 HYOK(Hold-Your-Own-Key) 모델을 얻을 수 있습니다. 호환성 정보는 Cloud EKM이 사용 설정된 서비스 목록을 참조하세요.
또한 Cloud KMS를 사용하면 소프트웨어 지원 암호화 키 또는 FIPS 140-2 Level 3 검증 하드웨어 보안 모듈(HSM)로 데이터를 암호화할 수 있습니다. Cloud KMS를 사용하는 경우 암호화 키는 리소스를 배포하는 리전에 저장됩니다. Cloud HSM은 키 관리 요구사항을 여러 리전에 분산하여 키의 중복성과 전역 가용성을 제공합니다.
봉투 암호화 작동 원리에 대한 자세한 내용은 Google Cloud의 저장 데이터 암호화를 참조하세요.
데이터에 대한 클라우드 관리자의 액세스 권한 제어
Google Cloud의 환경에 대한 Google 지원 및 엔지니어링 담당자의 액세스를 제어할 수 있습니다. 액세스 승인을 사용하면 Google 직원이 Google Cloud의 데이터나 리소스에 액세스하기 전에 명시적으로 승인할 수 있습니다. 이 제품은 Google 직원이 데이터와 상호작용할 때 로그를 생성하는 액세스 투명성에서 제공하는 가시성을 보완합니다. 이러한 로그에는 사무실 위치와 액세스 이유가 포함됩니다.
이러한 제품을 함께 사용하면 어떤 이유로든 Google에서 데이터를 복호화하지 못하도록 거부할 수 있습니다.
데이터가 저장되는 위치와 사용자가 액세스할 수 있는 위치 구성
VPC 서비스 제어를 사용하여 사용자가 데이터에 액세스할 수 있는 네트워크 위치를 제어할 수 있습니다. 이 제품을 사용하면 특정 리전의 사용자로 액세스를 제한할 수 있습니다. Google IAM 정책에 따라 사용자가 승인된 경우에도 이 제약조건을 적용할 수 있습니다. VPC 서비스 제어를 사용하면 서비스에서 액세스할 수 있는 가상 경계를 정의하는 서비스 경계를 만들어 해당 경계 외부로 데이터가 이동되지 않도록 막을 수 있습니다.
자세한 내용은 다음을 참조하세요.
- Cloud Storage에 업로드되는 데이터 분류 자동화
- 클라우드에서의 데이터 거버넌스
- 데이터 웨어하우스에서 BigQuery로의 데이터 거버넌스
- Cloud Hive Metastore 사용 가능
Secret Manager를 사용하여 보안 비밀 관리
Secret Manager를 사용하면 모든 보안 비밀을 중앙 위치에 저장할 수 있습니다. 보안 비밀은 데이터베이스 비밀번호, API 키 또는 TLS 인증서와 같은 구성 정보입니다. 보안 비밀을 자동으로 순환할 수 있으며, 최신 버전의 보안 비밀을 자동으로 사용하도록 애플리케이션을 구성할 수 있습니다. Secret Manager와의 모든 상호작용은 감사 로그를 생성하므로 모든 보안 비밀에 대한 모든 액세스를 볼 수 있습니다.
민감한 정보 보호에는 Secret Manager와 함께 보호할 수 있는 데이터의 사용자 인증 정보와 보안 비밀을 식별하는 데 도움이 되는 감지기 카테고리도 있습니다.
데이터 모니터링
관리 활동 및 키 사용 로그를 보려면 Cloud 감사 로그를 사용하세요. 데이터를 보호하려면 Cloud Monitoring을 통해 로그를 모니터링하여 키가 적절하게 사용되는지 확인합니다.
Cloud Logging은 Google Cloud 이벤트를 캡처하고 필요한 경우 소스를 추가할 수 있게 해줍니다. 리전별로 로그를 세분화하고, 로그를 버킷에 저장하고, 로그 처리를 위한 커스텀 코드를 통합할 수 있습니다. 예시를 보려면 자동화된 로그 분석을 위한 커스텀 솔루션을 참조하세요.
또한 BigQuery로 로그를 내보내어 보안 및 액세스 분석을 수행하여 승인되지 않은 변경사항과 조직 데이터에 대한 부적절한 액세스를 식별할 수 있습니다.
Security Command Center는 클라우드에 저장된 민감한 조직 데이터에 대한 안전하지 않은 액세스 문제를 식별하고 해결하는 데 도움이 됩니다. 단일 관리 인터페이스를 통해 클라우드 인프라에 대한 다양한 보안 취약점과 위험을 스캔할 수 있습니다. 예를 들어 데이터 무단 반출을 모니터링하고, 스토리지 시스템에서 기밀 데이터를 스캔하고, 인터넷에 열려 있는 Cloud Storage 버킷을 감지할 수 있습니다.
다음 단계
다음 리소스를 통해 데이터 보안에 대해 자세히 알아보세요.
애플리케이션을 안전하게 배포(이 시리즈의 다음 문서)