LiJie20190102 opened a new issue, #14400:
URL: https://github.com/apache/gravitino/issues/14400
### Describe the subtask
**Priority:** P0
**Dependencies:** #<id-2>, #<id-3>. May proceed in parallel with #<id-4>.
**Problem:** The only `SecretProvider` today is the test-only in-memory
implementation, so
entity secrets (#12252) have no durable, encrypted backend: values are
Base64-encoded and
lost on restart.
**Scope:**
- A new entity-store table managed by the versioned schema: `urn` primary
key (identical to
the value stored in entity properties), `ciphertext` (`iv ‖ ciphertext ‖
tag`), and
`created_at` / `updated_at` audit columns, including the schema version
upgrade.
- `JdbcSecretsProvider` implementing the existing `SecretProvider` SPI
unchanged, registered
via `gravitino.secret.providers=db` and
`gravitino.secret.provider.db.className`.
- AES-256-GCM with a fresh random IV per write and the full URN as
additional authenticated
data; `writeSecret` upserts and returns the URN, `readSecret` decrypts by
URN,
`deleteSecret` deletes by URN under the existing ownership rules.
- Secret material handled in wipeable `byte[]` / `char[]` buffers per the
guidance
documented on `InMemorySecretsProvider`.
- Unit tests for CRUD round trips and AAD/URN binding; the SPI, URN model,
and REST contract
are unchanged.
### Parent issue
#14396
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]