microsoft / microsoft/durabletask-java
Sample: Custom encryption for orchestration state
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Java
- Estrelas
- 29
- Forks
- 18
- Merge médio
- 1d 10h
- PRs com merge (30d)
- 2
Descrição
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.
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece localizando a interface DataConverter e a API de estado da orquestração. Esclareça como a criptografia controlada pelo usuário e a rotação de chaves devem funcionar, incluindo se as chaves antigas permanecem disponíveis ou se o estado é criptografado novamente. Considera-se concluído quando existir um exemplo de referência e todas as alterações necessárias na superfície da API tiverem sido identificadas.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- java
- Domínio
- backend-api-design, documentation, security
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 25/100