Confidential Space 개요


Confidential Space는 여러 당사자의 민감한 데이터를 처리할 수 있는 격리된 환경을 제공하므로 데이터 소유자가 데이터를 기밀로 유지할 수 있습니다. 민감한 데이터에는 개인 식별 정보 (PII), 보호 건강 정보 (PHI), 지식 재산, 암호화된 보안 비밀, 머신러닝 (ML) 모델 등이 포함될 수 있습니다.

Confidential Space를 사용하여 원래 소유자와 상호 협의된 워크로드에만 표시되는 민감한 데이터를 처리할 수 있습니다. 또는 Confidential Space 환경의 운영자나 소유자가 처리 중인 데이터에 액세스할 수 없으므로 이를 사용하여 최종 고객에게 더 강력한 데이터 개인 정보 보호를 제공할 수 있습니다.

Confidential Space는 승인된 워크로드에만 보안 비밀을 해제하는 데 사용할 수 있는 신뢰할 수 있는 실행 환경 (TEE)을 사용합니다. 증명 프로세스와 강화된 OS 이미지는 워크로드가 연산자로부터 처리하는 워크로드와 데이터를 보호하는 데 도움이 됩니다.

Confidential Space 사용 사례와 보안 모델에 대한 자세한 내용은 Confidential Space 보안 개요를 참고하세요.

Confidential Space 구성요소

Confidential Space 시스템에는 세 가지 핵심 구성요소가 있습니다.

  • 워크로드: 보호된 리소스를 처리하는 코드가 포함된 컨테이너화된 이미지입니다. 이는 Container-Optimized OS를 기반으로 강화된 OS인 Confidential Space 이미지에서 실행됩니다. 이 이미지는 하드웨어 격리 및 원격 증명 기능을 제공하는 클라우드 기반 TEE인 컨피덴셜 VM에서 실행됩니다. 워크로드는 일반적으로 보호된 리소스와 별도의 프로젝트에 있습니다.

  • 증명 서비스: OpenID Connect(OIDC) 토큰 형식으로 증명 증거를 반환하는 원격 증명 검증자입니다. 토큰에는 워크로드의 식별 속성이 포함되어 있습니다. 증명 서비스는 워크로드가 실행되는 동일한 리전에서 실행됩니다.

  • 보호된 리소스: 인증 및 승인 시스템으로 보호되는 관리형 리소스입니다. 리소스가 Google Cloud에 있는 경우 Cloud Key Management Service (Cloud KMS) 키 또는 Cloud Storage 버킷과 같은 관리형 클라우드 리소스일 수 있습니다. 리소스가 Google Cloud 에 있지 않으면(예: 온프레미스 환경 또는 다른 클라우드에 있음) 모든 리소스가 될 수 있습니다.

Confidential Space 역할

Confidential Space 시스템의 구성요소는 다음과 같은 세 가지 역할을 가진 사용자가 관리합니다.

  • 데이터 공동작업자: 워크로드에서 작동하는 보호된 리소스를 소유하는 사람 또는 조직입니다. 데이터 공동작업자는 자신의 데이터에 액세스하고, 이 데이터에 대해 권한을 설정하고, 워크로드의 출력에 따라 해당 데이터를 기반으로 결과에 액세스할 수 있습니다.

    데이터 공동작업자는 서로의 데이터에 액세스하거나 워크로드 코드를 수정할 수 없습니다.

    데이터 공동작업자의 역할에 대해 자세히 알아보려면 컨피덴셜 리소스에 대한 액세스 권한 만들기 및 부여를 참고하세요.

  • 워크로드 작성자: 기밀 데이터에 액세스하고 이를 처리하는 애플리케이션을 만드는 사람입니다. Docker를 사용하여 컨테이너화된 이미지에 애플리케이션을 추가하고 Artifact Registry와 같은 저장소에 이미지를 업로드합니다.

    워크로드 작성자는 데이터나 결과에 액세스할 수 없으며 액세스를 제어할 수도 없습니다.

    워크로드 작성자의 역할에 대해 자세히 알아보려면 워크로드 만들기 및 맞춤설정을 참고하세요.

  • 워크로드 운영자: 워크로드를 실행하는 사람입니다. 워크로드 운영자에게는 일반적으로 워크로드를 실행하는 프로젝트에 대한 전체 관리 권한이 있습니다. 예를 들어 프로젝트의 리소스 (예: Compute Engine 인스턴스, 디스크, 네트워킹 규칙)를 관리하고 이러한 리소스에 작용하는Google Cloud API와 상호작용할 수 있습니다.

    워크로드 운영자는 데이터에 액세스할 수 없으며 데이터에 대한 액세스를 제어할 수도 없습니다. 워크로드 코드 또는 실행 환경에 영향을 주거나 이를 수정할 수 없습니다.

    워크로드 운영자의 역할에 대해 자세히 알아보려면 워크로드 배포를 참고하세요.

