edit minio sso

This commit is contained in:
chapeau 2024-06-20 15:16:43 +02:00
parent 89f6723bcd
commit fb5cf47f40
2 changed files with 19 additions and 3 deletions

View file

@ -219,7 +219,15 @@ Tue Jun 11 08:55:45 UTC 2024 Backup and Prune finished successfully
<h2 id="et-ma-sso-dans-tout-ça-">Et ma SSO dans tout ça ?</h2> <h2 id="et-ma-sso-dans-tout-ça-">Et ma SSO dans tout ça ?</h2>
<p>Une fois un service de SSO configuré sur MinIO (laissé à titre dexercice au lecteur), la solution précédente, en plus de ne pas être sécurisée, nest plus possible : MinIO ne manipule plus de mot de passe pour le compte utilisateur. Il faut donc utiliser une Access Key. Malheureusement, utiliser directement lAccess Key dans la configuration précédente à la place des identifiants du compte ne fonctionne pas. Il va falloir rajouter un outil : <code class="language-plaintext highlighter-rouge">aws-cli</code>. Rassurez vous, bien que développé par AWS pour ses API, cet outil fonctionne parfaitement avec les autres solutions compatibles S3 et nenvoie aucune information à AWS.</p> <p>Une fois un service de SSO configuré sur MinIO (laissé à titre dexercice au lecteur),</p>
<blockquote>
<p><strong>Modification au 20/06/2024 :</strong><br />
La configuration du SSO sur MinIO est moins simple que je le pensais et mériterait sa propre section. Il est en effet nécessaire de rédiger une Policy, associée à la configuration OpenID, pour définir les droits daccès des utilisateurs connectés via SSO. Par exemple, pour reprendre la méthode utilisée ici et autoriser chaque utilisateur à créer un bucket en son nom, vous pouvez donner les droits <code class="language-plaintext highlighter-rouge">s3:*</code> sur <code class="language-plaintext highlighter-rouge">arn:aws:s3:::${aws:username}</code>, et <code class="language-plaintext highlighter-rouge">s3:List*</code> sur <code class="language-plaintext highlighter-rouge">arn:aws:s3:::*</code>.<br />
A noter cependant, que <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/351725">Gitlab a un bug qui lempêche dêtre utilisé pour cet usage</a>.</p>
</blockquote>
<p>la solution précédente, en plus de ne pas être sécurisée, nest plus possible : MinIO ne manipule plus de mot de passe pour le compte utilisateur. Il faut donc utiliser une Access Key. Malheureusement, utiliser directement lAccess Key dans la configuration précédente à la place des identifiants du compte ne fonctionne pas. Il va falloir rajouter un outil : <code class="language-plaintext highlighter-rouge">aws-cli</code>. Rassurez vous, bien que développé par AWS pour ses API, cet outil fonctionne parfaitement avec les autres solutions compatibles S3 et nenvoie aucune information à AWS.</p>
<p>Commençons par nous connecter avec notre compte SSO à MinIO, puis par y générer une Access Key. Installons ensuite <code class="language-plaintext highlighter-rouge">aws-cli</code> sur la machine à backup, et configurons le :</p> <p>Commençons par nous connecter avec notre compte SSO à MinIO, puis par y générer une Access Key. Installons ensuite <code class="language-plaintext highlighter-rouge">aws-cli</code> sur la machine à backup, et configurons le :</p>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator><link href="http://localhost:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2024-06-11T15:59:15+02:00</updated><id>http://localhost:4000/feed.xml</id><title type="html">Blog de Chapoline</title><subtitle>Blog, articles, et pensées non ordonnées <?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator><link href="http://localhost:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2024-06-20T15:15:16+02:00</updated><id>http://localhost:4000/feed.xml</id><title type="html">Blog de Chapoline</title><subtitle>Blog, articles, et pensées non ordonnées
</subtitle><author><name>Caroline Canebier</name></author><entry><title type="html">Faire du Backup-as-a-Service avec Restic et Minio</title><link href="http://localhost:4000/2024/06/11/backup-minio.html" rel="alternate" type="text/html" title="Faire du Backup-as-a-Service avec Restic et Minio" /><published>2024-06-11T00:00:00+02:00</published><updated>2024-06-11T00:00:00+02:00</updated><id>http://localhost:4000/2024/06/11/backup-minio</id><content type="html" xml:base="http://localhost:4000/2024/06/11/backup-minio.html">&lt;p&gt;Pour mon infrastructure de backups, jutilise depuis plusieurs années &lt;a href=&quot;https://www.borgbackup.org/&quot;&gt;BorgBackup&lt;/a&gt;, un excellent outil pour chiffrer et dédupliquer ses sauvegardes, puis les stocker via SSH. Pour les sauvegardes de mes serveurs, il moffre une complète satisfaction. Mais je voulais explorer un nouvel outil dont on mavait dit beaucoup de bien, et je voulais essayer de faire du Backup-as-a-Service.&lt;/p&gt; </subtitle><author><name>Caroline Canebier</name></author><entry><title type="html">Faire du Backup-as-a-Service avec Restic et Minio</title><link href="http://localhost:4000/2024/06/11/backup-minio.html" rel="alternate" type="text/html" title="Faire du Backup-as-a-Service avec Restic et Minio" /><published>2024-06-11T00:00:00+02:00</published><updated>2024-06-11T00:00:00+02:00</updated><id>http://localhost:4000/2024/06/11/backup-minio</id><content type="html" xml:base="http://localhost:4000/2024/06/11/backup-minio.html">&lt;p&gt;Pour mon infrastructure de backups, jutilise depuis plusieurs années &lt;a href=&quot;https://www.borgbackup.org/&quot;&gt;BorgBackup&lt;/a&gt;, un excellent outil pour chiffrer et dédupliquer ses sauvegardes, puis les stocker via SSH. Pour les sauvegardes de mes serveurs, il moffre une complète satisfaction. Mais je voulais explorer un nouvel outil dont on mavait dit beaucoup de bien, et je voulais essayer de faire du Backup-as-a-Service.&lt;/p&gt;
&lt;p&gt;Les besoins sont simple : les utilisateurs ayant un compte sur mon service de SSO devraient pouvoir se connecter sur un service, créer une clé dédiée à une application, puis utiliser cette clé pour backup une machine, serveur ou PC, et envoyer les données sur mon serveur central. Les backups créés devraient être chiffrés, dédupliqués, et avec une gestion des droits pour ne pas permettre à un utilisateur décraser ou de modifier les backups des autres (tout étant chiffré, laccès en lecture est moins critique). Si possible, le service devrait pouvoir définir des quotas par utilisateur ; malheureusement, la solution que jai trouvée ne le permet pas.&lt;/p&gt; &lt;p&gt;Les besoins sont simple : les utilisateurs ayant un compte sur mon service de SSO devraient pouvoir se connecter sur un service, créer une clé dédiée à une application, puis utiliser cette clé pour backup une machine, serveur ou PC, et envoyer les données sur mon serveur central. Les backups créés devraient être chiffrés, dédupliqués, et avec une gestion des droits pour ne pas permettre à un utilisateur décraser ou de modifier les backups des autres (tout étant chiffré, laccès en lecture est moins critique). Si possible, le service devrait pouvoir définir des quotas par utilisateur ; malheureusement, la solution que jai trouvée ne le permet pas.&lt;/p&gt;
@ -127,7 +127,15 @@ Tue Jun 11 08:55:45 UTC 2024 Backup and Prune finished successfully
&lt;h2 id=&quot;et-ma-sso-dans-tout-ça-&quot;&gt;Et ma SSO dans tout ça ?&lt;/h2&gt; &lt;h2 id=&quot;et-ma-sso-dans-tout-ça-&quot;&gt;Et ma SSO dans tout ça ?&lt;/h2&gt;
&lt;p&gt;Une fois un service de SSO configuré sur MinIO (laissé à titre dexercice au lecteur), la solution précédente, en plus de ne pas être sécurisée, nest plus possible : MinIO ne manipule plus de mot de passe pour le compte utilisateur. Il faut donc utiliser une Access Key. Malheureusement, utiliser directement lAccess Key dans la configuration précédente à la place des identifiants du compte ne fonctionne pas. Il va falloir rajouter un outil : &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws-cli&lt;/code&gt;. Rassurez vous, bien que développé par AWS pour ses API, cet outil fonctionne parfaitement avec les autres solutions compatibles S3 et nenvoie aucune information à AWS.&lt;/p&gt; &lt;p&gt;Une fois un service de SSO configuré sur MinIO (laissé à titre dexercice au lecteur),&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Modification au 20/06/2024 :&lt;/strong&gt;&lt;br /&gt;
La configuration du SSO sur MinIO est moins simple que je le pensais et mériterait sa propre section. Il est en effet nécessaire de rédiger une Policy, associée à la configuration OpenID, pour définir les droits daccès des utilisateurs connectés via SSO. Par exemple, pour reprendre la méthode utilisée ici et autoriser chaque utilisateur à créer un bucket en son nom, vous pouvez donner les droits &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;s3:*&lt;/code&gt; sur &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;arn:aws:s3:::${aws:username}&lt;/code&gt;, et &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;s3:List*&lt;/code&gt; sur &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;arn:aws:s3:::*&lt;/code&gt;.&lt;br /&gt;
A noter cependant, que &lt;a href=&quot;https://gitlab.com/gitlab-org/gitlab/-/issues/351725&quot;&gt;Gitlab a un bug qui lempêche dêtre utilisé pour cet usage&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;la solution précédente, en plus de ne pas être sécurisée, nest plus possible : MinIO ne manipule plus de mot de passe pour le compte utilisateur. Il faut donc utiliser une Access Key. Malheureusement, utiliser directement lAccess Key dans la configuration précédente à la place des identifiants du compte ne fonctionne pas. Il va falloir rajouter un outil : &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws-cli&lt;/code&gt;. Rassurez vous, bien que développé par AWS pour ses API, cet outil fonctionne parfaitement avec les autres solutions compatibles S3 et nenvoie aucune information à AWS.&lt;/p&gt;
&lt;p&gt;Commençons par nous connecter avec notre compte SSO à MinIO, puis par y générer une Access Key. Installons ensuite &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws-cli&lt;/code&gt; sur la machine à backup, et configurons le :&lt;/p&gt; &lt;p&gt;Commençons par nous connecter avec notre compte SSO à MinIO, puis par y générer une Access Key. Installons ensuite &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws-cli&lt;/code&gt; sur la machine à backup, et configurons le :&lt;/p&gt;