Meridian Line's customs-compliance agent calls a Unity Catalog function that looks up live duty rates from an internal tariff table. The platform team wants only that agent's serving endpoint to be able to invoke the function, and wants every invocation logged for audit. What accomplishes this?
Select an answer to reveal the explanation.
Short Explanation
Functions get their own EXECUTE grant just like tables and models, so give it to the serving identity specifically and let Unity Catalog's audit logging do its job. No need to hand out catalog-wide access for one function call.
Full Explanation
Unity Catalog functions used as agent tools are governed objects, and the least-privilege pattern is to grant EXECUTE on the specific function to the serving identity that needs to call it, combined with Unity Catalog's built-in logging of function invocations, which together satisfy both the access-restriction and audit requirements without touching anything else in the catalog. Making the function a public widget and disabling logging does the opposite of both requirements at once, it widens access and removes the audit trail the team explicitly asked for. Granting CAN_MANAGE on the entire catalog is both far broader than needed and based on a false premise, Unity Catalog does support function-level grants, so there is no need to reach for catalog-wide management privileges to control access to one function. Embedding the lookup logic directly in the prompt is not a governance fix at all, it removes the tool-calling architecture the scenario depends on, hard-codes data that changes over time directly into a prompt, and provides no mechanism for restricting who can trigger a lookup or for auditing that it happened. Exam framing: tools an agent calls are themselves governed Unity Catalog objects and should be granted access the same way tables and models are, at the object level, to the specific identity that needs it.