Ce document explique comment créer un serveur SFTP externe à l'aide de Cloud FTP. Un serveur SFTP externe est accessible sur Internet. Les partenaires qui ne font pas partie de 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 au sein de votre réseau de cloud privé virtuel (VPC), consultez la section Créer un serveur SFTP interne. Une fois le serveur créé, vous ne pouvez plus modifier son type (externe ou interne).
Avant de commencer
gcloud
- Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. 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 Google Cloud projet.
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 Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
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 nouveau projet, vous disposez déjà des autorisations requises.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez l'API Cloud FTP :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin 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 d'utilisation du service (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 Google Cloud projet.
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 Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
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 nouveau projet, vous disposez déjà des autorisations requises.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez l'API Cloud FTP :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin 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 d'utilisation du service (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 l'autorisation nécessaire 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 l'
ftp.servers.create
autorisation,
qui est nécessaire pour
créer un serveur SFTP.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un serveur externe
gcloud
Pour créer un serveur externe, exécutez la
gcloud alpha storage ftp servers create commande
et fournissez l'indicateur --access-type=EXTERNAL.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- SERVER_ID : ID 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. La longueur maximale est de 30 caractères.
-
LOCATION_ID : Google Cloud emplacement du serveur, tel que
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 séparée par des virgules. 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
servers.create méthode
et fournissez une externalConfig configuration d'accès.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID du Google Cloud projet du serveur.
-
LOCATION_ID : Google Cloud emplacement du serveur, tel que
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 : ID 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. 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 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.