Confirm the project you are enabling the API for, then click Next.
Click Enable.
Configure the Storage Transfer Service service agent
In the email titled Google Transfer Appliance Prepare Destination Bucket, a
service agent is specified for you. It looks similar to the following example:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Prepare for online transfer\n\nOnline transfer requires setup for the first time you use it. Subsequent\ntransfers after initial setup don't require these steps.\n\nEnable the APIs\n---------------\n\nTo complete first-time setup for online transfer, a Google Cloud administrator\nmust do the following:\n\n1.\n\n\n Enable the Google Storage Transfer API.\n\n\n [Enable the API](https://console.cloud.google.com/flows/enableapi?apiid=storagetransfer)\n\n \u003cbr /\u003e\n\n 1. Confirm the project you are enabling the API for, then click **Next**.\n\n 2. Click **Enable**.\n\n2.\n\n\n Enable the Pub/Sub API.\n\n\n [Enable the API](https://console.cloud.google.com/flows/enableapi?apiid=pubsub)\n\n \u003cbr /\u003e\n\n 1. Confirm the project you are enabling the API for, then click **Next**.\n\n 2. Click **Enable**.\n\nConfigure the Storage Transfer Service service agent\n----------------------------------------------------\n\nIn the email titled *Google Transfer Appliance Prepare Destination Bucket*, a\nservice agent is specified for you. It looks similar to the following example: \n\n```\nproject-IDENTIFIER@storage-transfer-service.gserviceaccount.com\n```\n\nGrant the following role to the Storage Transfer Service service agent\n[on your project](/iam/docs/granting-changing-revoking-access#granting-console):\n\n- **`Pub/Sub Editor`**\n\nGrant the following role to the Storage Transfer Service service agent\n[for the destination bucket](/storage/docs/access-control/using-iam-permissions#bucket-add):\n\n- **`Storage Admin`**\n\nCreate and configure a user-managed service account\n---------------------------------------------------\n\n1. [Create a user-managed service account](/iam/docs/creating-managing-service-accounts#creating)\n in your project.\n\n2. Grant the following roles to the user-managed service account\n [on your project](/iam/docs/granting-changing-revoking-access#granting-console):\n\n - **`Pub/Sub Editor`**\n - **`Storage Transfer Admin`**\n - **`Monitoring Metric Writer`** if you'll enable [Cloud Monitoring](/transfer-appliance/docs/4.0/monitor-appliance).\n3. Grant the following role to the user-managed service account\n [for the destination bucket](/storage/docs/access-control/using-iam-permissions#bucket-add):\n\n - **`Storage Admin`**\n\n\nOnce the service account is configured, prepare a service account key:\n\n1. [Create a service account key](/iam/docs/creating-managing-service-account-keys#iam-service-account-keys-create-console)\n for the user-managed service account. The key is downloaded when you create\n it, and you cannot download it again.\n\n2. Rename the key to `key.json`, and save it to a safe location.\n\n3. Once you've received your appliance, upload `key.json` to the `/tmp`\n directory on the appliance."]]