IMPORTANT: Developer documentation for the current main branch.
This content is unreleased and may change before the next Polaris release.
For stable user documentation, see the
latest release docs.
Federation
Guides for federating Polaris with existing metadata services. Expand this section to select a specific integration.
Access control for federated catalogsđź”—
Polaris uses role-based access control (RBAC), in which privileges on securable objects are granted to catalog roles, and catalog roles are assigned to principal roles. Grants normally target securable objects that exist in the Polaris metastore. The namespaces, tables, and views of a federated catalog live in the remote system and have no corresponding local entity, so by default they can only be secured at the catalog level, not individually. The feature flags below enable finer-grained (“sub-catalog”) RBAC on federated catalogs. See the Configuration Reference for the full description of each flag.
Prerequisite: enable federationđź”—
Federation must be enabled before the settings below apply (see the integration guides in this section):
polaris.features."ENABLE_CATALOG_FEDERATION"=true
This feature is disabled by default.
Enabling sub-catalog RBACđź”—
ENABLE_SUB_CATALOG_RBAC_FOR_FEDERATED_CATALOGS (disabled by default) enables RBAC on the
individual namespaces, tables, and views of a federated catalog. When it is enabled, granting a
privilege on a federated namespace, table, or view — one that exists only in the remote catalog,
not in the Polaris metastore — is allowed: Polaris creates a synthetic entity in its metastore to
represent that securable and anchor the grant, instead of rejecting the operation because it does
not exist locally. These synthetic entities exist only to record the grants; the federated system
remains the source of truth for the metadata.
Set it realm-wide with a server feature flag:
polaris.features."ENABLE_SUB_CATALOG_RBAC_FOR_FEDERATED_CATALOGS"=true
Or override it for a single catalog with a catalog property, supplied when the catalog is created
(--property) or updated (--set-property):
polaris catalogs update <catalog> \
--set-property polaris.config.enable-sub-catalog-rbac-for-federated-catalogs=true
Governing per-catalog overridesđź”—
ALLOW_SETTING_SUB_CATALOG_RBAC_FOR_FEDERATED_CATALOGS (enabled by default) controls whether the
per-catalog property above may be set or changed:
polaris.features."ALLOW_SETTING_SUB_CATALOG_RBAC_FOR_FEDERATED_CATALOGS"=false
When set to false, any attempt to set or change
polaris.config.enable-sub-catalog-rbac-for-federated-catalogs on a catalog is rejected (in
validateCatalogProperties). Note this only blocks future writes of the property — it does
not change catalogs that already have it set: a stored catalog property takes precedence over
the realm-wide default (resolveValue checks the catalog property before the realm default), so a
catalog previously configured with the override keeps its stored value even after this guard flag
and the realm default are both false. To enforce the realm-wide default on such a catalog,
remove its existing override as well.
ℹ️ Info
Sub-catalog RBAC applies only to federated (external) catalogs. Enabling it creates synthetic local entities to represent federated securables for grants; it does not import or copy metadata from the remote catalog.