Hardening Cassandra User

We are launching a production instance of Temporal in our cloud and I am looking to harden the user leveraged by Temporal to talk to Cassandra.

From the looks of the code, it appears that to run the provisioning tool, temporal-cassandra-tool you should use a superuser since you need to create Keyspaces.

However, for the user leveraged by the frontend, history, matching, and worker services I think I can limit that account to just SELECT and MODIFY on the two keyspaces, temporal and temporal_visibility by default. I don’t think EXECUTE would be needed, but I’d appreciate confirmation that this is the correct understanding.

This would make a great piece for the docs by the way on setting up prod clusters. That way we know on upgrades if the required authorization scopes change and we need to expand the access of the user.

Thank you in advance!

Temporal does not use user created DB functions and seems that EXECUTE only applies to cassandra functions. so EXECUTE should not be required