Questo documento mostra come creare un server SFTP esterno utilizzando Cloud FTP. Un server SFTP esterno è accessibile tramite internet. I partner esterni alla tua rete possono utilizzare il server per trasferire in modo sicuro i file da e verso Cloud Storage.
Puoi limitare l'accesso a un server SFTP esterno in base agli indirizzi IP dei tuoi utenti.
Per i passaggi per creare un server interno, a cui è possibile accedere solo all'interno della tua rete Virtual Private Cloud (VPC), consulta Crea un server SFTP interno. Non puoi modificare la natura esterna o interna di un server dopo averlo creato.
Prima di iniziare
Console
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
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, if it is not already enabled.
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, if it is not already enabled.
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.- Se vuoi limitare l'accesso al server in base agli indirizzi IP degli utenti, raccogli un elenco di blocchi CIDR autorizzati ad accedere al server.
gcloud
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un progetto Google Cloud .
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Crea un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
Abilita l'API Cloud FTP, se non è già abilitata:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable ftp.googleapis.com
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un progetto Google Cloud .
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Crea un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
Abilita l'API Cloud FTP, se non è già abilitata:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable ftp.googleapis.com
- Se vuoi limitare l'accesso al server in base agli indirizzi IP degli utenti, raccogli un elenco di blocchi CIDR autorizzati ad accedere al server.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un server SFTP, chiedi all'amministratore di concederti il ruolo IAM Cloud FTP Admin (roles/ftp.admin) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un server SFTP. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare un server SFTP sono necessarie le seguenti autorizzazioni:
-
ftp.servers.create -
Se utilizzi la console Google Cloud per eseguire questa attività:
-
ftp.servers.list -
ftp.locations.list
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Crea un server esterno
Console
- Nella console Google Cloud , vai alla pagina Cloud FTP.
Fai clic su Crea server.
Nella scheda Configurazione server, inserisci i dettagli di base del server:
Nel campo ID server, inserisci un ID univoco per il server.
Nell'elenco Regione, seleziona la Google Cloud località per il server.
Per velocità di trasferimento di dati più elevate, crea il server nella stessa località del bucket Cloud Storage in cui sono archiviati i tuoi dati. Se la località del bucket non è supportata da Cloud FTP, seleziona la località disponibile più vicina.
(Facoltativo) Inserisci un nome visualizzato per il server.
Fai clic su Continua.
Nella scheda Networking e sicurezza, configura la connettività per il server:
Seleziona Esterno (IP pubblico).
Nel campo Intervalli IP consentiti, fornisci un blocco CIDR autorizzato ad accedere al server, quindi premi Invio. Ad esempio,
192.0.2.0/24. Devi fornire almeno un valore e puoi fornire un massimo di 500 blocchi CIDR. Per consentire le connessioni da tutti gli indirizzi IP, utilizza0.0.0.0/0.
Fai clic su Crea.
La creazione del server richiede circa 10 minuti.
gcloud
Per creare un server esterno, esegui il comando gcloud alpha storage ftp servers create e fornisci il flag --access-type=EXTERNAL.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- SERVER_ID: un ID univoco per il server. Deve iniziare con una lettera minuscola e terminare con una lettera minuscola o un numero. Può contenere lettere minuscole, numeri e trattini.
Non può iniziare con il prefisso
googo contenere la stringagoogle, incluse varianti ortografiche simili comeg00gle. La lunghezza massima è di 30 caratteri. -
LOCATION_ID: la Google Cloud località del server, ad esempio
us-west1.Per velocità di trasferimento dei dati più elevate, crea il server nella stessa località del bucket Cloud Storage in cui sono archiviati i tuoi dati. Se la località del bucket non è supportata da Cloud FTP, seleziona la località disponibile più vicina.
- CIDR_BLOCK: un blocco CIDR autorizzato ad accedere al server. Ad esempio,
192.0.2.0/24. Devi fornire almeno un valore e puoi fornire un massimo di 500 blocchi CIDR in un elenco separato da virgole. Per consentire le connessioni da tutti gli indirizzi IP, utilizza0.0.0.0/0.
Esegui questo 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
La creazione del server richiede circa 10 minuti.
REST
Per creare un server esterno, utilizza il metodo servers.create e fornisci una configurazione di accesso externalConfig.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID progetto Google Cloud del server.
-
LOCATION_ID: la Google Cloud località del server, ad esempio
us-west1.Per velocità di trasferimento dei dati più elevate, crea il server nella stessa località del bucket Cloud Storage in cui sono archiviati i tuoi dati. Se la località del bucket non è supportata da Cloud FTP, seleziona la località disponibile più vicina.
- SERVER_ID: un ID univoco per il server. Deve iniziare con una lettera minuscola e terminare con una lettera minuscola o un numero. Può contenere lettere minuscole, numeri e trattini.
Non può iniziare con il prefisso
googo contenere la stringagoogle, incluse varianti ortografiche simili comeg00gle. La lunghezza massima è di 30 caratteri. - CIDR_BLOCK: un blocco CIDR autorizzato ad accedere al server. Ad esempio,
192.0.2.0/24. Devi fornire almeno un valore e puoi fornire un massimo di 500 blocchi CIDR. Per consentire le connessioni da tutti gli indirizzi IP, utilizza0.0.0.0/0.
Metodo HTTP e URL:
POST https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers?serverId=SERVER_ID
Corpo JSON della richiesta:
{
"accessType": "EXTERNAL",
"externalConfig": {
"allowedCidrBlocks": [
"CIDR_BLOCK"
]
}
}
Per inviare la richiesta, espandi una di queste opzioni:
La risposta identifica un'operazione a lunga esecuzione.La creazione del server richiede circa 10 minuti.
Librerie client
Per creare un server esterno, imposta il tipo di accesso su esterno e fornisci una configurazione di accesso esterno.
C#
Per scoprire come installare e utilizzare la libreria client per Cloud FTP, consulta Librerie client di Cloud FTP. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud FTP C#.
Per eseguire l'autenticazione in Cloud FTP, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud FTP, consulta Librerie client di Cloud FTP. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud FTP Go.
Per eseguire l'autenticazione in Cloud FTP, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud FTP, consulta Librerie client di Cloud FTP. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud FTP Java.
Per eseguire l'autenticazione in Cloud FTP, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud FTP, consulta Librerie client di Cloud FTP. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud FTP Node.js.
Per eseguire l'autenticazione in Cloud FTP, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud FTP, consulta Librerie client di Cloud FTP. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud FTP PHP.
Per eseguire l'autenticazione in Cloud FTP, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud FTP, consulta Librerie client di Cloud FTP. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud FTP Python.
Per eseguire l'autenticazione in Cloud FTP, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud FTP, consulta Librerie client di Cloud FTP. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud FTP Ruby.
Per eseguire l'autenticazione in Cloud FTP, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.