Como configurar as permissões do Google Cloud e o Cloud Storage para exportar dados do Cloud Storage para o dispositivo passo a passo

Neste documento, descrevemos como configurar as permissões do Google Cloud e o Cloud Storage passo a passo, incluindo:

  • Preparar o bucket do Cloud Storage.
  • Preparar uma chave do Cloud Key Management Service para proteger seus dados.
  • Fornecer à equipe do Transfer Appliance os dados de configuração do bucket do Cloud Storage.

Antes de começar

Verifique se você recebeu um e-mail da equipe do Transfer Appliance com o título Permissões do Google Transfer Appliance. Este e-mail contém:

  • Os nomes das contas de serviço necessárias para a transferência.

  • Um ID de sessão que você vai precisar para configurar o dispositivo.

  • Um formulário que você vai preencher depois de configurar sua conta.

Preparar as permissões no bucket do Cloud Storage

Usamos duas contas de serviço para transferir seus dados. As contas de serviço são contas especiais usadas por um aplicativo, não uma pessoa, para fazer o trabalho. Nesse caso, as contas de serviço permitem que o Transfer Appliance use recursos do Cloud Storage em seu nome para transferir dados entre o Cloud Storage e o dispositivo. Você concede a essas contas os papéis necessários para transferir dados.

Para preparar o bucket do Cloud Storage, siga estas etapas:

  1. Em um e-mail intitulado Permissões do Google Transfer Appliance, a equipe do Transfer Appliance fornece as seguintes contas de serviço:

    • uma conta de serviço de sessão vinculada a essa transferência específica; Esta é a aparência do exemplo a seguir:

      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 vinculado ao serviço de transferência de dados locais, que usamos para transferir dados entre o Cloud Storage e o dispositivo. O resultado será semelhante a este:

      project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

      Neste exemplo, TENANT_IDENTIFIER é um número gerado específico para este projeto específico.

    Observe as contas de serviço para as próximas etapas.

    As contas de serviço permitem que o Transfer Appliance manipule recursos do Google Cloud em seu nome, ou seja, transfira dados entre o Cloud Storage e o dispositivo. Você concede a essas contas os papéis necessários para transferir dados entre o Cloud Storage e o dispositivo.

  2. Os buckets do Cloud Storage estão vinculados a projetos do Google Cloud. O bucket selecionado precisa estar no mesmo projeto usado para solicitar o dispositivo.

  3. Para conceder permissão às contas de serviço do Transfer Appliance para usar seu bucket do Cloud Storage, faça o seguinte:

    Console do Google Cloud

    1. No Console do Google Cloud, acesse a página Buckets do Cloud Storage.

      Acessar buckets

    2. Clique no menu flutuante bucket () associado ao bucket para o qual você está concedendo ao principal um papel.

    3. Selecione Editar permissões do bucket.

    4. Clique no botão + Adicionar principais.

    5. No campo Novos principais, insira as seguintes identidades:

      • A conta de serviço da sessão. Esta é a aparência do exemplo a seguir:

        ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

        Neste exemplo, SESSION_ID é o ID da sessão para essa transferência específica.

      • O agente de serviço de transferência de dados locais. É semelhante ao seguinte exemplo:

        project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

        Neste exemplo, TENANT_IDENTIFIER é um número gerado específico para esse projeto.

    6. No menu suspenso Selecionar um papel, selecione o papel Administrador do Storage.

      Os papéis selecionados são exibidos no painel com uma breve descrição das permissões que eles concedem.

    7. Clique em Save.

    Linha de comando

    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 bucket que você está criando.
    • SESSION_ID: o ID da sessão dessa transferência específica;
    • TENANT_IDENTIFIER: um número gerado específico para esse projeto.

Preparar a chave do Cloud KMS

O Transfer Appliance protege seus dados no dispositivo, criptografando os dados. Uma chave pública do Cloud Key Management Service (Cloud KMS) é usada para criptografar dados no Transfer Appliance, e uma chave privada é usada. para descriptografar seus dados.

Usamos a conta de serviço da sessão do artigo Preparar as permissões no bucket do Cloud Storage para fazer o upload dos dados do bucket do Cloud Storage para o dispositivo.

Você tem a seguinte opção para gerenciar chaves de criptografia:

  • Crie e gerencie chaves de criptografia você mesmo. Você cria e gerencia as chaves de criptografia usadas para sua transferência seguindo as instruções abaixo. Prepare uma chave de descriptografia assimétrica do Cloud KMS e adicione a conta de serviço da sessão à chave.

