microsoft / microsoft/durabletask-java
Sample: Custom encryption for orchestration state
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Java
- Estrellas
- 29
- Forks
- 18
- Merge medio
- 1 d 10 h
- PR fusionados (30 d)
- 2
Descripción
Scenario
There are a variety of users who will need to encrypt their durable state using encryption keys they control. While it's possible to do this directly in the storage layer, it may be beneficial to support this directly in the API layer. The most natural way to do this is to use the DataConverter interface.
One challenge will be with how to deal with key rotation. For example, what happens if an orchestration can run for up to 1 year, but a company has a key rotation policy of 30 days? Do we require that old keys be kept around to decrypt old state, or do we create a mechanism for re-encrypting all orchestration state so that old keys can be fully decommissioned? These are some of the challenges that the sample should try to address.
Besides creating a reference for users to follow, one of the other outcomes could be changes to the API surface.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza localizando la interfaz DataConverter y la API del estado de orquestación. Aclara cómo deben funcionar el cifrado controlado por el usuario y la rotación de claves, incluido si las claves antiguas siguen disponibles o si el estado se vuelve a cifrar. Se considera completado cuando existe un ejemplo de referencia y se han identificado todos los cambios necesarios en la superficie de la API.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- backend-api-design, documentation, security
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100