Retour au projet dans le portfolio

Accès aux bases RDS avec approbation Slack

Un développeur ne se connecte plus directement à une base : il lance un script de tunnel qui ouvre une demande d'approbation dans Slack via un document SSM. Le tunnel n'existe qu'une fois la demande approuvée — et toute connexion ouverte est ensuite signalée dans Slack.

Schéma générique : instances, dépôts, canaux et modules sont désignés par leur fonction. L'architecture est présentée à titre illustratif, indépendamment de toute organisation.

Étape technique Service externe · base En attente d'approbation Approuvé Refus · alerte
01 — demande, décision, surveillance

Ouverture d'un tunnel sous approbation

Le script est appelé deux fois : une première pour déposer la demande, une seconde — après le verdict — pour ouvrir réellement le tunnel. Entre les deux, rien n'est ouvert.

Dev demande un accès Script de tunnel lancé par le dev EventBridge règle 1 Lambda 1 crée la demande Document SSM statut : waiting Slack bot de demande Le script, les deux Lambda et le document SSM portent chacun leurs propres permissions IAM. demande postée Approbateurs canal Slack approuvé Document SSM statut : success Script de tunnel ouvre le tunnel session Connexion RDS tunnel ouvert refusé Aucun accès la demande s'arrête là connexion détectée EventBridge règle 2 Lambda 2 notifie l'ouverture Alerte Slack connexion à la base alerte de connexion Toute connexion ouverte est signalée dans Slack, qu'elle ait été approuvée ou non.
Deux boucles distinctes passent par Slack : celle du haut demande l'autorisation, celle du bas signale ce qui s'est réellement connecté — la seconde ne dépend pas de la première, ce qui rend visible une connexion qui aurait contourné la demande.

Tous les schémas d'architecture