﻿﻿{"id":1885,"date":"2025-12-23T10:00:00","date_gmt":"2025-12-23T09:00:00","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/sisu-quand-votre-aws-devient-un-simple-dossier-sur-votre-disque\/"},"modified":"2025-12-23T10:00:00","modified_gmt":"2025-12-23T09:00:00","slug":"sisu-quand-votre-aws-devient-un-simple-dossier-sur-votre-disque","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/sisu-quand-votre-aws-devient-un-simple-dossier-sur-votre-disque\/","title":{"rendered":"Sisu &#8211; Quand votre AWS devient un simple dossier sur votre disque"},"content":{"rendered":"<p>Vous passez vos journ\u00e9es \u00e0 faire des <code>aws iam list-users | jq '.Users[]'<\/code> et autres trucs interminables pour juste trouver une info ?? Laissez tomber, j&#8217;ai le truc qui va vous changer la vie !<\/p>\n<p>\u00c7a s&#8217;appelle <strong>Sisu<\/strong> et c&#8217;est un petit outil en Go qui monte vos ressources AWS comme un syst\u00e8me de fichiers local. Du coup, au lieu de taper des commandes AWS complexes, vous utilisez juste grep, cat, diff, vim&#8230; c&#8217;est \u00e0 dire les outils Unix que vous connaissez d\u00e9j\u00e0 par c\u0153ur.<\/p>\n<p>Vous lancez la commande <code>sisu<\/code> et hop, vos ressources AWS se retrouvent mont\u00e9es dans <code>~\/.sisu\/mnt\/<\/code> ! Vos buckets S3, vos param\u00e8tres SSM, vos roles IAM, vos lambdas, vos instances EC2&#8230;etc. Tout \u00e7a organis\u00e9 en dossiers par profil AWS et par r\u00e9gion.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/sisu-aws-filesystem-fuse-cli-grep\/sisu-aws-filesystem-fuse-cli-grep-1.gif\" alt=\"\" loading=\"lazy\"><\/p>\n<p>Ainsi, pour chercher tous vos utilisateurs IAM qui ont un acc\u00e8s admin, c&#8217;est aussi simple que :<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">grep -l \"AdministratorAccess\" *\/global\/iam\/users\/*\/policies.json\n<\/span><\/span><\/code><\/pre>\n<p>Pour comparer la config d&#8217;un r\u00f4le entre prod et staging :<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">diff prod\/global\/iam\/roles\/api\/info.json staging\/global\/iam\/roles\/api\/info.json\n<\/span><\/span><\/code><\/pre>\n<p>Et pour lire un secret ? Un simple <code>cat default\/us-east-1\/secrets\/myapp\/database\/value<\/code>.<\/p>\n<p>C&#8217;est b\u00eate comme Jordan mais \u00e7a change tout pour la maintenance au quotidien !<\/p>\n<p>Et c\u00f4t\u00e9 services support\u00e9s, Sisu g\u00e8re pas mal de trucs tels que le S3 et SSM Parameter Store en lecture\/\u00e9criture\/suppression, et IAM, VPC, Lambda, EC2, Secrets Manager, Route 53 et CloudWatch Logs en lecture seule. Y&#8217;a m\u00eame un truc sympa pour EC2 c&#8217;est que vous pouvez vous connecter \u00e0 une instance via SSM Session Manager sans avoir besoin de cl\u00e9s SSH. Suffit d&#8217;ex\u00e9cuter le fichier <code>connect<\/code> qui se trouve dans le dossier de l&#8217;instance (\u00e0 condition d&#8217;avoir l&#8217;agent SSM configur\u00e9 sur l&#8217;instance et le plugin Session Manager c\u00f4t\u00e9 client, \u00e9videmment).<\/p>\n<p>Pour les logs CloudWatch, c&#8217;est bien aussi puisqu&#8217;ils sont stream\u00e9s \u00e0 la demande par batches de 100, donc vous pouvez faire un <code>grep<\/code> dessus sans tout charger en m\u00e9moire d&#8217;un coup.<\/p>\n<p>C\u00f4t\u00e9 installation, c&#8217;est du Go classique :<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">go install github.com\/semonte\/sisu@latest\n<\/span><\/span><\/code><\/pre>\n<p>Faudra juste penser \u00e0 installer FUSE avant sur votre syst\u00e8me (apt install fuse sous Ubuntu\/Debian, yum install fuse sous RHEL\/CentOS) et c&#8217;est tout, y&#8217;a rien d&#8217;autre \u00e0 configurer si vous avez d\u00e9j\u00e0 vos credentials AWS en place.<\/p>\n<p>Apr\u00e8s, l&#8217;outil cache les r\u00e9sultats pendant 5 minutes pour \u00e9viter de spammer l&#8217;API AWS \u00e0 chaque ls, ce qui est plut\u00f4t indispensable pour limiter les appels et le temps de r\u00e9ponse.<\/p>\n<p>Bref, si vous en avez marre de jongler avec jq pour parser du JSON AWS, Sisu va vous aider ! C&#8217;est open source sous licence MIT,<br \/>\n<a href=\"https:\/\/github.com\/semonte\/sisu\">et c&#8217;est par ici !<\/a>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Vous passez vos journ\u00e9es \u00e0 faire des aws iam list-users | jq &#8216;.Users[]&#8217; et autres trucs interminables pour juste trouver une info ?? Laissez tomber, j&#8217;ai le truc qui va vous changer la vie ! \u00c7a s&#8217;appelle Sisu et c&#8217;est un petit outil en Go qui monte vos ressources AWS comme un syst\u00e8me de fichiers local. Du coup, au lieu de taper des commandes AWS complexes, vous utilisez juste grep, cat, diff, vim&#8230; c&#8217;est \u00e0 dire les outils Unix que vous connaissez d\u00e9j\u00e0 par c\u0153ur. Vous lancez la commande sisu et hop, vos ressources AWS se retrouvent mont\u00e9es dans ~\/.sisu\/mnt\/ ! Vos buckets S3, vos param\u00e8tres SSM, vos roles IAM, vos lambdas, vos instances EC2&#8230;etc. Tout \u00e7a organis\u00e9 en dossiers par profil AWS et par r\u00e9gion. Ainsi, pour chercher tous vos utilisateurs IAM qui ont un acc\u00e8s admin, c&#8217;est aussi simple que : grep -l &#8220;AdministratorAccess&#8221; *\/global\/iam\/users\/*\/policies.json Pour comparer la config d&#8217;un r\u00f4le entre prod et staging : diff prod\/global\/iam\/roles\/api\/info.json staging\/global\/iam\/roles\/api\/info.json Et pour lire un secret ? Un simple cat default\/us-east-1\/secrets\/myapp\/database\/value. C&#8217;est b\u00eate comme Jordan mais \u00e7a change tout pour la maintenance au quotidien ! Et c\u00f4t\u00e9 services support\u00e9s, Sisu g\u00e8re pas mal de trucs tels que le S3 et SSM Parameter Store en lecture\/\u00e9criture\/suppression, et IAM, VPC, Lambda, EC2, Secrets Manager, Route 53 et CloudWatch Logs en lecture seule. Y&#8217;a m\u00eame un truc sympa pour EC2 c&#8217;est que vous pouvez vous connecter \u00e0 une instance via SSM Session Manager sans avoir besoin de cl\u00e9s SSH. Suffit d&#8217;ex\u00e9cuter le fichier connect qui se trouve dans le dossier de l&#8217;instance (\u00e0 condition d&#8217;avoir l&#8217;agent SSM configur\u00e9 sur l&#8217;instance et le plugin Session Manager c\u00f4t\u00e9 client, \u00e9videmment). Pour les logs CloudWatch, c&#8217;est bien aussi puisqu&#8217;ils sont stream\u00e9s \u00e0 la demande par batches de 100, donc vous pouvez faire un grep dessus sans tout charger en m\u00e9moire d&#8217;un coup. C\u00f4t\u00e9 installation, c&#8217;est du Go classique : go install github.com\/semonte\/sisu@latest Faudra juste penser \u00e0 installer FUSE avant sur votre syst\u00e8me (apt install fuse sous Ubuntu\/Debian, yum install fuse sous RHEL\/CentOS) et c&#8217;est tout, y&#8217;a rien d&#8217;autre \u00e0 configurer si vous avez d\u00e9j\u00e0 vos credentials AWS en place. Apr\u00e8s, l&#8217;outil cache les r\u00e9sultats pendant 5 minutes pour \u00e9viter de spammer l&#8217;API AWS \u00e0 chaque ls, ce qui est plut\u00f4t indispensable pour limiter les appels et le temps de r\u00e9ponse. Bref, si vous en avez marre de jongler avec jq pour parser du JSON AWS, Sisu va vous aider ! C&#8217;est open source sous licence MIT, et c&#8217;est par ici !<\/p>\n","protected":false},"author":1,"featured_media":1886,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-1885","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1885","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=1885"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1885\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/1886"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=1885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}