The owner of an external location does have the MANAGE permission automatically. It just never shows up in the list of grants, because ownership already implies it. So the error isnโt about the owner. Itโs about you, the person trying to change the owner.
To change the owner of an external location, you need to be one of three things: the current owner (or a member of the owner group), someone who has been explicitly granted MANAGE on that location, or a metastore admin. If none of these apply to you, you get that error message.
To fix it, first find out who the current owner is. You can do this by running DESCRIBE EXTERNAL LOCATION location_name; or by opening the location in Catalog Explorer and checking the Details tab.
Then ask the owner, someone in the owner group, or a metastore admin to give you the MANAGE permission. They can do it with this command:
sql
GRANT MANAGE ON EXTERNAL LOCATION location_name TO `your.user@company.com`;
Or through the UI: Catalog, then External Data, then External Locations, then your location, then Permissions, then Grant, and select MANAGE.
Once you have that permission, you can change the owner:
sql
ALTER EXTERNAL LOCATION location_name OWNER TO `new_owner_or_group`;
If you are a metastore admin yourself, you can skip the grant step and run the owner change directly.
A few things to keep in mind. MANAGE lets you grant permissions and change the owner, but it does not give access to the data itself, so you would need to grant READ FILES or WRITE FILES separately if required. Itโs better to set a group as the owner instead of one person, so ownership doesnโt break when someone leaves the team. If the original owner has left or their account was deleted, only a metastore admin can sort it out. Finally, having MANAGE on the catalog or schema is not enough; the permission has to be on the external location itself.a
Aayush Sharma