aws / aws/aws-encryption-sdk-java

Allow to pass overrideConfiguration per request

Abierto
#2,107 1 comentario 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Java
Estrellas
240
Forks
125
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### Security issue notifications

If you discover a potential security issue in the AWS Encryption SDK we ask that you notify AWS Security via our [vulnerability reporting page](https://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public GitHub issue.

### Problem:

If i want to pass additional headers with Decrypt call (e.g Confused Deputy protection). I need to provide for each account own KmsClient. Instead in SdkV2 i can call .overrideConfiguration on request (you already use it for API_NAMESPACE).

If it will be possible to add .overrideConfiguration per call encrypt/decrypt i can use the same KmsClient for all accounts.

### Solution:

A description of the possible solution in terms of Encryption SDK architecture.

I see 2 options:
1. in AwsCrypto.decryptData/ecryptData provide additional argument with options
2. When construct KmsMasterKeyProvider ask for supplier for override. But there we need to send something in addition to identify context of request

### Out of scope:

Is there anything the solution will intentionally NOT address?

[//]: # (NOTE: If you believe this might be a security issue, please email aws-security@amazon.com instead of creating a GitHub issue. For more details, see the AWS Vulnerability Reporting Guide: https://aws.amazon.com/security/vulnerability-reporting/ )

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza rastreando AwsCrypto.decryptData/encryptData y KmsMasterKeyProvider para entender dónde podría introducirse overrideConfiguration de AWS SDK v2 por solicitud. Compara el uso existente de API_NAMESPACE con las dos opciones propuestas y, después, define el contexto de la solicitud y la forma de la API necesarios para encrypt y decrypt. Se considera terminado cuando un KmsClient puede atender solicitudes de varias cuentas y los encabezados adicionales llegan a la llamada de KMS.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
aws, java
Área
backend-api-design, 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.