Este documento descreve a configuração das Google Cloud autorizações e do Cloud Storage passo a passo, incluindo:
- A preparar o contentor de destino do Cloud Storage.
- Preparar uma chave do Cloud Key Management Service para proteger os seus dados.
- Fornecer à equipa do Transfer Appliance os dados de configuração do contentor do Cloud Storage.
Antes de começar
Certifique-se de que tem um email da equipa do Transfer Appliance com o assunto Google Transfer Appliance: prepare as autorizações e o armazenamento. Este email contém:
Os nomes das contas de serviço necessárias para a sua transferência.
Um ID da sessão que tem de configurar no seu dispositivo.
Um formulário que vai preencher depois de configurar a sua conta.
Prepare o contentor de destino do Cloud Storage
Para armazenar os seus dados no Cloud Storage, tem de preparar um contentor. Os contentores são os contentores básicos que contêm os seus dados no Cloud Storage.
Usamos duas contas de serviço para mover os seus dados do Transfer Appliance para o contentor do Cloud Storage de destino que preparar. As contas de serviço são contas especiais usadas por uma aplicação, e não por uma pessoa, para realizar tarefas. Neste caso, as contas de serviço permitem que o Transfer Appliance use recursos do Cloud Storage em seu nome para copiar dados do dispositivo para o seu contentor do Cloud Storage. Concede a estas contas as funções necessárias para copiar dados do dispositivo para o seu contentor do Cloud Storage.
Para preparar o contentor do Cloud Storage de destino, siga estes passos:
Num email com o assunto Google Transfer Appliance Prepare Destination Bucket, a equipa do Transfer Appliance envia-lhe as seguintes contas de serviço:
Uma conta de serviço de sessão associada a esta transferência específica. Tem o seguinte aspeto:
ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com
Neste exemplo,
SESSION_ID
é o ID da sessão para esta transferência específica.Um agente de serviço associado ao serviço de transferência para o serviço de dados nas instalações, que usamos para transferir dados do dispositivo para o seu contentor do Cloud Storage. Tem um aspeto semelhante ao seguinte exemplo:
project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com
Neste exemplo,
TENANT_IDENTIFIER
é um número gerado específico deste projeto em particular.
Tome nota das contas de serviço para os passos seguintes.
As contas de serviço permitem que o Transfer Appliance manipule Google Cloud recursos em seu nome, nomeadamente para copiar dados do dispositivo para o Cloud Storage. Concede a estas contas as funções necessárias para copiar dados do dispositivo para o seu contentor do Cloud Storage.
Os contentores do Cloud Storage estão associados a projetos do Google Cloud . O contentor que selecionar tem de estar no mesmo projeto que foi usado para encomendar o eletrodoméstico.
Se não tiver um contentor do Cloud Storage, crie um:
Google Cloud Consola
Abra a página Baldes do Cloud Storage na Google Cloud consola.
Clique em Criar grupo para abrir o formulário de criação de grupos.
Introduza as informações do contentor e clique em Continuar para concluir cada passo:
Especifique um nome, sujeito aos requisitos de nomenclatura de contentores.
Selecione uma classe de armazenamento predefinida para o contentor. A classe de armazenamento predefinida é atribuída por predefinição a todos os objetos carregados para o contentor. Em seguida, selecione uma Localização para os dados do contentor.
Selecione um modelo de controlo de acesso para determinar como controla o acesso aos objetos do contentor.
Opcionalmente, pode adicionar etiquetas de contentor e escolher um método de encriptação.
Não defina uma política de retenção no contentor.
Clique em Concluído.
Linha de comandos
Use o comando
gcloud storage buckets create
:gcloud storage buckets create gs://BUCKET_NAME --uniform-bucket-level-access --location=LOCATION --project=PROJECT_ID
Neste exemplo:
BUCKET_NAME
: o nome do contentor que está a criar, sujeito aos requisitos de nomenclatura de contentores.LOCATION
: a localização do contentor do Cloud Storage pretendida.PROJECT_ID
: o ID do projeto no qual quer criar o seu contentor.
Não defina uma política de retenção no contentor.
Para conceder autorização às contas de serviço do Transfer Appliance para usar o seu contentor do Cloud Storage, faça o seguinte:
Google Cloud Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Clique no menu Adicional do contentor (
) associado ao contentor ao qual está a conceder uma função ao principal.
Escolha Editar autorizações do contentor.
Clique no botão + Adicionar diretores.
No campo Novos responsáveis, introduza as seguintes identidades:
A conta de serviço da sessão. Tem o seguinte aspeto:
ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com
Neste exemplo,
SESSION_ID
é o ID da sessão para esta transferência específica.O serviço de transferência para o agente de serviço de dados nas instalações. Tem um aspeto semelhante ao seguinte exemplo:
project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com
Neste exemplo,
TENANT_IDENTIFIER
é um número gerado específico deste projeto em particular.
No menu pendente Selecionar uma função, selecione a função Administrador de armazenamento.
As funções que selecionar aparecem no painel com uma breve descrição das autorizações que concedem.
Clique em Guardar.
Linha de comandos
Use o comando
gcloud storage buckets add-iam-policy-binding
:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \ --role=roles/storage.admin
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com \ --role=roles/storage.admin
Neste exemplo:
BUCKET_NAME
: o nome do contentor que está a criar.SESSION_ID
: o ID da sessão desta transferência específica.TENANT_IDENTIFIER
: um número gerado específico deste projeto em particular.
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Prepare a chave do Cloud KMS
O Transfer Appliance protege os seus dados no dispositivo encriptando-os antes de nos enviar o dispositivo de volta. É usada uma chave pública do Cloud Key Management Service (Cloud KMS) para encriptar os seus dados no Transfer Appliance, e é usada uma chave privada para desencriptar os seus dados.
Usamos a conta de serviço da sessão de Preparar o contentor do Cloud Storage de destino para carregar os dados do dispositivo para o seu contentor do Cloud Storage.
Tem as seguintes opções para gerir chaves de encriptação:
Google-owned and Google-managed encryption keys. Pode pedir-nos que criemos e gerimos as chaves do Cloud KMS por si. Se quiser usar este método, a configuração do projeto está concluída e pode continuar com os passos descritos em Receba o seu dispositivo. Google Cloud
Crie e faça a gestão das chaves de encriptação. Siga as instruções abaixo para criar e gerir as chaves de encriptação usadas para a sua transferência. Prepara uma chave de desencriptação assimétrica do Cloud KMS e adiciona a conta de serviço da sessão à chave. A conta de serviço da sessão usa a chave de desencriptação assimétrica para desencriptar e copiar os seus dados para o Cloud Storage.
Para preparar as chaves do Cloud KMS, faça o seguinte:
Se não tiver um conjunto de chaves do Cloud Key Management Service, faça o seguinte para criar um:
Google Cloud Consola
Aceda à página Chaves criptográficas na Google Cloud consola.
Clique em Criar conjunto de chaves.
No campo Nome do conjunto de chaves, introduza o nome pretendido para o conjunto de chaves.
No menu pendente Localização do porta-chaves, selecione uma localização, como
"us-east1"
.Clique em Criar.
Linha de comandos
gcloud kms keyrings create KEY_RING --location=LOCATION --project=PROJECT_ID
Neste exemplo:
LOCATION
: a localização do Cloud Key Management Service para o conjunto de chaves. Por exemplo,global
.KEY_RING
: o nome do conjunto de chaves.PROJECT_ID
: o Google Cloud ID do projeto no qual o seu contentor de armazenamento se encontra.
Crie uma chave de desencriptação assimétrica da seguinte forma:
Google Cloud Consola
Aceda à página Chaves criptográficas na Google Cloud consola.
Clique no nome do conjunto de chaves para o qual quer criar uma chave.
Clique em Criar chave.
Na secção Que tipo de chave quer criar?, escolha Chave gerada.
No campo Nome da chave, introduza o nome da chave.
Clique no menu pendente Nível de proteção e selecione Software.
Clique no menu pendente Finalidade e selecione Desencriptação assimétrica.
Clique no menu pendente Algoritmo e selecione RSA de 4096 bits – Preenchimento OAEP – Resumo SHA256
Clique em Criar.
Linha de comandos
Execute o seguinte comando para criar uma chave de desencriptação assimétrica:
gcloud kms keys create KEY --keyring=KEY_RING \ --location=LOCATION --purpose=asymmetric-encryption \ --default-algorithm=rsa-decrypt-oaep-4096-sha256 \ --project=PROJECT_ID
Neste exemplo:
KEY
: o nome da chave do Cloud Key Management Service. Por exemplo,ta-key
.KEY_RING
: o nome do conjunto de chaves.LOCATION
: a localização do Cloud Key Management Service para o conjunto de chaves. Por exemplo,global
.PROJECT_ID
: o Google Cloud ID do projeto no qual o seu contentor de armazenamento se encontra.
Adicione a conta de serviço da sessão como principal à chave assimétrica da seguinte forma:
Google Cloud Consola
Aceda à página Chaves criptográficas na Google Cloud consola.
Clique no conjunto de chaves que contém a sua chave assimétrica.
Selecione a caixa de verificação da chave assimétrica.
No painel de informações, clique em Adicionar diretor.
É apresentado o ecrã Adicionar diretores.
No campo Novos membros, introduza o endereço de email da conta de serviço da sessão fornecido pela equipa do Transfer Appliance. Tem o seguinte aspeto:
ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com
Neste exemplo,
SESSION_ID
é o ID da sessão para esta transferência específica.No campo Selecionar uma função, adicione a função Visualizador de chaves públicas de CryptoKey do Cloud KMS.
Clique em Adicionar outra função.
No campo Selecionar uma função, adicione a função Cloud KMS CryptoKey Decrypter.
Clique em Guardar.
Linha de comandos
Execute o seguinte comando para conceder à conta de serviço da sessão a função
roles/cloudkms.cryptoKeyDecrypter
:gcloud kms keys add-iam-policy-binding KEY \ --keyring=KEY_RING --location=LOCATION \ --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyDecrypter
Neste exemplo:
KEY
: o nome da chave do Cloud Key Management Service. Por exemplo,ta-key
.KEY_RING
: o nome do conjunto de chaves.LOCATION
: a localização do Cloud Key Management Service para o conjunto de chaves. Por exemplo,global
.SESSION_ID
: o ID da sessão desta transferência específica.
Execute o seguinte comando para conceder à conta de serviço da sessão a função
roles/cloudkms.publicKeyViewer
:gcloud kms keys add-iam-policy-binding KEY \ --keyring=KEY_RING --location=LOCATION \ --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \ --role=roles/cloudkms.publicKeyViewer
Neste exemplo:
KEY
: o nome da chave do Cloud Key Management Service. Por exemplo,ta-key
.KEY_RING
: o nome do conjunto de chaves.LOCATION
: a localização do Cloud Key Management Service para o conjunto de chaves. Por exemplo,global
.SESSION_ID
: o ID da sessão desta transferência específica.
Faça o seguinte para obter o caminho da sua chave assimétrica:
Google Cloud Consola
Aceda à página Chaves criptográficas na Google Cloud consola.
Clique no conjunto de chaves que contém a sua chave de desencriptação assimétrica.
Clique no nome da chave de desencriptação assimétrica.
Selecione a versão da chave pretendida e clique em Mais more_vert.
Clique em Copiar nome do recurso.
Um exemplo do formato da chave é:
projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER
Neste exemplo:
PROJECT_ID
: o Google Cloud ID do projeto no qual o seu contentor de armazenamento se encontra.LOCATION
: a localização do Cloud Key Management Service para o conjunto de chaves.KEY_RING
: o nome do conjunto de chaves.KEY
: o nome da chave do Cloud Key Management Service.VERSION_NUMBER
: o número da versão da chave.
A equipa do Transfer Appliance requer o caminho completo da chave, incluindo o número da versão, para poder aplicar a chave correta aos seus dados.
Linha de comandos
Execute o seguinte comando para apresentar o caminho completo da sua chave assimétrica, incluindo o número da versão:
gcloud kms keys versions list --keyring=KEY_RING \ --key=KEY --location=LOCATION \ --project=PROJECT_ID
Neste exemplo:
KEY_RING
: o nome do seu conjunto de chaves.KEY
: o nome da sua chave assimétrica.LOCATION
: a Google Cloud localização do conjunto de chaves.PROJECT_ID
: O ID do projeto no qual se encontra o seu contentor de armazenamento. Google Cloud
A seguinte resposta de exemplo assemelha-se ao resultado devolvido:
NAME STATE projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER ENABLED
Neste exemplo:
PROJECT_ID
: o Google Cloud ID do projeto no qual o seu contentor de armazenamento se encontra.LOCATION
: a localização do Cloud Key Management Service para o conjunto de chaves.KEY_RING
: o nome do conjunto de chaves.KEY
: o nome da chave do Cloud Key Management Service.VERSION_NUMBER
: o número da versão da chave.
A equipa do Transfer Appliance precisa da string abaixo de
NAME
que termina em/cryptoKeyVersions/VERSION_NUMBER
, ondeVERSION_NUMBER
é o número da versão da sua chave.
Faculte à equipa do Transfer Appliance dados de configuração do contentor
Enviamos um email com o assunto Google Transfer Appliance: prepare as autorizações e o armazenamento para recolher informações sobre o seu contentor do Cloud Storage. Usamos as informações que faculta para configurar a transferência do Transfer Appliance para o Cloud Storage.
No formulário com o link desse email, introduza as seguintes informações:
- O Google Cloud ID do projeto.
- Selecione a sua escolha para Encriptação:
- Google-owned and Google-managed encryption key, se optou por que a Google faça a gestão da sua chave de encriptação.
- Chave de encriptação gerida pelo cliente, se optou por gerir a sua própria chave de encriptação. Selecione a chave de encriptação pretendida no menu pendente Selecionar uma chave de encriptação gerida pelo cliente.
- O Google Cloud nome do contentor de destino do Cloud Storage usado para esta transferência.
- Opcional: um prefixo de objeto. Sem um prefixo de objeto, os objetos são transferidos
para o Cloud Storage com o caminho de origem, sem incluir o caminho raiz, antes
do nome do ficheiro no sistema de ficheiros. Por exemplo, se tiver os seguintes ficheiros:
/source_root_path/file1.txt
/source_root_path/dirA/file2.txt
/source_root_path/dirA/dirB/file3.txt
file1.txt
dirA/file2.txt
dirA/dirB/file3.txt
/
do nome do contentor de destino e antes de quaisquer nomes de caminhos a partir dos quais o objeto foi transferido, excluindo o caminho raiz da origem. Isto pode ajudar a distinguir entre objetos transferidos de outras tarefas de transferência. A tabela seguinte demonstra vários exemplos de prefixos de objetos e os nomes de objetos resultantes no Cloud Storage, se o caminho do objeto de origem for/source_root_path/sub_folder_name/object_name
:Prefixo Nome do objeto de destino Nenhum /destination_bucket/sub_folder_name/object_name
prefix/
/destination_bucket/prefix/sub_folder_name/object_name
O que se segue?
Configure as portas de rede IP para que o Transfer Appliance funcione na sua rede.