aws / aws/aws-encryption-sdk-java

Allow to pass overrideConfiguration per request

Ouverte
#2,107 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Java
Étoiles
240
Forks
125
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

### 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/ )

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par suivre AwsCrypto.decryptData/encryptData et KmsMasterKeyProvider afin de comprendre où overrideConfiguration par requête de AWS SDK v2 pourrait être introduit. Comparez l’utilisation existante de API_NAMESPACE avec les deux options proposées, puis définissez le contexte de requête et la forme d’API nécessaires pour encrypt et decrypt. C’est terminé lorsqu’un KmsClient peut servir des requêtes pour plusieurs comptes et que des en-têtes supplémentaires parviennent à l’appel KMS.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
aws, java
Domaine
backend-api-design, security
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.