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 para e do Cloud Storage.
É 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 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
gcloud
-
Instale a Google Cloud CLI.
-
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 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 aresourcemanager.projects.createpermissão. Saiba como conceder papéis.
-
Crie um Google Cloud projeto do:
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor 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_IDpelo nome do Google Cloud projeto do.
-
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 Google Cloud projeto.
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
- 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 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 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
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 e terminar com uma letra minúscula ou um número. Pode conter letras minúsculas, números e hífens. O comprimento máximo é de 30 caracteres.
-
LOCATION_ID: o Google Cloud local do servidor, como
us-west1.Para 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 um máximo de 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 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 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 e terminar com uma letra minúscula ou um número. Pode conter letras minúsculas, números e hífens. 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 um máximo de 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.