Criar um servidor SFTP externo

Este documento mostra como criar um servidor SFTP externo usando o Cloud FTP. Um servidor SFTP externo pode ser acessado pela Internet. Parceiros fora da sua rede podem usar o servidor para transferir arquivos com segurança para o Cloud Storage e dele.

É possível restringir o acesso a um servidor SFTP externo com base nos endereços IP dos usuários.

Para conferir as etapas de criação de um servidor interno, que só pode ser acessado na sua rede de nuvem privada virtual (VPC), consulte Criar um servidor SFTP interno. Não é possível mudar se um servidor é externo ou interno depois que ele é criado.

Antes de começar

Console

  1. Faça login na sua Google Cloud conta do. Se você não conhece o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud FTP API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud FTP API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  10. Se você quiser restringir o acesso ao servidor com base nos endereços IP dos usuários, colete uma lista de blocos CIDR que podem acessar o servidor.

gcloud

  1. Faça login na sua Google Cloud conta do. Se você não conhece o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  2. Instale a Google Cloud CLI.

  3. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

  4. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  5. Crie ou selecione um Google Cloud projeto.

    Funções necessárias para selecionar ou criar um projeto

    • Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. É possível selecionar qualquer projeto em que você tenha recebido um papel.
    • Criar um projeto: para criar um projeto, é necessário ter o papel de Criador de projetos (roles/resourcemanager.projectCreator), que contém a resourcemanager.projects.create permissão. Saiba como conceder papéis.
    • Crie um Google Cloud projeto do:

      gcloud projects create PROJECT_ID

      Substitua PROJECT_ID por um nome para o Google Cloud projeto do que você está criando.

    • Selecione o Google Cloud projeto do que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do Google Cloud projeto do.

  6. Se este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.

  7. Verifique se o faturamento está ativado para o Google Cloud projeto.

  8. Ative a API Cloud FTP:

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter a permissão serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão pelo papel de Administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.

    gcloud services enable ftp.googleapis.com
  9. Instale a Google Cloud CLI.

  10. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

  11. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  12. Crie ou selecione um Google Cloud projeto.

    Funções necessárias para selecionar ou criar um projeto

    • Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. É possível selecionar qualquer projeto em que você tenha recebido um papel.
    • Criar um projeto: para criar um projeto, é necessário ter o papel de Criador de projetos (roles/resourcemanager.projectCreator), que contém a resourcemanager.projects.create permissão. Saiba como conceder papéis.
    • Crie um Google Cloud projeto do:

      gcloud projects create PROJECT_ID

      Substitua PROJECT_ID por um nome para o Google Cloud projeto do que você está criando.

    • Selecione o Google Cloud projeto do que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do Google Cloud projeto do.

  13. Se este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.

  14. Verifique se o faturamento está ativado para o Google Cloud projeto.

  15. Ative a API Cloud FTP:

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter a permissão serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão pelo papel de Administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.

    gcloud services enable ftp.googleapis.com
  16. Se você quiser restringir o acesso ao servidor com base nos endereços IP dos usuários, colete uma lista de blocos CIDR que podem acessar o servidor.

Funções exigidas

Para receber a permissão necessária para criar um servidor SFTP, peça ao administrador para conceder a você o Administrador do Cloud FTP (roles/ftp.admin) papel do IAM no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém a ftp.servers.create permissão, que é necessária para criar um servidor SFTP.

Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.

Criar um servidor externo

