Skip to content

fix(#2810): PSE setup is instance-level admin, not a container grant - #2848

Merged
jung-thomas merged 1 commit into
DEVfrom
fix/2810-pse-admin-not-container
Oct 19, 2026
Merged

jung-thomas merged 1 commit into
DEVfrom
fix/2810-pse-admin-not-container

Conversation

@jung-thomas

Copy link
Copy Markdown
Contributor

Corrects the approach direction from #2846/#2847. The PSE + CREATE REMOTE SOURCE for HANA↔AI Core embeddings are a one-time, instance-level admin action — shared database objects, not HDI container artifacts. Trying to grant the PSE privilege into the tutorials-hana container was the wrong shape.

Why

  • A PSE/remote source lives at the DB level and is created once by an admin; one AI Core remote source can serve every container/app.
  • Baking TRUST ADMIN into default_access_role would permanently over-privilege every app binding user for a one-time task.
  • The container #OO can't delegate PKI system privileges anyway — confirmed on DEV (20261019-125352): user "…#OO" is not allowed to grant the privilege "CERTIFICATE ADMIN".

Changes

  • Delete db/src/defaults/default_access_role.hdbrole. This also unblocks DEV deploys, which have failed every tutorials-db-deployer run since fix(#2810): grant CREATE PSE via default_access_role.hdbrole #2846 landed the (broken) role.
  • Runbook rewritten to the correct split:
    • B1 — a HANA admin creates the PSE + remote source once (TRUST ADMIN + CREATE REMOTE SOURCE; CERTIFICATE ADMIN is managed-PSE-only and not needed).
    • B2 — the container gets only GRANT EXECUTE ON REMOTE SOURCE TUTORIALS_AICORE.
    • B3 — VECTOR_EMBEDDING proof, unchanged.
    • All three failed container-grant attempts are recorded in a collapsed "Failed approaches" block so we don't re-tread them.

default_access_role.hdbrole is still the right tool for privileges the container user should own long-term — just not for one-time instance-level admin setup.

Next (after merge)

DEV HANA admin runs B1 + B2 (one-time), then I run B3 to prove Tier B. Tier A (built-in NLP) already green.

…iner grant

Remove db/src/defaults/default_access_role.hdbrole entirely. The PSE and
remote source are one-time, database-level admin objects — shared across
containers/apps — not HDI container artifacts. Baking TRUST ADMIN into
default_access_role would over-privilege every app binding user
permanently for a one-time setup, and the container #OO can't delegate
PKI system privileges anyway (confirmed: #OO not allowed to grant
CERTIFICATE ADMIN, DEV 20261019-125352).

This also unblocks DEV deploys, which were failing every db-deployer run
on the TRUST ADMIN grant since #2846/#2847.

Correct split (runbook rewritten):
- B1: a HANA admin creates PSE + remote source once (needs TRUST ADMIN +
  CREATE REMOTE SOURCE). CERTIFICATE ADMIN is managed-PSE-only, not needed.
- B2: container gets only GRANT EXECUTE ON REMOTE SOURCE TUTORIALS_AICORE.
- B3: VECTOR_EMBEDDING proof, unchanged.
- All three failed container-grant attempts recorded in a details block.

default_access_role.hdbrole remains the right mechanism for privileges
the container user should own long-term — just not for this.
@jung-thomas
jung-thomas merged commit 2f1c5ed into DEV Oct 19, 2026
5 checks passed
@jung-thomas
jung-thomas deleted the fix/2810-pse-admin-not-container branch October 19, 2026 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant