If you're using customer-managed encryption keys and data import fails
(with error message The caller does not have permission), then make sure
that the CryptoKey Encrypter/Decrypter IAM role
(roles/cloudkms.cryptoKeyEncrypterDecrypter) on the key has been granted to
the Cloud Storage service agent. For more information, see
Before you begin in "Customer-managed encryption
keys".
[[["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-09-03 UTC."],[],[],null,["# Connect a Google data source\n\nThis page describes how to create a data store for Google data sources,\nsuch as Cloud Storage or Google Drive.\n\nTo import data from a third-party data source, see\n[Connect a third-party data source](/agentspace/docs/connect-third-party-data-source).\n\nTo create a data store and ingest data, go to the section for the\nsource you plan to use:\n\n- [Import from BigQuery](/agentspace/docs/connect-bigquery)\n- [Import from Cloud Storage](/agentspace/docs/connect-cloud-storage)\n- [Sync from Google Drive](/agentspace/docs/connect-google-drive)\n- [Sync from Gmail](/agentspace/docs/connect-gmail) (Public preview)\n- [Sync from Google Sites](/agentspace/docs/connect-sites) (Public preview)\n- [Sync from Google Calendar](/agentspace/docs/connect-calendar) (Public preview)\n- [Sync from Google Groups](/agentspace/docs/connect-groups) (Public preview)\n- [Sync people data](/agentspace/docs/connect-people)\n- [Import people data from a custom source](/agentspace/docs/connect-people-custom) (Public preview)\n- [Enable NotebookLM Enterprise as a search source](/agentspace/docs/connect-notebooklm) (Public preview)\n- [Import from Cloud SQL](/agentspace/docs/connect-cloud-sql)\n- [Import from Spanner](/agentspace/docs/connect-spanner) (Public preview)\n- [Import from Firestore](/agentspace/docs/connect-firestore)\n- [Import from Bigtable](/agentspace/docs/connect-bigtable) (Public Preview)\n- [Import from AlloyDB for PostgreSQL](/agentspace/docs/connect-alloydb) (Public Preview)\n- [Connect to data from AlloyDB for PostgreSQL](/agentspace/docs/connect-alloydb-data) ([Preview](/products#product-launch-stages))\n- [Create a data store using Terraform](/agentspace/docs/connect-terraform)\n\nTroubleshoot data ingestion\n---------------------------\n\nIf you're using [customer-managed encryption keys](/agentspace/docs/cmek) and data import fails\n(with error message `The caller does not have permission`), then make sure\nthat the CryptoKey Encrypter/Decrypter IAM role\n(`roles/cloudkms.cryptoKeyEncrypterDecrypter`) on the key has been granted to\nthe Cloud Storage service agent. For more information, see\n[Before you begin](/agentspace/docs/cmek#before-you-begin) in \"Customer-managed encryption\nkeys\"."]]