Visão geral do Confidential Space

O Confidential Space oferece um ambiente isolado para operar dados sensíveis de várias partes, para que os proprietários desses dados possam mantê-los confidenciais. Os dados sensíveis podem incluir informações de identificação pessoal (PII), informações protegidas de saúde (PHI), propriedade intelectual, secrets criptográficos, modelos de aprendizado de máquina (ML) ou interações com modelos de linguagem grandes (LLMs).

Você pode usar o Confidential Space para operar dados sensíveis que só ficam visíveis para os proprietários originais e uma carga de trabalho mutuamente acordada. Como alternativa, você pode usá-lo para oferecer aos clientes finais maior privacidade de dados, já que o operador ou proprietário de um ambiente do Confidential Space não pode acessar os dados que estão sendo processados.

O Confidential Space é um ambiente de execução confiável (TEE) que pode ser usado para liberar seus secrets somente para cargas de trabalho autorizadas. Um processo de atestação e uma imagem do SO reforçada ajudam a proteger a carga de trabalho e os dados que ela processa de um operador.

Para mais detalhes sobre os casos de uso e o modelo de segurança do Confidential Space, consulte Visão geral da segurança do Confidential Space.

Componentes do Confidential Space

Um sistema de Confidential Space tem três componentes principais:

  • Uma carga de trabalho: uma imagem conteinerizada que contém código que processa os recursos protegidos. Ela é executada sobre uma imagem do Confidential Space, um SO reforçado baseado no Container-Optimized OS. Isso, por sua vez, é executado em uma VM confidencial que oferece isolamento de hardware e recursos de atestado remoto. A carga de trabalho normalmente está localizada em um projeto separado dos recursos protegidos.

  • Um serviço de atestação: um verificador remoto que retorna evidências de atestação de uma entidade na forma de tokens de identidade. Os tokens contêm atributos de identificação para a carga de trabalho. O Confidential Space oferece suporte aos seguintes serviços de atestação:

    • Google Cloud Attestation: oferece suporte a instâncias de VM AMD SEV e Intel TDX. É executado na mesma região em que a carga de trabalho é executada.

    • Intel Trust Authority: oferece suporte a instâncias de VM Intel TDX. É executado em uma região da Intel Trust Authority que você define.

  • Recursos protegidos: recursos gerenciados protegidos por um sistema de autenticação e autorização. Se os recursos estiverem no Google Cloud Google Cloud, eles poderão ser recursos gerenciados na nuvem, como chaves do Cloud Key Management Service (Cloud KMS) ou buckets do Cloud Storage. Se os recursos não estiverem no Google Cloud Google Cloud (por exemplo, em um ambiente on-premise ou em outra nuvem), eles poderão ser qualquer recurso.

Papéis do Confidential Space

Os componentes em um sistema do Confidential Space são gerenciados por pessoas com três papéis distintos:

  • Colaboradores de dados: as pessoas ou organizações que são proprietárias dos recursos protegidos que estão sendo operados pela carga de trabalho. Os colaboradores de dados podem acessar os próprios dados, definir permissões nesses dados e, dependendo da saída da carga de trabalho, podem acessar resultados com base nesses dados.

    Os colaboradores de dados não podem acessar os dados uns dos outros nem modificar o código da carga de trabalho.

    Consulte Criar e conceder acesso a recursos confidenciais para saber mais sobre o papel dos colaboradores de dados.

  • Autor da carga de trabalho: a pessoa que cria o aplicativo que acessa e processa os dados confidenciais. Eles adicionam o aplicativo a uma imagem conteinerizada , por exemplo, usando Docker, e fazem o upload da imagem para um repositório, como o Artifact Registry.

    O autor da carga de trabalho não tem acesso aos dados ou aos resultados e não pode controlar o acesso a eles.

    Consulte Criar e personalizar cargas de trabalho para saber mais sobre o papel do autor da carga de trabalho.

  • Operador de carga de trabalho: a pessoa que executa a carga de trabalho. O operador de carga de trabalho normalmente tem privilégios administrativos totais no projeto em que executa a carga de trabalho. Por exemplo, ele pode gerenciar recursos no projeto (como instâncias do Compute Engine, discos e regras de rede) e interagir com qualquer Google Cloud API que funcione neles.

    O operador de carga de trabalho não tem acesso aos dados e não pode controlar o acesso a eles. Ele não pode influenciar ou modificar o código de carga de trabalho ou o ambiente de execução.

    Consulte Implantar cargas de trabalho para saber mais sobre o papel do operador de carga de trabalho.

