Ce document explique comment modifier le compte de service d'un utilisateur Cloud FTP. Le compte de service accède aux ressources Cloud Storage au nom de l'utilisateur.
Voici les étapes à suivre pour modifier le compte de service d'un utilisateur :
- Configurez un compte de service avec les rôles IAM appropriés.
- Modifiez le compte de service associé à l'utilisateur.
Nous vous recommandons d'utiliser un compte de service dédié pour chaque utilisateur afin de pouvoir gérer l'accès SFTP séparément pour chacun d'eux.
Rôles requis
Pour obtenir l'autorisation nécessaire pour modifier les utilisateurs SFTP, demandez à votre administrateur de vous accorder le rôle IAM Administrateur 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.users.update
autorisation,
qui est nécessaire pour
modifier les utilisateurs SFTP.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Configurer un compte de service
Créez un compte de service pour l'utilisateur, s'il n'en existe pas déjà un.
gcloud iam service-accounts create USERNAME-sa \ --description="USERNAME SFTP Service Account" \ --display-name="USERNAME SFTP Service Account"
Remplacez
USERNAMEpar un nom d'utilisateur unique pour l'utilisateur SFTP. Le nom d'utilisateur doit commencer par une lettre minuscule et peut inclure des lettres minuscules, des chiffres ou des traits d'union.En cas de réussite, un message semblable à
Created service account [example-userid-sa]s'affiche.Accordez-vous le rôle Utilisateur du compte de service (
roles/iam.serviceAccountUser) :gcloud iam service-accounts add-iam-policy-binding USERNAME-sa@PROJECT_ID.iam.gserviceaccount.com \ --member="user:ADMINISTRATOR_EMAIL" \ --role="roles/iam.serviceAccountUser"
Remplacez
ADMINISTRATOR_EMAILpar l'adresse e-mail du responsable qui modifie l'utilisateur SFTP. Si vous modifiez l'utilisateur (et non une application), cette valeur correspond à l'adresse e-mail que vous utilisez pour accéder à Google Cloud.En cas de réussite, un message semblable à celui-ci s'affiche :
Updated IAM policy for serviceAccount [example-userid-sa@example-project.iam.gserviceaccount.com]. bindings: - members: - user:admin@example.com role: roles/iam.serviceAccountUser etag: BwZJk7OiSzw= version: 1Accordez au compte de service de l'utilisateur le rôle IAM nécessaire pour accéder au bucket :
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member="serviceAccount:USERNAME-sa@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE"
Remplacez
ROLEpar l'un des rôles IAM suivants :- Pour un accès en lecture seule, utilisez le rôle
roles/storage.objectViewer. - Pour un accès en lecture et en écriture, utilisez le rôle
roles/storage.objectAdmin.
Répétez cette étape pour chaque bucket auquel l'utilisateur doit accéder.
- Pour un accès en lecture seule, utilisez le rôle
Autorisez l'agent de service Cloud FTP à générer des jetons pour le compte de service de l'utilisateur :
Obtenez l'adresse e-mail de l'agent de service du serveur SFTP. Pour connaître la procédure à suivre, consultez Obtenir des informations sur un serveur.
Autorisez l'agent de service Cloud FTP :
gcloud iam service-accounts add-iam-policy-binding USERNAME-sa@PROJECT_ID.iam.gserviceaccount.com \ --member="serviceAccount:SERVICE_AGENT_EMAIL" \ --role="roles/iam.serviceAccountTokenCreator"
Remplacez
SERVICE_AGENT_EMAILpar l'adresse e-mail de l'agent de service.
Ensuite, modifiez le compte de service de l'utilisateur.
Modifier le compte de service d'un utilisateur
REST
Pour modifier le compte de service associé à un utilisateur SFTP, utilisez la
servers.users.patch méthode.
Dans le paramètre de requête updateMask, indiquez le champ customerServiceAccount.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID du projet du serveur. Google Cloud
- LOCATION_ID : emplacement du serveur, par exemple
us-west1. - SERVER_ID : ID du serveur.
- USERNAME : nom d'utilisateur de l'utilisateur SFTP.
Méthode HTTP et URL :
PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID/users/USERNAME?updateMask=customerServiceAccount
Corps JSON de la requête :
{
"customerServiceAccount": "USERNAME-sa@PROJECT_ID.iam.gserviceaccount.com"
}
Pour envoyer votre requête, développez l'une des options suivantes :
La réponse identifie une opération de longue durée. La modification de l'utilisateur prend quelques secondes.