Autorizzazioni a livello di progetto basate su agenti

I trasferimenti basati su agenti richiedono autorizzazioni IAM a livello di progetto per due entità distinte: un agente di servizio e un account agente di trasferimento.

Configura le autorizzazioni in questa pagina solo se il trasferimento coinvolge un file system, HDFS o uno spazio di archiviazione compatibile con S3. Se il trasferimento è senza agente, non configurare i ruoli in questa pagina; vai direttamente a Configura l'accesso all'origine e alla destinazione.

I trasferimenti basati su agenti utilizzano le seguenti identità:

  • Agente di servizio: un account di servizio gestito da Google utilizzato da Storage Transfer Service per coordinare le attività con gli agenti di trasferimento.
  • Account agente di trasferimento: l'account utente Google Cloud o l'account di servizio gestito dall'utente utilizzato per autenticare ed eseguire gli agenti di trasferimento sulle tue istanze o macchine client.

Per informazioni generali sulla concessione dei ruoli IAM, consulta Concessione, modifica e revoca dell'accesso alle risorse.

Autorizzazioni agente di servizio

Storage Transfer Service utilizza un agente di servizio per coordinare i trasferimenti basati su agenti.

Per consentire a Storage Transfer Service di coordinare il lavoro tra Google Cloud e i tuoi agenti di trasferimento, concedi il seguente ruolo all'agente di servizio nel progetto che esegue Storage Transfer Service:

  • Agente Storage Transfer Service (roles/storagetransfer.serviceAgent)

Ottieni l'indirizzo email dell'agente di servizio

Per concedere un ruolo all'agente di servizio, è necessario l'identificatore dell'indirizzo email dell'agente di servizio. L'agente di servizio viene creato automaticamente la prima volta che crei un job di trasferimento, esegui i comandi di configurazione di gcloud transfer, visiti la pagina Storage Transfer nella console Google Cloud o chiami googleServiceAccounts.get.

Per ottenere l'indirizzo email dell'agente di servizio:

  1. Vai alla pagina di riferimento di googleServiceAccounts.get. Si apre un riquadro interattivo intitolato Prova questo metodo.
  2. In Parametri della richiesta, inserisci l'ID progetto.
  3. Fai clic su Esegui.

Copia il valore di accountEmail. L'indirizzo email utilizza il seguente formato: project-PROJECT_NUMBER@storage-transfer-service..

Concedi il ruolo di service agent

Per concedere il ruolo Agente Storage Transfer Service:

Console Google Cloud

  1. Nella console Google Cloud , vai alla pagina IAM del progetto che esegue Storage Transfer Service.

    Vai a IAM

  2. Fai clic su Concedi l'accesso.

  3. Nel campo Nuove entità, inserisci l'indirizzo email del service agent.

  4. Nell'elenco a discesa Seleziona un ruolo, cerca e seleziona Storage Transfer Service Agent (roles/storagetransfer.serviceAgent).

  5. Fai clic su Salva.

gcloud

Esegui gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:SERVICE_AGENT_EMAIL" \
--role="roles/storagetransfer.serviceAgent"

Sostituisci quanto segue:

Trasferisci le autorizzazioni dell'account agente

Gli agenti di trasferimento vengono eseguiti sulle macchine client utilizzando le credenziali di un account utente o di un account di servizio gestito dall'utente:

  • Un account utente utilizza le credenziali di un utente autenticato.
  • Un account di servizio gestito dall'utente utilizza chiavi account di servizio o la federazione delle identità. Per creare un account di servizio, consulta Crea e gestisci i service account.

Per autorizzare gli agenti di trasferimento a connettersi a Storage Transfer Service, ricevere attività e registrare lo stato, assegna il seguente ruolo al progetto Google Cloud che ospita il tuo pool di agenti:

  • Storage Transfer Agent (roles/storagetransfer.transferAgent)

Per concedere questo ruolo:

Console Google Cloud

  1. Nella console Google Cloud vai alla pagina IAM.

    Vai a IAM

  2. Assicurati di aver selezionato il progetto contenente il pool di agenti.

  3. Fai clic su Concedi l'accesso.

  4. Nel campo Nuove entità, inserisci l'indirizzo email del tuo account utente o del account di servizio gestito dall'utente.

  5. Nell'elenco a discesa Seleziona un ruolo, cerca e seleziona Agente Storage Transfer (roles/storagetransfer.transferAgent).

  6. Fai clic su Salva.

gcloud

Esegui gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding AGENT_POOL_PROJECT_ID \
--member="serviceAccount_OR_user:TRANSFER_AGENT_ACCOUNT" \
--role="roles/storagetransfer.transferAgent"

Sostituisci quanto segue:

  • AGENT_POOL_PROJECT_ID: il progetto contenente il pool di agenti.
  • serviceAccount_OR_user: specifica serviceAccount se il tuo account agente di trasferimento è un account di servizio o user se i tuoi agenti sono stati installati con un account utente.
  • TRANSFER_AGENT_ACCOUNT: l'indirizzo email dell'account che esegue gli agenti di trasferimento.

Passaggi successivi

Dopo aver configurato le autorizzazioni del progetto, procedi con i seguenti passaggi di configurazione nell'ordine indicato:

  1. Crea un pool di agenti.
  2. Installa gli agenti di trasferimento nel tuo pool.
  3. Configura le autorizzazioni di accesso per i tuoi sistemi di archiviazione:
  4. Consulta il riferimento completo a ruoli e autorizzazioni.