Os VPC Service Controls permitem que as organizações definam um perímetro em torno dos Google Cloud recursos para mitigar os riscos de exfiltração de dados. Com os VPC Service Controls, cria perímetros que protegem os recursos e os dados dos serviços que especifica explicitamente.
Serviços do Firestore incluídos num pacote
As seguintes APIs estão agrupadas nos VPC Service Controls:
firestore.googleapis.com
datastore.googleapis.com
firestorekeyvisualizer.googleapis.com
Quando restringe o serviço firestore.googleapis.com
num perímetro, o perímetro também restringe os serviços datastore.googleapis.com
e firestorekeyvisualizer.googleapis.com
.
Restrinja o serviço datastore.googleapis.com
O serviço datastore.googleapis.com
está incluído no serviço firestore.googleapis.com
. Para restringir o serviço datastore.googleapis.com
, tem de restringir o serviço firestore.googleapis.com
da seguinte forma:
- Quando criar um perímetro de serviço através da consola Google Cloud , adicione o Firestore como o serviço restrito.
Quando criar um perímetro de serviço através da CLI do Google Cloud, use
firestore.googleapis.com
em vez dedatastore.googleapis.com
.--perimeter-restricted-services=firestore.googleapis.com
Serviços agrupados antigos do App Engine para o Datastore
Os serviços agrupados antigos do App Engine para o Datastore não suportam perímetros de serviço. A proteção do serviço Datastore com um perímetro de serviço bloqueia o tráfego dos serviços agrupados legados do App Engine. Os serviços antigos incluídos incluem:
- Armazenamento de dados Java 8 com APIs do App Engine
- Biblioteca cliente NDB Python 2 para o Datastore
- Go 1.11 Datastore com APIs do App Engine
Proteção de saída nas operações de importação e exportação
O Firestore no modo Datastore é compatível com os VPC Service Controls, mas requer uma configuração adicional para obter proteção de saída total nas operações de importação e exportação. Tem de usar o agente de serviço do Firestore para autorizar operações de importação e exportação, em vez da conta de serviço do App Engine predefinida. Siga as instruções que se seguem para ver e configurar a conta de autorização para operações de importação e exportação.
Agente de serviço do Firestore
O Firestore usa um agente do serviço do Firestore para autorizar operações de importação e exportação em vez de usar a conta de serviço do App Engine. O agente do serviço e a conta de serviço usam as seguintes convenções de nomenclatura:
- Agente de serviço do Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
Anteriormente, o Firestore usava a conta de serviço predefinida do App Engine em vez do agente de serviço do Firestore. Se a sua base de dados continuar a usar a conta de serviço do App Engine para importar ou exportar dados, recomendamos que siga as instruções nesta secção para migrar para a utilização do agente de serviço do Firestore.
- Conta de serviço do App Engine
PROJECT_ID@appspot.gserviceaccount.com
O agente do serviço do Firestore é preferível porque é específico do Firestore. A conta de serviço do App Engine é partilhada por mais do que um serviço.
Ver conta de autorização
Pode ver que conta as suas operações de importação e exportação usam para autorizar pedidos a partir da página Importar/Exportar na Google Cloud consola. Também pode ver se a sua base de dados já usa o agente do serviço Firestore.
-
Na Google Cloud consola, aceda à página Bases de dados.
- Selecione a base de dados necessária na lista de bases de dados.
-
No menu de navegação, clique em Importar/exportar.
- Veja a conta de autorização junto à etiqueta Trabalhos de importação/exportação executados como.
Se o seu projeto não usar o agente de serviço do Firestore, pode migrar para o agente de serviço do Firestore usando uma destas técnicas:
- Migre um projeto verificando e atualizando as autorizações do contentor do Cloud Storage (recomendado).
- Adicione uma restrição de política ao nível da organização que afete todos os projetos na organização.
A primeira destas técnicas é preferível porque localiza o âmbito do efeito num único projeto do modo Datastore. A segunda técnica não é preferível porque não migra as autorizações do contentor do Cloud Storage existente. No entanto, oferece conformidade de segurança ao nível da organização.
Migre verificando e atualizando as autorizações do contentor do Cloud Storage
O processo de migração tem dois passos:
- Atualize as autorizações do contentor do Cloud Storage. Consulte a secção seguinte para ver detalhes.
- Confirme a migração para o agente do serviço Firestore.
Autorizações de contentores de agentes de serviço
Para quaisquer operações de exportação ou importação que usem um contentor do Cloud Storage noutro projeto, tem de conceder autorizações do agente de serviço do Firestore para esse contentor. Por exemplo, as operações que movem dados para outro projeto têm de aceder a um contentor nesse outro projeto. Caso contrário, estas operações falham após a migração para o agente do serviço Firestore.
Os fluxos de trabalho de importação e exportação que permanecem no mesmo projeto não requerem alterações às autorizações. O agente do serviço Firestore pode aceder aos contentores no mesmo projeto por predefinição.
Atualize as autorizações dos contentores do Cloud Storage de outros projetos para conceder
acesso ao
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
agente do serviço. Conceda ao agente do serviço a função de Firestore Service Agent
.
A função Firestore Service Agent
concede autorizações de leitura e escrita para um contentor do Cloud Storage. Se precisar de conceder apenas autorizações de leitura ou apenas de escrita, use uma função personalizada.
O processo de migração descrito na secção seguinte ajuda a identificar contentores do Cloud Storage que podem exigir atualizações de autorizações.
Migre um projeto para o agente do serviço Firestore
Conclua os passos seguintes para migrar da conta de serviço do App Engine para o agente de serviço do Firestore. Uma vez concluída, a migração não pode ser revertida.
-
Na Google Cloud consola, aceda à página Bases de dados.
- Selecione a base de dados necessária na lista de bases de dados.
-
No menu de navegação, clique em Importar/exportar.
-
Se o seu projeto ainda não tiver sido migrado para o agente do serviço Firestore, é apresentada uma faixa a descrever a migração e um botão Verificar estado do contentor. O passo seguinte ajuda a identificar e corrigir potenciais erros de autorização.
Clique em Verificar estado do contentor.
É apresentado um menu com a opção para concluir a migração e uma lista de contentores de armazenamento na nuvem. O carregamento da lista pode demorar alguns minutos.
Esta lista inclui contentores que foram usados recentemente em operações de importação e exportação, mas que atualmente não concedem autorizações de leitura e escrita ao agente do serviço do modo Datastore.
- Tome nota do nome principal do agente do serviço do modo Datastore do seu projeto. O nome do agente do serviço é apresentado por baixo da etiqueta Agente do serviço ao qual conceder acesso.
-
Para qualquer contentor na lista que vai usar para futuras operações de importação ou exportação, conclua os seguintes passos:
-
Na linha da tabela deste conjunto, clique em Corrigir. Esta ação abre a página de autorizações desse contentor num novo separador.
- Clique em Adicionar.
- No campo Novos membros, introduza o nome do agente de serviço do Firestore.
- No campo Selecionar uma função, selecione Agentes de serviço > Agente de serviço do Firestore.
- Clique em Guardar.
- Volte ao separador com a página Importar/Exportar do modo Datastore.
- Repita estes passos para outros contentores na lista. Certifique-se de que vê todas as páginas da lista.
-
-
Clique em Migrar para o agente do serviço do Firestore. Se ainda tiver contentores com verificações de autorizações com falhas, tem de confirmar a migração clicando em Migrar.
É apresentado um alerta quando a migração estiver concluída. Não é possível anular a migração.
Veja o estado da migração
Para verificar o estado da migração do seu projeto:
-
Na Google Cloud consola, aceda à página Bases de dados.
- Selecione a base de dados necessária na lista de bases de dados.
-
No menu de navegação, clique em Importar/exportar.
-
Procure o principal junto à etiqueta Tarefas de importação/exportação executadas como.
Se o principal for
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
, o seu projeto já foi migrado para o agente do serviço Firestore. Não é possível anular a migração.Se o projeto não tiver sido migrado, é apresentada uma faixa na parte superior da página com um botão Verificar estado do contentor. Consulte o artigo Migre para o agente do serviço Firestore para concluir a migração.
Adicione uma restrição de política ao nível da organização
-
Defina a seguinte restrição na política da sua organização:
Exija o agente do serviço do Firestore para importação/exportação (
firestore.requireP4SAforImportExport
).Esta restrição requer que as operações de importação e exportação usem o agente do serviço do Firestore para autorizar pedidos. Para definir esta restrição, consulte o artigo Criar e gerir políticas da organização .
A aplicação desta restrição de política organizacional não concede automaticamente as autorizações do bucket do Cloud Storage adequadas para o agente de serviço do Firestore.
Se a restrição criar erros de autorização para fluxos de trabalho de importação ou exportação, pode desativá-la para voltar a usar a conta de serviço predefinida. Depois de verificar e atualizar as autorizações do contentor do Cloud Storage, pode ativar novamente a restrição.