En este documento, se muestra cómo crear un servidor SFTP externo con Cloud FTP. Se puede acceder a un servidor SFTP externo a través de Internet. Los socios que no forman parte de tu red pueden usar el servidor para transferir archivos de forma segura hacia y desde Cloud Storage.
Puedes restringir el acceso a un servidor SFTP externo según las direcciones IP de tus usuarios.
Para conocer los pasos para crear un servidor interno, al que solo se puede acceder dentro de tu red de nube privada virtual (VPC), consulta Crea un servidor SFTP interno. 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 más información para otorgar roles.
-
Crea un Google Cloud proyecto de:
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto de que estás creando. -
Selecciona el Google Cloud proyecto de que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu Google Cloud proyecto de.
-
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 más 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 más información para otorgar roles.
-
Crea un Google Cloud proyecto de:
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto de que estás creando. -
Selecciona el Google Cloud proyecto de que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu Google Cloud proyecto de.
-
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 más información para otorgar roles.gcloud services enable ftp.googleapis.com
- Si deseas restringir el acceso al servidor según las direcciones IP de tus usuarios, recopila una lista de bloques CIDR que tengan 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 externo
gcloud
Para crear un servidor externo, ejecuta el
gcloud alpha storage ftp servers create comando
y proporciona la --access-type=EXTERNAL 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.
- CIDR_BLOCK: Es un bloque CIDR que tiene permiso para acceder al servidor. Por ejemplo,
192.0.2.0/24. Debes proporcionar al menos un valor y puedes proporcionar un máximo de 500 bloques CIDR en una lista separada por comas. Para permitir conexiones desde todas las direcciones IP, usa0.0.0.0/0.
Ejecuta el siguiente comando:
Linux, macOS o 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
El servidor tarda unos 10 minutos en crearse.
REST
Para crear un servidor externo, usa el
servers.create método
y proporciona una externalConfig 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 de 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.
- CIDR_BLOCK: Es un bloque CIDR que tiene permiso para acceder al servidor. Por ejemplo,
192.0.2.0/24. Debes proporcionar al menos un valor y puedes proporcionar un máximo de 500 bloques CIDR . Para permitir conexiones desde todas las direcciones IP, usa0.0.0.0/0.
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": "EXTERNAL",
"externalConfig": {
"allowedCidrBlocks": [
"CIDR_BLOCK"
]
}
}
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.