Hi everyone!
I am new here and in Databricks world.
I was trying to enable a trigger event on file uploading in GCP bucket in order to start a job following this tutorial: https://docs.databricks.com/gcp/en/connect/unity-catalog/cloud-storage/manage-external-locations#-re...
So I had created a role with those permissions and then I assigned that role to the service account of the storage credentials. An important note: I didn't find that SA in the IAM entities list so I had to use the "grant access" button, insert the interested service account and assign the role created to it.
After all the operations listed, in the WS dashboard I had enabled the file events for the external location and I tested the connection with this result:

In the GCP log explorer I saw these logs:

Where we can notice that the topic was created, the subscription was created too and then a non-databricks service account tries to access and brokes everything. The logs after are a repetition of: service account that tries to access, databricks that tries to create a topic and a subscription that already exists.
In IAM entities list I found the only service account possible for that pattern:

Finally the log of the error on the service account is the following json (anonymized with *):
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"code": 7,
"message": "The service account 's...3@gs...' does not have permission to publish messages to to the Cloud Pub/Sub topic '//pubsub.googleapis.com/projects/*/topics/csms-topic-by-path-*', or that topic does not exist."
},
"authenticationInfo": {
"principalEmail": "db-uc-credential-*-*@uc-*.iam.gserviceaccount.com"
},
"requestMetadata": {
"callerIp": "gce-internal-ip",
"callerSuppliedUserAgent": "gcloud-java/unresolved Google-API-Java-Client/1.34.0 Google-HTTP-Java-Client/1.43.3 (gzip),gzip(gfe)",
"requestAttributes": {
"time": "2025-07-18T08:06:53.934327849Z",
"auth": {}
},
"destinationAttributes": {}
},
"serviceName": "storage.googleapis.com",
"methodName": "storage.buckets.update",
"authorizationInfo": [
{
"resource": "projects/_/buckets/*",
"permission": "storage.buckets.update",
"granted": true,
"resourceAttributes": {}
}
],
"resourceName": "projects/_/buckets/*",
"resourceLocation": {
"currentLocations": [
"*"
]
}
},
"insertId": "17ucpftequabn",
"resource": {
"type": "gcs_bucket",
"labels": {
"bucket_name": "*",
"project_id": "*",
"location": "*"
}
},
"timestamp": "2025-07-18T08:06:53.928213630Z",
"severity": "ERROR",
"logName": "projects/*/logs/cloudaudit.googleapis.com%2Factivity",
"receiveTimestamp": "2025-07-18T08:06:55.756659669Z"
}
(the topic obviously exists)
Is it correct that uses that service account instead of the one created by databricks? Am I missing something?
Thanks in advance for any help!