En este documento, se muestra cómo crear un servidor SFTP interno con Cloud FTP. Solo se puede acceder a un servidor SFTP interno dentro de tu red de nube privada virtual (VPC) con Private Service Connect. Los empleados y las partes interesadas internas que se encuentran dentro de tu red pueden usar el servidor para transferir archivos de forma segura a Cloud Storage y desde allí.
Especificas los proyectos que tienen permiso para conectarse al servidor. De manera opcional, puedes especificar los proyectos que no tienen permiso para conectarse.
Para obtener información general sobre VPC, consulta Descripción general de VPC.
Si deseas conocer los pasos para crear un servidor externo al que se pueda acceder a través de Internet, consulta Crea un servidor SFTP externo. No puedes cambiar si un servidor es externo o interno después de que se crea.
Antes de comenzar
gcloud
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Seleccionar un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén información para otorgar roles.
-
Crea un Google Cloud proyecto:
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto que estás creando. -
Selecciona el Google Cloud proyecto que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre del Google Cloud proyecto.
-
Si usas un proyecto existente en esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita la API de Cloud FTP:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén información para otorgar roles.gcloud services enable ftp.googleapis.com
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Seleccionar un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén información para otorgar roles.
-
Crea un Google Cloud proyecto:
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto que estás creando. -
Selecciona el Google Cloud proyecto que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre del Google Cloud proyecto.
-
Si usas un proyecto existente en esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita la API de Cloud FTP:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén información para otorgar roles.gcloud services enable ftp.googleapis.com
-
Recopila la siguiente información sobre los usuarios de tu servidor:
- Una lista de IDs o números de proyectos que tienen permiso para acceder el servidor.
- (Opcional) Una lista de IDs o números de proyectos que no tienen permiso para acceder al servidor
Roles obligatorios
Para obtener el permiso que
necesitas para crear un servidor SFTP,
pídele a tu administrador que te otorgue el
rol de IAM Administrador de Cloud FTP (roles/ftp.admin) en tu proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el
ftp.servers.create
permiso,
que se requiere para
crear un servidor SFTP.
También puedes obtener este permiso con roles personalizados o otros roles predefinidos.
Crea un servidor interno
gcloud
Para crear un servidor interno, ejecuta el
gcloud alpha storage ftp servers create comando
y proporciona la --access-type=INTERNAL marca.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- SERVER_ID: Es un ID único para el servidor. Debe comenzar con una letra minúscula y terminar con una letra minúscula o un número. Puede contener letras minúsculas, números y guiones. La longitud máxima es de 30 caracteres.
-
LOCATION_ID: Es la Google Cloud ubicación de el servidor, como
us-west1.Para obtener las velocidades de transferencia de datos más rápidas, crea el servidor en la misma ubicación que el bucket de Cloud Storage que almacena tus datos. Si Cloud FTP no admite la ubicación del bucket, selecciona la ubicación disponible más cercana.
-
PROJECT_TO_ALLOW: Es el ID del proyecto o el número de un proyecto de consumidor que tiene permiso para conectarse al servidor con Private Service Connect. Por ejemplo,
example-allowed-project. Debes especificar al menos un proyecto.Puedes permitir un máximo de 500 proyectos. Proporciona varios proyectos y sus límites de conexión respectivos en una lista separada por comas. Por ejemplo,
--consumer-accept-list=projectA=20,projectB=15. - CONNECTION_LIMIT: Es la cantidad máxima de extremos de Private Service Connect que se pueden crear en el proyecto de consumidor. El valor debe ser de 1 a 250 extremos.
-
(Opcional) PROJECT_TO_REJECT: Es el ID del proyecto o el número de un proyecto de consumidor que no tiene permiso para conectarse al servidor. Por ejemplo,
example-rejected-project. Los proyectos de esta lista no tienen permiso para acceder al servidor, incluso si se incluyen en la lista de proyectos permitidos.Puedes rechazar un máximo de 64 proyectos. Proporciona varios proyectos en una lista separada por comas.
Si no quieres rechazar ningún proyecto de forma explícita, omite la--consumer-reject-listmarca.
Ejecuta el siguiente comando:
Linux, macOS o 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
El servidor tarda unos 10 minutos en crearse.
REST
Para crear un servidor interno, usa el
servers.create método
y proporciona una internalConfig configuración de acceso.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el Google Cloud ID del proyecto del servidor.
-
LOCATION_ID: Es la Google Cloud ubicación de el servidor, como
us-west1.Para obtener las velocidades de transferencia de datos más rápidas, crea el servidor en la misma ubicación que el bucket de Cloud Storage que almacena tus datos. Si Cloud FTP no admite la ubicación del bucket, selecciona la ubicación disponible más cercana.
- SERVER_ID: Es un ID único para el servidor. Debe comenzar con una letra minúscula y terminar con una letra minúscula o un número. Puede contener letras minúsculas, números y guiones. La longitud máxima es de 30 caracteres.
-
PROJECT_TO_ALLOW: Es el ID del proyecto o el número de un proyecto de consumidor que tiene permiso para conectarse al servidor con Private Service Connect. Por ejemplo,
example-allowed-project. Debes especificar al menos un proyecto.Puedes permitir un máximo de 500 proyectos.
- CONNECTION_LIMIT: Es la cantidad máxima de extremos de Private Service Connect que se pueden crear en el proyecto de consumidor. El valor debe ser de 1 a 250 extremos.
-
(Opcional) PROJECT_TO_REJECT: Es el ID del proyecto o el número de un proyecto de consumidor que no tiene permiso para conectarse al servidor. Por ejemplo,
example-rejected-project. Los proyectos de esta lista no tienen permiso para acceder al servidor, incluso si se incluyen en la lista de proyectos permitidos.Puedes rechazar un máximo de 64 proyectos.
Si no quieres rechazar ningún proyecto de forma explícita, omite el
consumerRejectListobjeto.
Método HTTP y URL:
POST https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers?serverId=SERVER_ID
Cuerpo JSON de la solicitud:
{
"accessType": "INTERNAL",
"internalConfig": {
"consumerAcceptList": [
{
"project": "projects/PROJECT_TO_ALLOW",
"connectionLimit": CONNECTION_LIMIT
}
],
"consumerRejectList": [
{
"project": "projects/PROJECT_TO_REJECT"
}
]
}
}
Para enviar tu solicitud, expande una de estas opciones:
La respuesta identifica una operación de larga duración.El servidor tarda unos 10 minutos en crearse.