Adding new protos for session recording encryption#54780
Conversation
02ae232 to
1148b4b
Compare
c3b364d to
6a5041a
Compare
1148b4b to
245cb67
Compare
6a5041a to
d4161b8
Compare
adfe856 to
32e26ff
Compare
| ]; | ||
| // Status is the SessionRecordingConfig status containing active encryption keys | ||
| SessionRecordingConfigStatus Status = 6 [ | ||
| (gogoproto.nullable) = false, |
There was a problem hiding this comment.
RFD had nullable = true
| types.EncryptionKeyPair key_encryption_pair = 2; | ||
| // State represents what state a given WrappedKey is currently in. Primarily used | ||
| // to identify what phase of a rotaiton a given key is currently in. | ||
| KeyState state = 3; |
There was a problem hiding this comment.
Using enums in proto brings some UX issues to the Teleport terraform provider.
When using those, we have to write the numerical identifier instead of ACTIVE/ROTATING/ROTATED.
I'm not sure this view is popular, but lately I've favored string representations instead of Enums.
Up to you (and whoever also reviews this), just trying to raise your attention to this.
Note: this is a terraform provider issue, but while we don't fix it, this will have a negative impact in UX.
There was a problem hiding this comment.
Using a string instead of an enum also yields a friendly representation for yaml if this resource is obtainable via tctl get.
There was a problem hiding this comment.
You could also consider omitting this now while rotations are still being worked out and add it in later.
There was a problem hiding this comment.
I think this field actually started as a string in the RFD but was replaced with an enum after a couple of rounds of feedback. The enum might make a bit more sense in this case since RecordingEncryption state is meant to be internally created and managed within the auth service. The KeyState values shouldn't be exposed in a way that would expect to impact the TF provider or even tctl get since the only planned RPCs are for powering the encryption key rotation sub command.
That said I might go ahead and just omit for the time being.
32e26ff to
673fe22
Compare
027543d to
cd91ba6
Compare
b9b6291 to
fc7c1c3
Compare
cd91ba6 to
12ade31
Compare
fc7c1c3 to
6f8f538
Compare
… and updates the existing SessionRecordingConfig protos to include a Status
6f8f538 to
32487ed
Compare
|
Amplify deployment status
|
… and updates the existing SessionRecordingConfig protos to include a Status (#54780)
… and updates the existing SessionRecordingConfig protos to include a Status (#54780)
… and updates the existing SessionRecordingConfig protos to include a Status (#54780)
… and updates the existing SessionRecordingConfig protos to include a Status (#54780)
… and updates the existing SessionRecordingConfig protos to include a Status (#54780)
… and updates the existing SessionRecordingConfig protos to include a Status (#54780)
… and updates the existing SessionRecordingConfig protos to include a Status (#54780)
… and updates the existing SessionRecordingConfig protos to include a Status (#54780)
… and updates the existing SessionRecordingConfig protos to include a Status (#54780)
… and updates the existing SessionRecordingConfig protos to include a Status (#54780)
* adding support for encryption/decryption keys to keystore manager (#54428, #55652) * adds new protos for resources related to encrypted session recordings and updates the existing SessionRecordingConfig protos to include a Status (#54780) * adding local service implementation for recording encryption resources (#54816) * adding Manager for RecordingEncryption resources that handles shared ops more complex than CRUD (#55078) * Adding session recording plugin for `age` (#55120) * adding Manager for RecordingEncryption resources that handles shared ops more complex than CRUD * adding age plugin wrapping default X25519 Identity/Recipient implementation with hooks to more efficiently lookup private keys given their respective public key * Adding recording encryption and playback for `sync` modes (#54901) * adding cache for RecordingEncryption (#55857) * adding recording_encryption service protos (#55121) * adding async recording encryption with gRPC multipart uploader (#55859) * adding file configuration for encrypted session recording (#56200) * Switching recording encryption to unwrap keys using direct keystore RSA decryption (#56776) * adding manual key management config (#56920) * updating protos for recording encryption (#57055) * Add missing handling for recording encryption configs and keys (#57279) * updating protos for recording encryption * changing labels for encryption keys to prevent automatic cleanup, adjusting pkcs11 host UUID check to allow for key sharing of encryption keys, preventing cloud tenants from enabling manual key management, preventing use of recording encryption in FIPS mode * adding new protos for rotated keys and the local service for interacting (#57576) with them * Switching encryption keys from PEM to ASN.1 DER encoding (#58137) * using pregenerated RSA4096 key for keystore tests because generation is too slow (#58138) * extending precomputed RSA keys to support 4096-bit keys (#58251) * adding rotation process to Manager and exposing with new RPCs and (#57577) * adding rotation sub commands for recording encryption keys and fixing (#57780) broken session_recording_config when using fileconf * using more reliable method of validating key bit length
This PR adds new protos in support of the encrypted session recording RFD #53348