Console

  1. No Google Cloud console do, acesse a página Cloud FTP.

    Acessar o Cloud FTP

  2. Clique em Criar servidor.

  3. Na guia Configuração do servidor, insira os detalhes básicos do servidor:

    1. No campo ID do servidor, insira um ID exclusivo para o servidor.

    2. Na lista Região, selecione o Google Cloud local para o servidor.

      Para ter as velocidades de transferência de dados mais rápidas, crie o servidor no mesmo local que o bucket do Cloud Storage que armazena seus dados. Se o local do bucket não for compatível com o Cloud FTP, selecione o local disponível mais próximo.

    3. (Opcional) Insira um nome de exibição para o servidor.

    4. Clique em Continuar.

  4. Na guia Rede e segurança, configure a conectividade do servidor:

    1. Selecione Externo (IP público).

    2. No campo Intervalos de IP permitidos, forneça um bloco CIDR que possa acessar o servidor e pressione Enter. Por exemplo, 192.0.2.0/24. É necessário fornecer pelo menos um valor e é possível fornecer um máximo de 500 blocos CIDR. Para permitir conexões de todos os endereços IP, use 0.0.0.0/0.

  5. Clique em Criar.

    Leva cerca de 10 minutos para o servidor ser criado.

gcloud

Para criar um servidor externo, execute o gcloud alpha storage ftp servers create comando e forneça a --access-type=EXTERNAL flag.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • SERVER_ID: um ID exclusivo para o servidor. Precisa começar com uma letra minúscula e terminar com uma letra minúscula ou um número. Pode conter letras minúsculas, números e hifens. O comprimento máximo é de 30 caracteres.
  • LOCATION_ID: o Google Cloud local do servidor, como us-west1.

    Para ter as velocidades de transferência de dados mais rápidas, crie o servidor no mesmo local que o bucket do Cloud Storage que armazena seus dados. Se o local do bucket não for compatível com o Cloud FTP, selecione o local disponível mais próximo.

  • CIDR_BLOCK: um bloco CIDR que pode acessar o servidor. Por exemplo, 192.0.2.0/24. É necessário fornecer pelo menos um valor e é possível fornecer um máximo de 500 blocos CIDR em uma lista separada por vírgulas. Para permitir conexões de todos os endereços IP, use 0.0.0.0/0.

Execute o comando a seguir:

Linux, macOS ou Cloud Shell

gcloud alpha storage ftp servers create SERVER_ID --access-type=EXTERNAL \
    --location=LOCATION_ID --allowed-cidr-blocks=CIDR_BLOCK

Windows (PowerShell)

gcloud alpha storage ftp servers create SERVER_ID --access-type=EXTERNAL `
    --location=LOCATION_ID --allowed-cidr-blocks=CIDR_BLOCK

Windows (cmd.exe)

gcloud alpha storage ftp servers create SERVER_ID --access-type=EXTERNAL ^
    --location=LOCATION_ID --allowed-cidr-blocks=CIDR_BLOCK

Leva cerca de 10 minutos para o servidor ser criado.

REST

Para criar um servidor externo, use o servers.create método e forneça uma externalConfig configuração de acesso.

Antes de usar os dados da solicitação, faça estas substituições:

  • PROJECT_ID: o Google Cloud ID do projeto do servidor.
  • LOCATION_ID: o Google Cloud local do servidor, como us-west1.

    Para ter as velocidades de transferência de dados mais rápidas, crie o servidor no mesmo local que o bucket do Cloud Storage que armazena seus dados. Se o local do bucket não for compatível com o Cloud FTP, selecione o local disponível mais próximo.

  • SERVER_ID: um ID exclusivo para o servidor. Precisa começar com uma letra minúscula e terminar com uma letra minúscula ou um número. Pode conter letras minúsculas, números e hifens. O comprimento máximo é de 30 caracteres.
  • CIDR_BLOCK: um bloco CIDR que pode acessar o servidor. Por exemplo, 192.0.2.0/24. É necessário fornecer pelo menos um valor e é possível fornecer um máximo de 500 blocos CIDR . Para permitir conexões de todos os endereços IP, use 0.0.0.0/0.

Método HTTP e URL:

POST https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers?serverId=SERVER_ID

Corpo JSON da solicitação:

{
  "accessType": "EXTERNAL",
  "externalConfig": {
    "allowedCidrBlocks": [
      "CIDR_BLOCK"
      ]
  }
}

Para enviar a solicitação, expanda uma destas opções:

A resposta identifica uma operação de longa duração.

Leva cerca de 10 minutos para o servidor ser criado.

A seguir