Este documento mostra como criar um servidor SFTP interno usando o Cloud FTP. Um servidor SFTP interno só pode ser acessado na sua rede de nuvem privada virtual (VPC) usando o Private Service Connect. Os funcionários e stakeholders internos da sua rede podem usar o servidor para transferir arquivos com segurança para e do Cloud Storage.
Você especifica os projetos que podem se conectar ao servidor. Opcionalmente, é possível especificar projetos que não podem se conectar.
Para informações básicas sobre a VPC, consulte Visão geral da VPC.
Para conferir as etapas de criação de um servidor externo, que pode ser acessado pela Internet, consulte Criar um servidor SFTP externo. 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, você precisa do papel de Criador de projetos
(
roles/resourcemanager.projectCreator), que contém aresourcemanager.projects.createpermissão. Saiba como conceder papéis.
-
Criar um Google Cloud projeto:
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o Google Cloud projeto que você está criando. -
Selecione o Google Cloud projeto que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do seu Google Cloud projeto.
-
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 seu 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
-
Colete as seguintes informações sobre os usuários do servidor:
- Uma lista de IDs ou números de projetos que podem acessar o servidor.
- (Opcional) Uma lista de IDs ou números de projetos que não 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 interno
gcloud
Para criar um servidor interno, execute o
gcloud alpha storage ftp servers create comando
e forneça a --access-type=INTERNAL 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.
-
PROJECT_TO_ALLOW: o ID do projeto ou número de um projeto de consumidor que pode se conectar ao servidor usando o Private Service Connect. Por exemplo,
example-allowed-project. É necessário especificar pelo menos um projeto.É possível permitir um máximo de 500 projetos. Forneça vários projetos e os limites de conexão respectivos em uma lista separada por vírgulas. Por exemplo,
--consumer-accept-list=projectA=20,projectB=15. - CONNECTION_LIMIT: o número máximo de endpoints do Private Service Connect que podem ser criados no projeto do consumidor. O valor precisa ser de 1 a 250 endpoints.
-
(Opcional) PROJECT_TO_REJECT: o ID do projeto ou número de um projeto de consumidor que não pode se conectar ao servidor. Por exemplo,
example-rejected-project. Os projetos nessa lista são rejeitados para acessar o servidor, mesmo que estejam incluídos na lista de projetos permitidos.É possível rejeitar um máximo de 64 projetos. Forneça vários projetos em uma lista separada por vírgulas.
Se você não quiser rejeitar explicitamente nenhum projeto, omita a--consumer-reject-listflag.
Execute o comando a seguir:
Linux, macOS ou Cloud Shell
gcloud alpha storage ftp servers create SERVER_ID --access-type=INTERNAL \ --location=LOCATION_ID \ --consumer-accept-list=PROJECT_TO_ALLOW=CONNECTION_LIMIT \ --consumer-reject-list=PROJECT_TO_REJECT
Windows (PowerShell)
gcloud alpha storage ftp servers create SERVER_ID --access-type=INTERNAL ` --location=LOCATION_ID ` --consumer-accept-list=PROJECT_TO_ALLOW=CONNECTION_LIMIT ` --consumer-reject-list=PROJECT_TO_REJECT
Windows (cmd.exe)
gcloud alpha storage ftp servers create SERVER_ID --access-type=INTERNAL ^ --location=LOCATION_ID ^ --consumer-accept-list=PROJECT_TO_ALLOW=CONNECTION_LIMIT ^ --consumer-reject-list=PROJECT_TO_REJECT
Leva cerca de 10 minutos para o servidor ser criado.
REST
Para criar um servidor interno, use o
servers.create método
e forneça uma internalConfig 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.
-
PROJECT_TO_ALLOW: o ID do projeto ou número de um projeto de consumidor que pode se conectar ao servidor usando o Private Service Connect. Por exemplo,
example-allowed-project. É necessário especificar pelo menos um projeto.É possível permitir um máximo de 500 projetos.
- CONNECTION_LIMIT: o número máximo de endpoints do Private Service Connect que podem ser criados no projeto do consumidor. O valor precisa ser de 1 a 250 endpoints.
-
(Opcional) PROJECT_TO_REJECT: o ID do projeto ou número de um projeto de consumidor que não pode se conectar ao servidor. Por exemplo,
example-rejected-project. Os projetos nessa lista são rejeitados para acessar o servidor, mesmo que estejam incluídos na lista de projetos permitidos.É possível rejeitar um máximo de 64 projetos.
Se você não quiser rejeitar explicitamente nenhum projeto, omita o
consumerRejectListobjeto.
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": "INTERNAL",
"internalConfig": {
"consumerAcceptList": [
{
"project": "projects/PROJECT_TO_ALLOW",
"connectionLimit": CONNECTION_LIMIT
}
],
"consumerRejectList": [
{
"project": "projects/PROJECT_TO_REJECT"
}
]
}
}
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.