Uma pessoa pode assumir um ou mais desses papéis. Para maior segurança, o Confidential Space oferece suporte a um modelo de confiança em que colaboradores de dados, autores de carga de trabalho e operadores de carga de trabalho são partes separadas e mutuamente não confiáveis. Todos os papéis precisam colaborar uns com os outros para receber os resultados necessários.

Um exemplo de fluxo do Confidential Space

O Confidential Space usa vários Google Cloud serviços para ajudar a operar informações particulares de forma confidencial. Em geral, a configuração de um Confidential Space pode ser semelhante ao processo a seguir:

  1. Vários colaboradores de dados armazenam dados confidenciais criptografados em seus próprios projetos Google Cloud isolados, geralmente em organizações diferentes. Eles querem comparar e processar esses dados sem revelá-los uns aos outros ou a terceiros. Os dados criptografados podem estar no Cloud Storage, BigQuery, ou em outro serviço.

  2. Os colaboradores de dados criam dados de simulação não confidenciais para uma carga de trabalho de teste operar. Esses dados podem ser arquivos diferentes ou estar em um lugar diferente, como um bucket separado do Cloud Storage.

  3. Os colaboradores de dados criam um pool de identidade da carga de trabalho (WIP, na sigla em inglês). Mais tarde, uma carga de trabalho executada em um projeto separado e isolado de um operador de carga de trabalho pode usar esse WIP para acessar os dados confidenciais dos colaboradores.

  4. O autor da carga de trabalho escreve código para processar os dados confidenciais. Em um projeto separado dos colaboradores de dados e do operador de carga de trabalho, ele cria uma imagem conteinerizada com o Docker e faz o upload dela para o Artifact Registry.

  5. O operador de carga de trabalho cria uma conta de serviço em um projeto isolado que tem acesso de leitura ao local em que os dados confidenciais criptografados dos colaboradores de dados são armazenados e acesso de gravação a algum lugar (por exemplo, um bucket do Cloud Storage) para gerar o resultado da operação nos dados descriptografados. Mais tarde, essa conta de serviço é anexada a uma VM confidencial que executa a carga de trabalho.

  6. Os colaboradores de dados adicionam um provedor aos pools de identidade da carga de trabalho. Eles adicionam detalhes ao provedor, como o serviço de atestação que precisa ser usado, mapeamentos de atributos para criar uma trilha de auditoria nos registros e condições de atributos. Esses detalhes verificam as declarações feitas por a imagem do Confidential Space, o contêiner de carga de trabalho e a instância de VM de carga de trabalho. Se a carga de trabalho passar nessa verificação, ela poderá acessar e descriptografar os dados confidenciais.

  7. A carga de trabalho é testada nos dados não confidenciais iniciando uma instância de VM confidencial no projeto do operador de carga de trabalho. A VM é baseada em uma versão de depuração da imagem do Confidential Space que carrega a carga de trabalho conteinerizada.

    Depois que as atestações da VM são verificadas e a carga de trabalho passa nas condições dos colaboradores de dados, a conta de serviço anexada à VM pode acessar os dados confidenciais, processá-los e gerar um resultado.

  8. Depois que o monitoramento e a depuração são concluídos, a carga de trabalho é atualizada para uso em produção. Os colaboradores de dados atualizam e bloqueiam ainda mais os provedores de identidade da carga de trabalho, se necessário, e podem optar por testar a carga de trabalho de produção em dados não confidenciais primeiro.

  9. Todas as partes assinam a carga de trabalho de produção, e ela está pronta para começar a trabalhar com dados confidenciais.

Requisitos

O Confidential Space exige que a VM confidencial funcione. As instâncias de VM confidencial precisam usar o AMD SEV, o Intel TDX ou o Intel TDX com a Computação confidencial da NVIDIA como a tecnologia de Computação confidencial. Consulte Configurações com suporte para saber mais sobre as opções de configuração de hardware e em quais locais as instâncias de VM confidencial podem ser criadas.

A seguir