Para preparar as chaves do Cloud KMS, faça o seguinte:

  1. Se você não tiver um keyring do Cloud Key Management Service, siga estas etapas para criar um:

    Console do Google Cloud

    1. Acesse a página Chaves criptográficas no console do Google Cloud.

      Acessar a página "Chaves criptográficas"

    2. Clique em Criar keyring.

    3. No campo Nome do keyring, digite o nome do seu keyring.

    4. Na lista suspensa Local do keyring, selecione um local como "us-east1".

    5. Clique em Criar.

    Linha de comando

    gcloud kms keyrings create KEY_RING --location=LOCATION --project=PROJECT_ID
    

    Neste exemplo:

    • LOCATION: o local do Cloud Key Management Service para o keyring. Por exemplo, global.
    • KEY_RING: o nome do keyring.
    • PROJECT_ID: o ID do projeto do Google Cloud em que seu bucket de armazenamento está localizado.
  2. Crie uma chave de descriptografia assimétrica da seguinte maneira:

    Console do Google Cloud

    1. Acesse a página Chaves criptográficas no console do Google Cloud.

      Acessar a página "Chaves criptográficas"

    2. Clique no nome do keyring em que você quer criar a chave.

    3. Clique em Criar chave.

    4. Na seção Qual tipo de chave você quer criar?, selecione Chave gerada.

    5. No campo Nome da chave, insira o nome da sua chave.

    6. Clique na lista suspensa Nível de proteção e selecione Software.

    7. Clique na lista suspensa Finalidade e selecione Descriptografia assimétrica.

    8. Clique na lista suspensa Algoritmo e selecione RSA de 4096 bits - Padding OAEP - Resumo SHA256.

    9. Clique em Criar.

    Linha de comando

    Execute o seguinte comando para criar uma chave de descriptografia 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 keyring.
    • LOCATION: o local do Cloud Key Management Service para o keyring. Por exemplo, global.
    • PROJECT_ID: o ID do projeto do Google Cloud em que seu bucket de armazenamento está localizado.
  3. Adicione a conta de serviço da sessão como principal à chave assimétrica da seguinte maneira:

    Console do Google Cloud

    1. Acesse a página Chaves criptográficas no console do Google Cloud.

      Acessar a página "Chaves criptográficas"

    2. Clique no keyring que contém a chave assimétrica.

    3. Marque a caixa de seleção da chave.

    4. No painel de informações, clique em Adicionar principal.

      A opção Adicionar principais é exibida.

    5. No campo Novos principais, insira a conta de serviço da sessão fornecida pela equipe do Transfer Appliance. Esta é a aparência do exemplo a seguir:

      ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      Neste exemplo, SESSION_ID é o ID da sessão para essa transferência específica.

    6. No campo Selecionar um papel, adicione o papel Visualizador de chaves públicas do Cloud KMS CryptoKey.

    7. Clique em Salvar.

    Linha de comando

    1. Execute o seguinte comando para conceder à conta de serviço da sessão o papel 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 keyring.
      • LOCATION: o local do Cloud Key Management Service para o keyring. Por exemplo, global.
      • SESSION_ID: o ID da sessão dessa transferência específica;
  4. Veja o caminho da chave assimétrica fazendo o seguinte:

    Console do Google Cloud

    1. Acesse a página Chaves criptográficas no console do Google Cloud.

      Acessar a página "Chaves criptográficas"

    2. Clique no keyring que contém a chave de descriptografia assimétrica.

    3. Clique no nome da chave de descriptografia assimétrica.

    4. Selecione a versão da chave que você quer e clique em Mais .

    5. Clique em Copiar nome do recurso.

      Veja um exemplo do formato de chave:

      projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER

      Neste exemplo:

      • PROJECT_ID: o ID do projeto do Google Cloud em que seu bucket de armazenamento está localizado.
      • LOCATION: o local do Cloud Key Management Service para o keyring.
      • KEY_RING: o nome do keyring.
      • KEY: o nome da chave do Cloud Key Management Service.
      • VERSION_NUMBER: o número da versão da chave.

      A equipe do Transfer Appliance requer todo o caminho da chave, incluindo o número da versão, para que possa aplicar a chave correta aos dados.

    Linha de comando

    Execute o seguinte comando para listar o caminho completo da 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 keyring
    • KEY: o nome da chave assimétrica.
    • LOCATION: o local do keyring do Google Cloud.
    • PROJECT_ID: o ID do projeto do Google Cloud em que seu bucket de armazenamento está localizado.

    A resposta de exemplo a seguir é parecida com a saída retornada:

    NAME STATE
    projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER
    ENABLED
    

    Neste exemplo:

    • PROJECT_ID: o ID do projeto do Google Cloud em que seu bucket de armazenamento está localizado.
    • LOCATION: o local do Cloud Key Management Service para o keyring.
    • KEY_RING: o nome do keyring.
    • KEY: o nome da chave do Cloud Key Management Service.
    • VERSION_NUMBER: o número da versão da chave.

    A equipe do Transfer Appliance requer a string em NAME que termina em /cryptoKeyVersions/VERSION_NUMBER, em que VERSION_NUMBER é o número da versão da chave.

Fornecer os dados de configuração do bucket para a equipe do Transfer Appliance

Enviamos um e-mail intitulado Permissões do Google Transfer Appliance para coletar informações sobre seu bucket do Cloud Storage. Usamos as informações fornecidas para configurar a transferência de dados entre o Cloud Storage e o Transfer Appliance.

No formulário vinculado a esse e-mail, insira as seguintes informações:

  • O ID do projeto do Google Cloud.
  • Escolha sua opção para Criptografia:
    • Chave de criptografia gerenciada pelo cliente, selecione a chave de criptografia no menu suspenso Selecionar uma chave de criptografia gerenciada pelo cliente.
  • O nome do bucket do Google Cloud Storage usado para essa transferência.

A seguir

Configure as portas de rede IP para que o Transfer Appliance funcione na sua rede.