한 사람이 이러한 역할을 하나 이상 맡을 수 있습니다. 최고 수준의 보안을 위해 Confidential Space는 데이터 공동작업자, 워크로드 작성자, 워크로드 운영자가 서로 신뢰하지 않는 별도의 신뢰 모델을 지원합니다. 모든 역할은 필요한 결과를 얻기 위해 서로 협업해야 합니다.

Confidential Space 흐름의 예

Confidential Space는 여러 Google Cloud 서비스를 사용하여 비공개 정보가 기밀로 처리되도록 지원합니다. 일반적으로 컨피덴셜 스페이스 설정은 다음 프로세스와 유사할 수 있습니다.

  1. 여러 데이터 공동작업자가 암호화된 기밀 데이터를 자체 격리된 Google Cloud 프로젝트에 저장합니다(종종 서로 다른 조직에 있음). 이들은 서로 또는 외부 당사자에게 데이터를 공개하지 않고 해당 데이터를 비교하고 처리하기를 원합니다. 암호화된 데이터는 Cloud Storage, BigQuery 또는 다른 서비스에 있을 수 있습니다.

  2. 데이터 공동작업자는 테스트 워크로드가 작동할 모의 비기밀 데이터를 만듭니다. 이 데이터는 서로 다른 파일이거나 별도의 Cloud Storage 버킷과 같은 다른 위치에 있을 수 있습니다.

  3. 데이터 공동작업자가 워크로드 아이덴티티 풀 (WIP)을 만듭니다. 나중에 워크로드 운영자의 별도 격리된 프로젝트에서 실행되는 워크로드가 해당 WIP를 사용하여 공동작업자의 기밀 데이터에 액세스할 수 있습니다.

  4. 워크로드 작성자는 컨피덴셜 데이터를 처리하는 코드를 작성합니다. 데이터 공동작업자 및 워크로드 운영자와 별도의 프로젝트에서 Docker를 사용하여 컨테이너화된 이미지를 빌드하고 Artifact Registry에 업로드합니다.

  5. 워크로드 운영자는 데이터 공동작업자의 암호화된 컨피덴셜 데이터가 저장된 위치에 대한 읽기 액세스 권한과 복호화된 데이터에 대한 작업 결과를 출력할 위치 (예: Cloud Storage 버킷)에 대한 쓰기 액세스 권한이 있는 격리된 프로젝트에 서비스 계정을 만듭니다. 나중에 이 서비스 계정은 워크로드를 실행하는 컨피덴셜 VM에 연결됩니다.

  6. 데이터 공동작업자가 워크로드 아이덴티티 풀에 공급자를 추가합니다. 사용해야 하는 증명 서비스, 로그에 감사 추적을 생성하는 속성 매핑, 속성 조건과 같은 세부정보를 제공자에 추가합니다. 이 세부정보는 컨피덴셜 스페이스 이미지, 워크로드 컨테이너, 워크로드 VM 인스턴스에서 이루어진 어설션을 확인합니다. 워크로드가 이 확인을 통과하면 기밀 데이터에 액세스하고 이를 복호화할 수 있습니다.

  7. 워크로드 운영자의 프로젝트에서 컨피덴셜 VM 인스턴스를 시작하여 컨피덴셜이 아닌 데이터에서 워크로드를 테스트합니다. VM은 컨테이너화된 워크로드를 로드하는 Confidential Space 이미지의 디버그 버전을 기반으로 합니다.

    VM의 증명이 확인되고 워크로드가 데이터 공동작업자의 조건을 통과하면 VM에 연결된 서비스 계정이 컨피덴셜 데이터에 액세스하고, 이를 처리하고, 결과를 출력할 수 있습니다.

  8. 모니터링 및 디버깅이 완료되면 프로덕션 용도로 워크로드가 업데이트됩니다. 데이터 공동작업자는 필요한 경우 워크로드 ID 제공업체를 업데이트하고 잠그며, 먼저 비기밀 데이터에서 프로덕션 워크로드를 테스트할 수 있습니다.

  9. 모든 당사자가 프로덕션 워크로드에 서명하고 기밀 데이터 작업을 시작할 준비가 됩니다.

요구사항

Confidential Space가 작동하려면 컨피덴셜 VM이 필요합니다. 컨피덴셜 VM 인스턴스는 컨피덴셜 컴퓨팅 기술로 AMD SEV, Intel TDX 또는 NVIDIA 컨피덴셜 컴퓨팅이 적용된 Intel TDX (미리보기)를 사용해야 합니다. 지원되는 구성에서 하드웨어 구성 옵션과 컨피덴셜 VM 인스턴스를 만들 수 있는 위치를 알아보세요.

다음 단계