Consentire al cliente di generare una chiave segreta per proteggere l'istanza di RDS su AWS

0

Ho un'architettura di microservizio in esecuzione sul cluster AWS ECS usando Postgres e Node e c'è questo requisito che dobbiamo in qualche modo consentire al nostro client di bloccare il nostro database con una chiave segreta in modo tale che noi sviluppatori non dovremmo essere in grado di accedere al DB direttamente senza il loro consenso.

Questo suona un po 'strano, ma il progetto implica dati sensibili e ci sono requisiti di conformità rigidi che devono essere soddisfatti e quindi è necessario consentire loro in qualche modo facendo qualcosa o l'altro per mezzo del quale quando la mia app lo avvia recupera le credenziali di un servizio e le usano per accedere al db mentre non dovrei essere in grado di farlo.

Ho esaminato alcuni servizi AWS che potrebbero aiutarmi a memorizzare credenziali segrete in un luogo sicuro come Archivio parametri e crittografare i dati utilizzando KMS . Ma non ho idea che sia possibile questa cosa usando i servizi AWS o con altri mezzi.

Qualsiasi aiuto o suggerimento su come si dovrebbe andare a implementare questa idea?

    
posta Vinay 09.02.2017 - 10:45
fonte

1 risposta

1

Dipende molto dalle tue esigenze, come ha sottolineato Vinay. Comunque posso darti alcune opzioni:

  • È stato impostato un ruolo IAM che consente di modificare la password principale dell'istanza RDS. Ogni volta che si avvia il server si imposta questa credenziale tramite l'applicazione. L'account AWS deve essere configurato in modo che gli sviluppatori non siano in grado di farlo. Problemi: non è possibile accedere facilmente all'istanza del database. Potresti avere alcuni problemi con il ridimensionamento poiché non vuoi che le due istanze cambino la password contemporaneamente.

  • Puoi configurare gli utenti degli sviluppatori all'interno dell'account AWS in modo che non siano in grado di modificare la password dell'istanza RDS. L'applicazione accede a un bucket S3 a cui gli sviluppatori non hanno accesso. Tuttavia l'applicazione può leggere i dati dal bucket S3. È possibile farlo utilizzando i ruoli IAM che si assegnano alle istanze dell'applicazione EC2. All'interno del bucket è possibile memorizzare la password RDS. È possibile consentire dall'interno dell'applicazione di modificare la password. In questo modo è possibile impostare l'intera cosa inizialmente e consentire al client di modificarlo una volta (o più). In questo modo puoi bloccarti.

  • Alla fine è possibile impostare a livello di rete le regole dei gruppi di sicurezza che impediscono l'accesso dall'esterno e impediscono agli sviluppatori di accedere all'ambiente. Questo alla fine è problematico poiché potrebbe essere necessario accedere all'ambiente poiché è necessario un modo per mantenere le istanze EC2.

risposta data 06.03.2017 - 07:13
fonte

Leggi altre domande sui tag