Vista geral do Confidential Space


O Confidential Space oferece um ambiente isolado para operar em dados confidenciais de várias partes, para que os proprietários desses dados possam mantê-los confidenciais. Os dados confidenciais podem incluir informações de identificação pessoal (IIP), informações de saúde protegidas (PHI), propriedade intelectual, segredos criptográficos, modelos de aprendizagem automática (AA) ou outros.

Pode usar o espaço confidencial para operar em dados sensíveis que só são visíveis para os proprietários originais e uma carga de trabalho mutuamente acordada. Em alternativa, pode usá-lo para oferecer aos clientes finais uma maior privacidade dos dados, uma vez que o operador ou o proprietário de um ambiente do espaço confidencial não pode aceder aos dados que estão a ser processados.

O Confidential Space usa um ambiente de execução fiável (AEF) que pode ser usado para divulgar os seus segredos apenas a 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 a carga de trabalho processa de um operador.

Para mais detalhes sobre os exemplos de utilização e o modelo de segurança do Confidential Space, consulte a vista geral da segurança do Confidential Space.

Componentes do espaço confidencial

Um sistema do espaço confidencial tem três componentes principais:

  • Uma carga de trabalho: uma imagem contentorizada que contém código que processa os recursos protegidos. É executado sobre uma imagem do espaço confidencial, um SO reforçado baseado no SO otimizado para contentores. Por sua vez, isto é executado numa Confidential VM, um AEF baseado na nuvem que oferece isolamento de hardware e capacidades de atestação remota. Normalmente, a carga de trabalho está localizada num projeto separado dos recursos protegidos.

  • O serviço de atestação: um validador de atestação remoto que devolve provas de atestação sob a forma de tokens OpenID Connect (OIDC). Os tokens contêm atributos de identificação para a carga de trabalho. O serviço de atestação é executado na mesma região em que a carga de trabalho está a ser executada.

  • Recursos protegidos: recursos geridos que estão protegidos por um sistema de autenticação e autorização. Se os recursos estiverem em Google Cloud, podem ser recursos da nuvem geridos, como chaves do Cloud Key Management Service (Cloud KMS) ou contentores do Cloud Storage. Se os recursos não estiverem na Google Cloud (por exemplo, num ambiente no local ou noutra nuvem), podem ser qualquer recurso.

Funções do espaço confidencial

Os componentes num sistema de espaço confidencial são geridos por pessoas com três funções distintas:

  • Colaboradores de dados: as pessoas ou as organizações que detêm os recursos protegidos que estão a ser operados pela carga de trabalho. Os colaboradores de dados podem aceder aos seus próprios dados, definir autorizações nesses dados e, consoante o resultado da carga de trabalho, podem aceder a resultados com base nesses dados.

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

    Consulte o artigo Crie e conceda acesso a recursos confidenciais para saber mais sobre a função dos colaboradores de dados.

  • Autor da carga de trabalho: a pessoa que cria a aplicação que acede e processa os dados confidenciais. Adicionam a aplicação a uma imagem em contentor, por exemplo, através do Docker, e carregam a imagem para um repositório, como o Artifact Registry.

    O autor da carga de trabalho não tem acesso aos dados nem aos resultados e também não pode controlar o acesso aos mesmos.

    Consulte o artigo Crie e personalize cargas de trabalho para saber mais sobre a função do autor da carga de trabalho.

  • Operador da carga de trabalho: a pessoa que executa a carga de trabalho. Normalmente, o operador da carga de trabalho tem privilégios administrativos completos no projeto em que executa a carga de trabalho. Por exemplo, podem gerir recursos no respetivo projeto (como instâncias, discos e regras de rede do Compute Engine) e podem interagir com qualquerGoogle Cloud API que atue sobre eles.

    O operador da carga de trabalho não tem acesso aos dados e também não pode controlar o acesso aos mesmos. Não podem influenciar nem modificar o código da carga de trabalho nem o ambiente de execução.

    Consulte o artigo Implementar cargas de trabalho para saber mais acerca da função do operador de cargas de trabalho.

Uma pessoa pode assumir uma ou mais destas funções. Para a segurança mais elevada, o Confidential Space suporta um modelo de confiança em que os colaboradores de dados, os autores de cargas de trabalho e os operadores de cargas de trabalho são partes separadas que não confiam umas nas outras. Todas as funções têm de colaborar entre si para obterem os resultados de que precisam.

Um exemplo de fluxo do espaço confidencial

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

  1. Vários colaboradores de dados armazenam dados confidenciais encriptados nos respetivos Google Cloud projetos isolados, muitas vezes em organizações diferentes. Querem comparar e processar esses dados sem os revelar entre si nem a partes externas. Os dados encriptados podem estar localizados no Cloud Storage, BigQuery ou noutro serviço.

  2. Os colaboradores de dados criam dados simulados não confidenciais para uma carga de trabalho de teste operar. Estes dados podem ser ficheiros diferentes ou estar num local diferente, como um contentor do Cloud Storage separado.

  3. Os colaboradores de dados criam um Workload Identity Pool (WIP). Mais tarde, uma carga de trabalho executada no projeto separado e isolado de um operador de carga de trabalho pode usar esse WIP para aceder aos dados confidenciais dos colaboradores.

  4. O autor da carga de trabalho escreve código para processar os dados confidenciais. Num projeto separado dos colaboradores de dados e do operador da carga de trabalho, criam uma imagem contentorizada com o Docker e carregam-na para o Artifact Registry.

  5. O operador da carga de trabalho cria uma conta de serviço num projeto isolado que tem acesso de leitura ao local onde os dados confidenciais encriptados dos colaboradores de dados estão armazenados e acesso de escrita a um local (por exemplo, um contentor do Cloud Storage) para gerar o resultado da operação nos dados desencriptados. Mais tarde, esta conta de serviço é anexada a uma VM confidencial que executa a carga de trabalho.

  6. Os colaboradores de dados adicionam um fornecedor aos respetivos Workload Identity Pools. Adicionam detalhes ao fornecedor, como o serviço de atestação que tem de ser usado, mapeamentos de atributos para criar uma trilha de auditoria nos registos e condições de atributos. Estes detalhes validam as afirmações feitas pela imagem do espaço confidencial, o contentor de carga de trabalho e a instância da VM de carga de trabalho. Se a carga de trabalho passar esta validação, tem autorização para aceder aos dados confidenciais e desencriptá-los.

  7. A carga de trabalho é testada nos dados não confidenciais iniciando uma instância de VM confidencial no projeto do operador da carga de trabalho. A VM baseia-se numa versão de depuração da imagem do espaço confidencial que carrega a carga de trabalho em contentores.

    Depois de as atestações da VM serem validadas e a carga de trabalho passar pelas condições dos colaboradores de dados, a conta de serviço associada à VM tem autorização para aceder aos dados confidenciais, processá-los e gerar um resultado.

  8. Após a monitorização e a depuração, a carga de trabalho é atualizada para utilização em produção. Os colaboradores de dados atualizam e restringem ainda mais os respetivos fornecedores de identidade de 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 aprovam a carga de trabalho de produção e esta está pronta para começar a trabalhar com dados confidenciais.

Requisitos

O espaço confidencial requer uma VM confidencial para funcionar. As instâncias de VM confidenciais têm de usar o AMD SEV, o Intel TDX ou o Intel TDX com a computação confidencial da NVIDIA (pré-visualização) como tecnologia de computação confidencial. Consulte as configurações suportadas para saber mais acerca das opções de configuração de hardware e em que localizações é possível criar instâncias de VMs confidenciais.

O que se segue?