Add logarchive gpg key + logging_logarchiver read access
logarchiver encrypts archived logs to an OpenPGP key held in the gpg engine so the private key never leaves Vault; retrieval delegates decryption back to gpg/decrypt/logarchive. This provisions the key and lets the service read only its public key via a dedicated k8s auth role. - Create gpg key logarchive (rsa-4096, non-exportable) in the gpg mount. - Add k8s auth role logging_logarchiver bound to the logarchiver ServiceAccount in the logging namespace. - Add policy granting read on gpg/keys/logarchive to that role (public key only; no decrypt/export). Claude-Session: https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
bound_service_account_names:
|
||||
- logarchiver
|
||||
bound_service_account_namespaces:
|
||||
- logging
|
||||
token_ttl: 600
|
||||
token_max_ttl: 600
|
||||
audience: vault
|
||||
@@ -0,0 +1,8 @@
|
||||
# config/gpg_key/gpg/logarchive.yaml
|
||||
# OpenPGP key in the gpg engine for the logarchiver service. The private key
|
||||
# stays in Vault; logarchiver reads only the exported public key
|
||||
# (gpg/keys/logarchive) to encrypt archived logs, and retrieval delegates
|
||||
# decryption back to gpg/decrypt/logarchive. Key name = "logarchive", backend = "gpg".
|
||||
algorithm: rsa-4096
|
||||
identity: "logarchive <logarchive@unkin.net>"
|
||||
exportable: false
|
||||
@@ -0,0 +1,12 @@
|
||||
# Allow the logarchiver service (logging namespace, SA logarchiver) to read the
|
||||
# logarchive public key. A plain read on gpg/keys/logarchive returns the armored
|
||||
# public_key; no decrypt/export capability is granted (decrypt stays operator-only).
|
||||
---
|
||||
rules:
|
||||
- path: "gpg/keys/logarchive"
|
||||
capabilities:
|
||||
- read
|
||||
|
||||
auth:
|
||||
k8s/au/syd1:
|
||||
- logging_logarchiver
|
||||
Reference in New Issue
Block a user