Crea un servidor SFTP externo

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

  1. Instala Google Cloud CLI.

  2. Configura gcloud CLI para usar tu identidad federada.

    Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.

  3. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  4. 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 el resourcemanager.projects.create permiso. Obtén más información para otorgar roles.
    • Crea un Google Cloud proyecto de:

      gcloud projects create PROJECT_ID

      Reemplaza PROJECT_ID por 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_ID por el nombre de tu Google Cloud proyecto de.

  5. 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.

  6. Verifica que la facturación esté habilitada para tu Google Cloud proyecto.

  7. 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
  8. 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, usa 0.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, usa 0.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.

¿Qué sigue?