Create and manage external model providers (model provider services)
Register an external model provider as a model provider service, grant access to it, configure Unity AI Gateway features, and delete it.
Requirements
CREATE SERVICEon the schema where you create the model provider service, plusUSE CATALOGandUSE SCHEMAon its catalog and schema.- The credentials for the external provider you want to register (for example, an OpenAI API key or an AWS access key pair).
- To authenticate Amazon Bedrock with a service credential instead of an access key pair, you need an existing service credential and
ACCESSon it. See Authenticate Amazon Bedrock with a service credential.
Create a model provider service
Model provider services and model services share a single name namespace within a Unity Catalog schema. You can't use a name for a model provider service if a model service in the schema already uses it, and vice versa.
Use the UI
- Do one of the following:
- In the workspace sidebar, click AI Gateway, then open the Providers tab and click Provider.
- In Catalog Explorer, go to the schema where you want to create the model provider service, click Create > Service, then select Model provider service in the Create a service dialog.
- Enter a name for the model provider service, and select the catalog and schema to create it in. If you start from Catalog Explorer, Catalog Explorer prefills the catalog and schema.
- Select the provider type, and enter the provider's connection details and credentials.
- Click Create. Databricks encrypts and stores the credentials. The UI does not display them after this point.
For the full list of providers and their authentication methods, see Govern external model providers (model provider services).
Authenticate Amazon Bedrock with a service credential
You can authenticate an Amazon Bedrock provider with a service credential instead of storing an AWS access key pair. A service credential holds an identity and access management (IAM) role that Unity Catalog governs, so no long-lived AWS key is copied into the model provider service: Databricks obtains short-lived credentials from the role to authenticate each request.
Create the model provider service as described in Create a model provider service. Select Amazon Bedrock as the provider type, then set Auth method to Service credential and select the credential instead of entering an access key pair.
Confirm the following requirements:
-
The owner of the model provider service has
ACCESSon the service credential. Because Databricks re-checks the owner's access when serving requests, the owner must keep it for as long as the provider is in use. Revoking it stops queries for everyone, even callers who holdEXECUTEon the provider. To grant the owner access to the credential:SQLGRANT ACCESS ON SERVICE CREDENTIAL <service-credential-name> TO `<model-provider-service-owner>`; -
The credential's purpose is service, not storage.
-
The credential is available in the workspaces requests come from. Its workspace bindings still apply, so a request from a workspace the credential isn't bound to fails there, even though the model provider service itself is reachable from any workspace that shares the metastore.
-
The service credential IAM role can invoke the Bedrock models you plan to query. To create one, see Create service credentials.
Callers who query the provider need the same grants as for any other provider. They don't need any privilege on the service credential, which is what keeps the credential itself out of their reach.
The model provider service tracks a credential by its internal identifier, so you can rename a credential without query failure.
If you delete a credential, queries fail and there is no warning that a model provider service references it. Confirm that there are no references to this credential before you delete it.
You can't switch an existing model provider service between service credential and access key pair authentication. Create a new model provider service instead.
Send a custom provider API key in a header
A custom provider sends its API key as a bearer token by default. When your endpoint expects the key in a specific header instead, use API key header authentication and name the header yourself. Databricks then sends the key on each outbound request as <header name>: <header value>.
Create the model provider service as described in Create a model provider service. Select Custom as the provider type, then set Auth method to API key header and supply the Header name your endpoint expects (such as X-API-Key or Ocp-Apim-Subscription-Key) along with the Header value.
The two methods are mutually exclusive: a custom provider uses either a bearer token or a named header, not both. Header authentication takes exactly one header.
The header name must be a valid HTTP header name: letters, digits, and the characters !#$%&'*+-.^_`|~, up to 255 characters. Any other character is rejected, including spaces, colons, slashes, and line breaks.
Grant access
To let others query a model provider service, grant them EXECUTE on the model provider service and USE CATALOG and USE SCHEMA on its catalog and schema. If the model provider service logs to an inference table, grant SELECT on the table to let them read the logged requests and responses.
To grant access in Catalog Explorer:
- In Catalog Explorer, open the model provider service.
- On the Permissions tab, click Grant.
- Select the users or groups to grant access to, select the
EXECUTEprivilege, and click Grant.
Make sure the same principals also have USE CATALOG and USE SCHEMA on the model provider service's catalog and schema. To let them read logged requests and responses, grant SELECT on the inference table from its Permissions tab.
For more about granting and discovering access, see Discover and govern access to external model providers (model provider services).
Configure features
Because a model provider service routes through Unity AI Gateway, apply the same governance and observability features you use for other Unity AI Gateway traffic:
- Inference logging. Log requests and responses to a Unity Catalog table. See Log requests and responses to inference tables.
- Rate limits. Cap queries per minute to manage capacity and cost. See Apply rate limits to model and MCP services.
- Service policies. Govern the content of each interaction, such as blocking unsafe content or redacting sensitive data, by attaching a service policy. See Service policies for AI securables and Create and attach a service policy.
Delete a model provider service
To delete a model provider service, you must have at least the MANAGE privilege on it. The owner has a superset of MANAGE.
To delete a model provider service, open it in Catalog Explorer and select Delete from the kebab menu. Deleting a model provider service removes its stored credentials.