KMS key wrapping is primarily for the service layer. Embedded SDK users who supply their
own KEK directly can ignore these functions, or use
provider = "none". They are advanced and
optional.Concepts
- KMS envelope. A
KMSBlobrecords how an index’s KEK is wrapped by an external KMS. Callers never store the plaintext KEK in the envelope; they store the wrapped form plus the metadata needed to unwrap it. - Providers.
"aws"— the KEK is wrapped with AES-256-GCM under a value stored in AWS Secrets Manager."aws-kms"— the KEK is wrapped viakms.Encrypt."none"— nothing is stored; the SDK supplies the plaintext KEK per request.
- Strict insert vs. upsert.
CreateIndexKMSfails if an envelope already exists for the index;PushIndexKMSis an idempotent upsert.
CreateIndexKMS
Parameters
PushIndexKMS
Parameters
GetIndexKMS
Parameters
Returns
KMSBlob: The stored KMS envelope.
DeleteIndexKMS
Parameters
KMSBlob
The KMS envelope struct (seeKMSBlob):