Ce document explique comment créer un serveur SFTP externe à l'aide de Cloud FTP. Un serveur SFTP externe est accessible via Internet. Les partenaires extérieurs à votre réseau peuvent utiliser le serveur pour transférer des fichiers de manière sécurisée vers et depuis Cloud Storage.
Vous pouvez limiter l'accès à un serveur SFTP externe en fonction des adresses IP de vos utilisateurs.
Pour savoir comment créer un serveur interne, accessible uniquement depuis votre réseau de cloud privé virtuel (VPC), consultez Créer un serveur SFTP interne. Vous ne pouvez pas modifier le type d'un serveur (externe ou interne) après sa création.
Avant de commencer
Console
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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.- Si vous souhaitez limiter l'accès au serveur en fonction des adresses IP de vos utilisateurs, collectez une liste de blocs CIDR autorisés à accéder au serveur.
gcloud
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un projet Google Cloud .
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique. Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous devez disposer du rôle "Créateur de projet" (
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du projet Google Cloud que vous créez. -
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre projet Google Cloud .
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
Activez l'API Cloud FTP si ce n'est pas déjà fait :
Rôles requis pour activer les API
Pour activer des API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez l'obtenir via le rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.gcloud services enable ftp.googleapis.com
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un projet Google Cloud .
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique. Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous devez disposer du rôle "Créateur de projet" (
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du projet Google Cloud que vous créez. -
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre projet Google Cloud .
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
Activez l'API Cloud FTP si ce n'est pas déjà fait :
Rôles requis pour activer les API
Pour activer des API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez l'obtenir via le rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.gcloud services enable ftp.googleapis.com
- Si vous souhaitez limiter l'accès au serveur en fonction des adresses IP de vos utilisateurs, collectez une liste de blocs CIDR autorisés à accéder au serveur.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer un serveur SFTP, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Cloud FTP (roles/ftp.admin) sur votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour créer un serveur SFTP. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer un serveur SFTP :
-
ftp.servers.create -
Si vous utilisez la console Google Cloud pour effectuer cette tâche :
-
ftp.servers.list -
ftp.locations.list
-
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un serveur externe
Console
- Dans la console Google Cloud , accédez à la page Cloud FTP.
Cliquez sur Créer un serveur.
Dans l'onglet Configuration du serveur, saisissez les informations de base du serveur :
Dans le champ ID du serveur, saisissez un identifiant unique pour le serveur.
Dans la liste Région, sélectionnez l'emplacementGoogle Cloud du serveur.
Pour des vitesses de transfert de données optimales, créez le serveur au même emplacement que le bucket Cloud Storage qui stocke vos données. Si l'emplacement du bucket n'est pas compatible avec Cloud FTP, sélectionnez l'emplacement disponible le plus proche.
(Facultatif) Saisissez un nom à afficher pour le serveur.
Cliquez sur Continuer.
Dans l'onglet Mise en réseau et sécurité, configurez la connectivité du serveur :
Sélectionnez Externe (adresse IP publique).
Dans le champ Plages d'adresses IP autorisées, indiquez un bloc CIDR autorisé à accéder au serveur, puis appuyez sur Entrée. Exemple :
192.0.2.0/24. Vous devez fournir au moins une valeur et pouvez fournir un maximum de 500 blocs CIDR. Pour autoriser les connexions depuis toutes les adresses IP, utilisez0.0.0.0/0.
Cliquez sur Créer.
La création du serveur prend environ 10 minutes.
gcloud
Pour créer un serveur externe, exécutez la commande gcloud alpha storage ftp servers create et fournissez l'option --access-type=EXTERNAL.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- SERVER_ID : identifiant unique du serveur. Doit commencer par une lettre minuscule et se terminer par une lettre minuscule ou un chiffre. Peut contenir des lettres minuscules, des chiffres et des traits d'union.
Ne peut pas commencer par le préfixe
googni contenir la chaînegoogle, y compris des termes semblables tels queg00gle. La longueur maximale est de 30 caractères. -
LOCATION_ID : Google Cloud emplacement du serveur, par exemple
us-west1.Pour des vitesses de transfert de données optimales, créez le serveur au même emplacement que le bucket Cloud Storage qui stocke vos données. Si l'emplacement du bucket n'est pas compatible avec Cloud FTP, sélectionnez l'emplacement disponible le plus proche.
- CIDR_BLOCK : bloc CIDR autorisé à accéder au serveur. Exemple :
192.0.2.0/24. Vous devez fournir au moins une valeur et pouvez fournir un maximum de 500 blocs CIDR dans une liste d'éléments séparés par une virgule. Pour autoriser les connexions depuis toutes les adresses IP, utilisez0.0.0.0/0.
Exécutez la commande suivante :
Linux, macOS ou 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 création du serveur prend environ 10 minutes.
REST
Pour créer un serveur externe, utilisez la méthode servers.create et fournissez une configuration d'accès externalConfig.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID du projet Google Cloud du serveur.
-
LOCATION_ID : Google Cloud emplacement du serveur, par exemple
us-west1.Pour des vitesses de transfert de données optimales, créez le serveur au même emplacement que le bucket Cloud Storage qui stocke vos données. Si l'emplacement du bucket n'est pas compatible avec Cloud FTP, sélectionnez l'emplacement disponible le plus proche.
- SERVER_ID : identifiant unique du serveur. Doit commencer par une lettre minuscule et se terminer par une lettre minuscule ou un chiffre. Peut contenir des lettres minuscules, des chiffres et des traits d'union.
Ne peut pas commencer par le préfixe
googni contenir la chaînegoogle, y compris des termes semblables tels queg00gle. La longueur maximale est de 30 caractères. - CIDR_BLOCK : bloc CIDR autorisé à accéder au serveur. Exemple :
192.0.2.0/24. Vous devez fournir au moins une valeur et vous pouvez fournir un maximum de 500 blocs CIDR. Pour autoriser les connexions depuis toutes les adresses IP, utilisez0.0.0.0/0.
Méthode HTTP et URL :
POST https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers?serverId=SERVER_ID
Corps JSON de la requête :
{
"accessType": "EXTERNAL",
"externalConfig": {
"allowedCidrBlocks": [
"CIDR_BLOCK"
]
}
}
Pour envoyer votre requête, développez l'une des options suivantes :
La réponse identifie une opération de longue durée.La création du serveur prend environ 10 minutes.
Bibliothèques clientes
Pour créer un serveur externe, définissez le type d'accès sur "externe" et fournissez une configuration d'accès externe.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud FTP, consultez Bibliothèques clientes Cloud FTP. Pour en savoir plus, consultez la documentation de référence de l'API Cloud FTP en langage C#.
Pour vous authentifier auprès de Cloud FTP, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud FTP, consultez Bibliothèques clientes Cloud FTP. Pour en savoir plus, consultez la documentation de référence de l'API Cloud FTP en langage Go.
Pour vous authentifier auprès de Cloud FTP, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud FTP, consultez Bibliothèques clientes Cloud FTP. Pour en savoir plus, consultez la documentation de référence de l'API Cloud FTP en langage Java.
Pour vous authentifier auprès de Cloud FTP, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud FTP, consultez Bibliothèques clientes Cloud FTP. Pour en savoir plus, consultez la documentation de référence de l'API Cloud FTP en langage Node.js.
Pour vous authentifier auprès de Cloud FTP, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud FTP, consultez Bibliothèques clientes Cloud FTP. Pour en savoir plus, consultez la documentation de référence de l'API Cloud FTP en langage PHP.
Pour vous authentifier auprès de Cloud FTP, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud FTP, consultez Bibliothèques clientes Cloud FTP. Pour en savoir plus, consultez la documentation de référence de l'API Cloud FTP en langage Python.
Pour vous authentifier auprès de Cloud FTP, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud FTP, consultez Bibliothèques clientes Cloud FTP. Pour en savoir plus, consultez la documentation de référence de l'API Cloud FTP en langage Ruby.
Pour vous authentifier auprès de Cloud FTP, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.