Questo documento mostra come aggiornare il account di servizio di un utente Cloud FTP. Il account di servizio accede alle risorse Cloud Storage per conto dell'utente.
A livello generale, ecco i passaggi per aggiornare il account di servizio di un utente:
- Configura un account di servizio con i ruoli IAM appropriati.
- Aggiorna il account di servizio collegato all'utente.
Ti consigliamo di utilizzare un account di servizio dedicato per ogni utente, in modo da poter gestire l'accesso SFTP separatamente per ciascun utente.
Ruoli obbligatori
Per ottenere l'autorizzazione necessaria per aggiornare gli utenti SFTP, chiedi all'amministratore di concederti il ruolo IAM 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.users.update
,
necessaria per
aggiornare gli utenti SFTP.
Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Configura un account di servizio
Crea un account di servizio per l'utente, se non ne esiste già uno.
gcloud iam service-accounts create USERNAME-sa \ --description="USERNAME SFTP Service Account" \ --display-name="USERNAME SFTP Service Account"
Sostituisci
USERNAMEcon un nome utente univoco per l'utente SFTP. Il nome utente deve iniziare con una lettera minuscola e può includere lettere minuscole, numeri o trattini.Se l'operazione va a buon fine, viene visualizzato un messaggio simile a
Created service account [example-userid-sa].Concediti il ruolo Utente account di servizio (
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"
Sostituisci
ADMINISTRATOR_EMAILcon l'indirizzo email dell'entità che sta aggiornando l'utente SFTP. Se stai aggiornando l'utente (anziché un'applicazione), questo valore è l'indirizzo email che utilizzi per accedere Google Cloud.Se l'operazione va a buon fine, viene visualizzato un messaggio simile al seguente:
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: 1Concedi al account di servizio dell'utente il ruolo IAM necessario per accedere al bucket:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member="serviceAccount:USERNAME-sa@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE"
Sostituisci
ROLEcon uno dei seguenti ruoli IAM:- Per l'accesso di sola lettura, utilizza il ruolo
roles/storage.objectViewer. - Per l'accesso in lettura e scrittura, utilizza il ruolo
roles/storage.objectAdmin.
Ripeti questo passaggio per ogni bucket a cui l'utente deve accedere.
- Per l'accesso di sola lettura, utilizza il ruolo
Autorizza il service agent Cloud FTP a generare token per il account di servizio dell'utente:
Ottieni l'indirizzo email del service agent del server SFTP. Per i passaggi, vedi Ottenere i dettagli di un server.
Autorizza il service agent 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"
Sostituisci
SERVICE_AGENT_EMAILcon l'indirizzo email del service agent.
Poi, aggiorna il account di servizio dell'utente.
Aggiorna il account di servizio di un utente
gcloud
Per aggiornare il account di servizio collegato a un utente SFTP, esegui il
gcloud alpha storage ftp users update comando.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- USERNAME: il nome utente dell'utente SFTP.
- LOCATION_ID: la località del
server, ad esempio
us-west1. - SERVER_ID: l'ID del server.
- SERVICE_ACCOUNT: il account di servizio dell'utente. Ad esempio,
username-sa@example-project.iam.gserviceaccount.com.
Esegui il comando seguente:
Linux, macOS o Cloud Shell
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID \ --server=SERVER_ID --customer-service-account=SERVICE_ACCOUNT
Windows (PowerShell)
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID ` --server=SERVER_ID --customer-service-account=SERVICE_ACCOUNT
Windows (cmd.exe)
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID ^ --server=SERVER_ID --customer-service-account=SERVICE_ACCOUNT
REST
Per aggiornare il account di servizio collegato a un utente SFTP, utilizza il
servers.users.patch metodo.
Nel parametro di query updateMask, fornisci il campo customerServiceAccount.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: l'ID progetto del Google Cloud server.
- LOCATION_ID: la località del
server, ad esempio
us-west1. - SERVER_ID: l'ID del server.
- USERNAME: il nome utente dell'utente SFTP.
- SERVICE_ACCOUNT: il account di servizio dell'utente. Ad esempio,
username-sa@example-project.iam.gserviceaccount.com.
Metodo HTTP e URL:
PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID/users/USERNAME?updateMask=customerServiceAccount
Corpo JSON della richiesta:
{
"customerServiceAccount": "SERVICE_ACCOUNT"
}
Per inviare la richiesta, espandi una di queste opzioni:
La risposta identifica un' operazione a lunga esecuzione. L'aggiornamento dell'utente richiede alcuni secondi.