Neste documento, mostramos 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 que estão na 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. Você pode especificar projetos que serão rejeitados para conexão.
Para informações básicas sobre a VPC, consulte a Visão geral da VPC.
Para saber como criar 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
Console
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
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.
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.-
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.
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.-
Colete as seguintes informações sobre os usuários do seu servidor:
- Uma lista de IDs ou números de projetos que têm permissão para acessar o servidor.
- (Opcional) Uma lista de IDs ou números de projetos que são rejeitados ao acessar o servidor.
gcloud
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça 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: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que 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 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 Google Cloud que você está criando. -
Selecione o projeto 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:
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 com o papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.gcloud services enable ftp.googleapis.com
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça 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: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que 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 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 Google Cloud que você está criando. -
Selecione o projeto 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:
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 com o papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.gcloud services enable ftp.googleapis.com
-
Colete as seguintes informações sobre os usuários do seu servidor:
- Uma lista de IDs ou números de projetos que têm permissão para acessar o servidor.
- (Opcional) Uma lista de IDs ou números de projetos que são rejeitados ao 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 seu 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
permissão
ftp.servers.create,
que é necessária para
criar um servidor SFTP.
Também é possível receber essa permissão com papéis personalizados ou outros papéis predefinidos.
Criar um servidor interno
Console
- No console do Google Cloud , acesse a página 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 Google Cloud local do servidor.
Para ter as velocidades de transferência de dados mais rápidas, crie o servidor no mesmo local do 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) Insira um nome de exibição para o servidor.
Clique em Continuar.
Na guia Rede e segurança, configure a conectividade do servidor:
Selecione Interno (somente VPC).
Na seção Projetos aceitos, especifique os projetos de consumidor que podem se conectar ao servidor usando o Private Service Connect. Faça o seguinte:
No campo Projeto, insira o ID do projeto ou o número de um projeto que pode se conectar. Por exemplo,
example-allowed-project.No campo Limite de conexão, insira o número máximo de endpoints do Private Service Connect que podem ser criados no projeto do consumidor. O valor precisa estar entre 1 e 250 endpoints.
Para adicionar mais projetos, clique em Adicionar projeto aceito e repita as etapas anteriores.
(Opcional) Para impedir que projetos se conectem ao servidor, na seção Projetos rejeitados, clique em Adicionar projeto rejeitado. Insira o ID do projeto ou o número de um projeto do consumidor que não pode se conectar ao servidor.
Os projetos nessa lista são impedidos de acessar o servidor, mesmo que estejam incluídos na lista de projetos permitidos.
Clique em Criar.
A criação do servidor leva cerca de 10 minutos.
gcloud
Para criar um servidor interno, execute o
comando gcloud alpha storage ftp servers create
e forneça a flag --access-type=INTERNAL.
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 hífens. O tamanho 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.
-
PROJECT_TO_ALLOW: o ID do projeto ou número de um projeto do consumidor que tem permissão para se conectar ao servidor usando o Private Service Connect. Por exemplo,
example-allowed-project. É necessário especificar pelo menos um projeto.É possível permitir no máximo 500 projetos. Forneça vários projetos e os respectivos limites de conexão 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 estar entre 1 e 250 endpoints.
-
(Opcional) PROJECT_TO_REJECT: o ID do projeto ou número de um projeto de consumidor que está proibido de se conectar ao servidor. Por exemplo,
example-rejected-project. Os projetos nessa lista são impedidos de acessar o servidor, mesmo que estejam incluídos na lista de projetos permitidos.É possível rejeitar no máximo 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 flag--consumer-reject-list.
Execute o seguinte comando:
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
A criação do servidor leva cerca de 10 minutos.
REST
Para criar um servidor interno, use o
método servers.create
e forneça uma configuração de acesso internalConfig.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto Google Cloud 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 hífens. O tamanho máximo é de 30 caracteres.
-
PROJECT_TO_ALLOW: o ID do projeto ou número de um projeto do consumidor que tem permissão para se conectar ao servidor usando o Private Service Connect. Por exemplo,
example-allowed-project. É necessário especificar pelo menos um projeto.É possível permitir no máximo 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 estar entre 1 e 250 endpoints.
-
(Opcional) PROJECT_TO_REJECT: o ID do projeto ou número de um projeto de consumidor que está proibido de se conectar ao servidor. Por exemplo,
example-rejected-project. Os projetos nessa lista são impedidos de acessar o servidor, mesmo que estejam incluídos na lista de projetos permitidos.É possível rejeitar no máximo 64 projetos.
Se você não quiser rejeitar explicitamente nenhum projeto, omita o objeto
consumerRejectList.
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.A criação do servidor leva cerca de 10 minutos.