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]

Reply via email to