Questo documento mostra come creare un server SFTP interno utilizzando Cloud FTP. È possibile accedere a un server SFTP interno solo all'interno della rete Virtual Private Cloud (VPC) utilizzando Private Service Connect. I dipendenti e gli stakeholder interni che si trovano all'interno della tua rete possono utilizzare il server per trasferire in modo sicuro i file da e verso Cloud Storage.
Specifica i progetti autorizzati a connettersi al server. Puoi specificare facoltativamente i progetti a cui è stato rifiutato il collegamento.
Per informazioni di base su VPC, consulta Panoramica di VPC.
Per i passaggi per creare un server esterno, a cui è possibile accedere tramite internet, consulta Creare un server SFTP esterno. Una volta creato, non puoi modificare lo stato di un server (esterno o interno).
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 carichi di lavoro.
-
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.-
Raccogli le seguenti informazioni sugli utenti del tuo server:
- Un elenco di ID progetto o numeri di progetto a cui è consentito l'accesso al server.
- (Facoltativo) Un elenco di ID progetto o numeri di progetto a cui è stato negato l'accesso 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 carichi di lavoro.
-
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 Google Cloud progetto.
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 il quale 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.
-
Creare 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:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (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 Google Cloud progetto.
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 il quale 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.
-
Creare 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:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable ftp.googleapis.com
-
Raccogli le seguenti informazioni sugli utenti del tuo server:
- Un elenco di ID progetto o numeri di progetto a cui è consentito l'accesso al server.
- (Facoltativo) Un elenco di ID progetto o numeri di progetto a cui è stato negato l'accesso al server.
Ruoli obbligatori
Per ottenere l'autorizzazione
necessaria 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 l'autorizzazione
ftp.servers.create
necessaria per
creare un server SFTP.
Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Crea un server interno
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 posizione per il server.
Per velocità di trasferimento dei dati più elevate, crea il server nella stessa posizione del bucket Cloud Storage in cui sono archiviati i 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 Interno (solo VPC).
Nella sezione Progetti accettati, specifica i progetti consumer che possono connettersi al server utilizzando Private Service Connect. Segui questi passaggi:
Nel campo Progetto, inserisci l'ID progetto o il numero di un progetto autorizzato a connettersi. Ad esempio,
example-allowed-project.Nel campo Limite di connessione, inserisci il numero massimo di endpoint Private Service Connect che possono essere creati nel progetto consumer. Il valore deve essere compreso tra 1 e 250 endpoint.
Per aggiungere altri progetti, fai clic su Aggiungi progetto accettato e poi ripeti i passaggi precedenti.
(Facoltativo) Per impedire ai progetti di connettersi al server, nella sezione Progetti rifiutati, fai clic su Aggiungi progetto rifiutato. Inserisci l'ID progetto o il numero di un progetto consumer a cui è vietato connettersi al server.
I progetti in questo elenco non possono accedere al server anche se sono inclusi nell'elenco dei progetti consentiti.
Fai clic su Crea.
La creazione del server richiede circa 10 minuti.
gcloud
Per creare un server interno, esegui il
comando gcloud alpha storage ftp servers create
e fornisci il flag --access-type=INTERNAL.
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. La lunghezza massima è di 30 caratteri.
-
LOCATION_ID: la Google Cloud posizione 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 dati. Se la posizione del bucket non è supportata da Cloud FTP, seleziona la posizione disponibile più vicina.
-
PROJECT_TO_ALLOW: l'ID progetto o il numero di un progetto consumer autorizzato a connettersi al server utilizzando Private Service Connect. Ad esempio,
example-allowed-project. Devi specificare almeno un progetto.Puoi consentire un massimo di 500 progetti. Fornisci più progetti e i rispettivi limiti di connessione in un elenco separato da virgole. Ad esempio,
--consumer-accept-list=projectA=20,projectB=15. - CONNECTION_LIMIT: il numero massimo di endpoint Private Service Connect che possono essere creati nel progetto consumer. Il valore deve essere compreso tra 1 e 250 endpoint.
-
(Facoltativo) PROJECT_TO_REJECT: l'ID progetto o il numero di un progetto consumer a cui è vietato connettersi al server. Ad esempio,
example-rejected-project. I progetti in questo elenco non possono accedere al server anche se sono inclusi nell'elenco dei progetti consentiti.Puoi rifiutare un massimo di 64 progetti. Fornisci più progetti in un elenco separato da virgole.
Se non vuoi rifiutare esplicitamente alcun progetto, ometti il flag--consumer-reject-list.
Esegui questo 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
La creazione del server richiede circa 10 minuti.
REST
Per creare un server interno, utilizza il metodo servers.create e fornisci una configurazione di accesso internalConfig.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l' Google Cloud ID progetto del server.
-
LOCATION_ID: la Google Cloud posizione 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 dati. Se la posizione del bucket non è supportata da Cloud FTP, seleziona la posizione 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. La lunghezza massima è di 30 caratteri.
-
PROJECT_TO_ALLOW: l'ID progetto o il numero di un progetto consumer autorizzato a connettersi al server utilizzando Private Service Connect. Ad esempio,
example-allowed-project. Devi specificare almeno un progetto.Puoi consentire un massimo di 500 progetti.
- CONNECTION_LIMIT: il numero massimo di endpoint Private Service Connect che possono essere creati nel progetto consumer. Il valore deve essere compreso tra 1 e 250 endpoint.
-
(Facoltativo) PROJECT_TO_REJECT: l'ID progetto o il numero di un progetto consumer a cui è vietato connettersi al server. Ad esempio,
example-rejected-project. I progetti in questo elenco non possono accedere al server anche se sono inclusi nell'elenco dei progetti consentiti.Puoi rifiutare un massimo di 64 progetti.
Se non vuoi rifiutare esplicitamente alcun progetto, ometti l'oggetto
consumerRejectList.
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": "INTERNAL",
"internalConfig": {
"consumerAcceptList": [
{
"project": "projects/PROJECT_TO_ALLOW",
"connectionLimit": CONNECTION_LIMIT
}
],
"consumerRejectList": [
{
"project": "projects/PROJECT_TO_REJECT"
}
]
}
}
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.