Neste documento, mostramos como criar um servidor SFTP externo usando o Cloud FTP. Um servidor SFTP externo pode ser acessado pela Internet. Os parceiros que estão fora da sua rede podem usar o servidor para transferir arquivos com segurança de e para o Cloud Storage.
É possível restringir o acesso a um servidor SFTP externo com base nos endereços IP dos usuários.
Para saber como criar 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
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud FTP API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.- Se você quiser restringir o acesso ao servidor com base nos endereços IP dos usuários, colete uma lista de blocos CIDR que têm permissão para acessar o servidor.
gcloud
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
Crie ou selecione um projeto do Google Cloud .
Papéis necessários para selecionar ou criar um projeto
- Selecionar um projeto: para selecionar um projeto, não é necessário ter um papel do IAM específico. É possível selecionar qualquer projeto em que você tenha um papel.
-
Criar um projeto: para criar um projeto, é preciso ter o papel de Criador de projetos
(
roles/resourcemanager.projectCreator), que contém a permissãoresourcemanager.projects.create. Saiba como conceder papéis.
-
Crie um projeto do Google Cloud :
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o projeto do Google Cloud que você está criando. -
Selecione o projeto do Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do projeto do Google Cloud .
-
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.
-
Verifique se o faturamento está ativado para o projeto do Google Cloud .
Ative a API Cloud FTP, se ainda não estiver ativada:
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da 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 conseguir essa permissão pelo papel de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.gcloud services enable ftp.googleapis.com
- Se você quiser restringir o acesso ao servidor com base nos endereços IP dos usuários, colete uma lista de blocos CIDR que têm permissão para acessar o servidor.
Funções exigidas
Para receber as permissões necessárias
para criar um servidor SFTP,
peça ao administrador para conceder a você o
papel do IAM de Administrador do Cloud FTP (roles/ftp.admin) 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 as permissões necessárias para criar um servidor SFTP. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar um servidor SFTP:
-
ftp.servers.create -
Se você estiver usando o console do Google Cloud para realizar essa tarefa:
-
ftp.servers.list -
ftp.locations.list
-
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Criar um servidor externo
Console
- No console do Google Cloud , acesse a página do Cloud FTP.
Clique em Criar servidor.
Na guia Configuração do servidor, insira os detalhes básicos do servidor:
No campo ID do servidor, insira um ID exclusivo para o servidor.
Na lista Região, selecione o localGoogle Cloud para o servidor.
Para 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.
(Opcional) Digite um nome de exibição para o servidor.
Clique em Continuar.
Na guia Rede e segurança, configure a conectividade do servidor:
Selecione Externo (IP público).
No campo Intervalos de IP permitidos, forneça um bloco CIDR que tenha permissão para acessar o servidor e pressione Enter. Por exemplo,
192.0.2.0/24. É preciso fornecer pelo menos um valor, e é possível fornecer no máximo 500 blocos CIDR. Para permitir conexões de todos os endereços IP, use0.0.0.0/0.
Clique em Criar.
Leva cerca de 10 minutos para o servidor ser criado.
gcloud
Para criar um servidor externo, execute o
comando gcloud alpha storage ftp servers create
e forneça a flag --access-type=EXTERNAL.
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.
Não pode começar com o prefixo
goognem conter a stringgoogle, incluindo erros de ortografia semelhantes, comog00gle. O tamanho máximo é de 30 caracteres. -
LOCATION_ID: o Google Cloud local do servidor, como
us-west1.Para 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 tem permissão para acessar o servidor. Por exemplo,
192.0.2.0/24. É necessário fornecer pelo menos um valor, e é possível fornecer no máximo 500 blocos CIDR em uma lista separada por vírgulas. Para permitir conexões de todos os endereços IP, use0.0.0.0/0.
Execute o seguinte comando:
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
método servers.create
e forneça uma configuração de acesso externalConfig.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Google Cloud do servidor.
-
LOCATION_ID: o Google Cloud local do servidor, como
us-west1.Para 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.
Não pode começar com o prefixo
goognem conter a stringgoogle, incluindo erros de ortografia semelhantes, comog00gle. O tamanho máximo é de 30 caracteres. - CIDR_BLOCK: um bloco CIDR que tem permissão para acessar o servidor. Por exemplo,
192.0.2.0/24. É preciso fornecer pelo menos um valor, e é possível fornecer no máximo 500 blocos CIDR . Para permitir conexões de todos os endereços IP, use0.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.
Bibliotecas de cliente
Para criar um servidor externo, defina o tipo de acesso como externo e forneça uma configuração de acesso externo.
C#
Para saber como instalar e usar a biblioteca de cliente do Cloud FTP, consulte Bibliotecas de cliente do Cloud FTP. Para mais informações, consulte a documentação de referência da API Cloud FTP C#.
Para se autenticar no Cloud FTP, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca de cliente do Cloud FTP, consulte Bibliotecas de cliente do Cloud FTP. Para mais informações, consulte a documentação de referência da API Cloud FTP Go.
Para se autenticar no Cloud FTP, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud FTP, consulte Bibliotecas de cliente do Cloud FTP. Para mais informações, consulte a documentação de referência da API Cloud FTP Java.
Para se autenticar no Cloud FTP, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente do Cloud FTP, consulte Bibliotecas de cliente do Cloud FTP. Para mais informações, consulte a documentação de referência da API Cloud FTP Node.js.
Para se autenticar no Cloud FTP, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca de cliente do Cloud FTP, consulte Bibliotecas de cliente do Cloud FTP. Para mais informações, consulte a documentação de referência da API Cloud FTP PHP.
Para se autenticar no Cloud FTP, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud FTP, consulte Bibliotecas de cliente do Cloud FTP. Para mais informações, consulte a documentação de referência da API Cloud FTP Python.
Para se autenticar no Cloud FTP, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para saber como instalar e usar a biblioteca de cliente do Cloud FTP, consulte Bibliotecas de cliente do Cloud FTP. Para mais informações, consulte a documentação de referência da API Cloud FTP Ruby.
Para se autenticar no Cloud FTP, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.