3 weeks ago
This is not a production platform, but I'd like to know the answer. I suspect I have done something stupid.
Using Account APIs, I created a Storage Credential.
Q1: I cannot see this in a workspace, and I do not know how to see it in the account console - how do I see it? (I can of course see it via Account API "get/list")
Using Workspace APIs, I cannot see this Storage Credential, which I think is to be expected.
Using Account APIs I cannot delete this credential as I seem not to have the permissions, although I am the OWNER
2 weeks ago
Hi @ThePussCat,
You’re not missing anything. This is mostly about where UC is surfaced, not about who controls it.
Unity Catalog objects (including storage credentials and their workspace bindings) are metastore‑scoped, and the metastore is attached to workspaces, so Databricks exposes most UC management APIs via the workspace URL, even though they operate on shared, account‑level governance objects.
The key constraint is permissions, not the endpoint. Only account/metastore admins (or object owners, depending on the action) can call those APIs successfully, regardless of which workspace URL they hit.
Think of the workspace UC API endpoints as a "window into the metastore" rather than workspace‑local configuration. The control plane still enforces that only properly privileged account‑level identities can create, bind, or grant on those storage credentials.
Hope that clarifies.
If this answer resolves your question, could you mark it as “Accept as Solution”? That helps other users quickly find the correct fix.
3 weeks ago - last edited 3 weeks ago
You know that "something stupid"...? well it turns out I wasn't the OWNER after all, so I couldn't see it!
I made myself the owner and could see it in the Workspace (disabled), then I could make it accessible to workspaces of my choice and grant myself MANAGE permission, as I am an "admin".
But I'd still like an answer to Q3, if anyone knows? It seems a lot more logical to create a credential within a workspace...
Thanks!
3 weeks ago
Hi @ThePussCat - You didn’t do anything stupid.
In Unity Catalog, a storage credential is always scoped to a metastore, not to a single workspace. It lives under the account/metastore, and can then be used from any workspace that is attached to that metastore, subject to bindings and privileges.
When you create it via the Account APIs, you’re basically creating:
To see and use it in a workspace you must:
CREATE EXTERNAL LOCATION my_loc
URL 's3://bucket/path'
WITH STORAGE CREDENTIAL my_cred;
2 weeks ago
HI Ashwin,
That absolutely makes sense to me, and I think what I should have expected.
However, and perhaps I have missed some reading here... the APIs to bind the storage credential to a workspace, and to grant privileges seem to me to be "workspace APIs" when I would expect there to be Account APIs for this stuff.... ?
For example: using [PATCH] /api/2.1/unity-catalog/storage-credentials/{name} to set an isolation seems to me that this should be an Account API, and not something directed from a Workspace. That does not seem logical to me.
Obviously the caller has to have the correct permissions anyway, but I would have thought that Account APIs would create, Isolate, assign which workspaces have access, etc.
Am I missing something?
2 weeks ago
Hi @ThePussCat,
You’re not missing anything. This is mostly about where UC is surfaced, not about who controls it.
Unity Catalog objects (including storage credentials and their workspace bindings) are metastore‑scoped, and the metastore is attached to workspaces, so Databricks exposes most UC management APIs via the workspace URL, even though they operate on shared, account‑level governance objects.
The key constraint is permissions, not the endpoint. Only account/metastore admins (or object owners, depending on the action) can call those APIs successfully, regardless of which workspace URL they hit.
Think of the workspace UC API endpoints as a "window into the metastore" rather than workspace‑local configuration. The control plane still enforces that only properly privileged account‑level identities can create, bind, or grant on those storage credentials.
Hope that clarifies.
If this answer resolves your question, could you mark it as “Accept as Solution”? That helps other users quickly find the correct fix.