FR
EspañolEnglishFrançaisDeutschPortuguêsItaliano
Se connecter Commencez gratuitement
IAM

Comment créer un utilisateur IAM avec des permissions minimales pour un panneau externe (depuis CloudShell)

Créez dans AWS une clé d'accès qui ne peut faire que l'indispensable (voir, démarrer et arrêter des machines Lightsail, par exemple) pour la confier à un panneau ou un outil externe, avec quatre commandes dans CloudShell et sans toucher à votre utilisateur principal.

⏱ 15 minutes ◎ Niveau intermédiaire Mis à jour le 26/10/2026

Tôt ou tard, un outil externe vous demande « une clé AWS » : un panneau de contrôle, un système de sauvegarde, un outil de supervision. La tentation est de copier la clé de votre utilisateur administrateur. Ne le faites jamais. Quiconque possède cette clé peut faire tout ce que vous pouvez faire, y compris effacer le compte entier. La bonne méthode est de créer un utilisateur IAM à part avec une politique qui n'autorise que les actions précises dont cet outil a besoin, et de lui donner sa clé.

Nous le ferons depuis AWS CloudShell, le terminal intégré à la console web, parce que ce sont quatre commandes à copier-coller et que le résultat est exact. Rien à installer sur votre ordinateur.

Avant de commencer : ce que signifie chaque chose

IAM
Le service AWS qui gère qui peut faire quoi dans votre compte : utilisateurs, clés et permissions.
Utilisateur IAM
Une identité à l'intérieur de votre compte AWS, distincte de la vôtre, à laquelle vous ne donnez que les permissions nécessaires. Elle peut servir à une personne ou à un programme.
Politique
La liste des permissions, écrite dans un format texte appelé JSON : quelles actions sont autorisées et sur quoi. Le guide vous la donne toute faite.
Clé d'accès
Le « nom d'utilisateur et mot de passe » des programmes : deux chaînes de texte (identifiant et secret) qu'un outil utilise pour parler à AWS au nom de cet utilisateur.
CloudShell
Un terminal (écran noir où l'on tape des commandes) intégré à la console web d'AWS. Rien à installer : il s'ouvre déjà connecté à votre compte.
Permissions minimales
L'idée de ne donner à chaque outil que l'indispensable. Si la clé fuite, le dommage se limite à cela.
ARN
Le nom complet et unique de n'importe quel élément d'AWS, de la forme arn:aws:... Il sert à le désigner sans ambiguïté.
Rôle
Une alternative à l'utilisateur avec clé : l'outil « emprunte » une permission temporaire sans qu'il existe de mot de passe permanent. Plus sûr, si l'outil le prend en charge.

Pas à pas

  1. Décidez des actions dont l'outil a besoin

    Avant d'écrire quoi que ce soit, faites la liste. Un panneau qui gère des machines Lightsail aura besoin, par exemple : de voir les machines et leur état, de démarrer, arrêter et redémarrer, et peut-être de créer et de voir des instantanés. Il n'a pas besoin de créer ni de supprimer des machines, ni de voir la facturation, ni de toucher aux utilisateurs. Chaque action absente de la liste est une action que vous ne donnerez pas. Si l'outil est sérieux, il vous dira exactement quelles permissions il demande ; s'il vous demande « AdministratorAccess », méfiez-vous.

  2. Ouvrez CloudShell

    Dans la console AWS, cliquez sur l'icône de terminal de la barre supérieure (CloudShell) ou cherchez-le par son nom. Il met quelques secondes à démarrer. Vous disposez alors d'un terminal Linux avec l'outil aws configuré avec vos identifiants actuels : tout ce que vous y faites, vous le faites en tant que l'utilisateur avec lequel vous êtes connecté à la console (qui doit avoir la permission de gérer IAM).

  3. Écrivez la politique

    Créez un fichier avec la politique au format JSON. Cet exemple permet de voir, démarrer, arrêter et redémarrer des machines Lightsail et de gérer leurs instantanés, rien de plus. Collez le bloc entier dans CloudShell :

    cat > politica.json <<'FIN'
    {
      "Version": "2012-10-17",
      "Statement": [{
        "Effect": "Allow",
        "Action": [
          "lightsail:GetInstances", "lightsail:GetInstance", "lightsail:GetInstanceState",
          "lightsail:GetInstanceMetricData", "lightsail:GetRegions",
          "lightsail:StartInstance", "lightsail:StopInstance", "lightsail:RebootInstance",
          "lightsail:GetInstanceSnapshots", "lightsail:GetInstanceSnapshot",
          "lightsail:CreateInstanceSnapshot", "lightsail:DeleteInstanceSnapshot"
        ],
        "Resource": "*"
      }]
    }
    FIN

    Chaque action s'appelle servicio:Operación. Si vous voulez seulement que l'outil voie, retirez les lignes Start, Stop, Reboot, Create et Delete. Pour EC2, S3 ou RDS, les actions portent d'autres noms, mais la mécanique est identique. Dans Lightsail, la plupart des actions ne peuvent pas être limitées à une machine précise, c'est pourquoi le Resource est * ; dans EC2 ou S3, vous pouvez indiquer l'identifiant exact de la ressource.

  4. Créez la politique, l'utilisateur et associez-les

    Trois commandes. Changez le nom si vous voulez, mais qu'il dise à quoi il sert :

    aws iam create-policy --policy-name PanelMaquinas --policy-document file://politica.json
    aws iam create-user --user-name panel-maquinas
    CUENTA=$(aws sts get-caller-identity --query Account --output text)
    aws iam attach-user-policy --user-name panel-maquinas \
      --policy-arn arn:aws:iam::$CUENTA:policy/PanelMaquinas

    La première commande renvoie l'ARN de la politique ; la troisième le reconstruit avec le numéro de votre compte pour que vous n'ayez pas à le copier. Remarquez que nous ne donnons pas de mot de passe de console à l'utilisateur : il n'existera que pour la clé d'accès.

  5. Générez la clé d'accès

    aws iam create-access-key --user-name panel-maquinas

    La réponse contient deux valeurs : AccessKeyId (commence par AKIA) et SecretAccessKey. Le secret n'est affiché que cette fois-ci. Copiez-le directement dans l'outil qui va l'utiliser. Ne le collez pas dans un e-mail, un chat ni un document partagé. Si vous le perdez, ce n'est pas grave : vous supprimez cette clé et vous en créez une autre.

  6. Supprimez le fichier et vérifiez

    rm politica.json
    aws iam list-attached-user-policies --user-name panel-maquinas

    Seul PanelMaquinas doit apparaître. Configurez l'outil avec la clé et testez une action autorisée (voir les machines) et une action non autorisée (en créer une) : la seconde doit échouer avec « not authorized ». Cette erreur est la preuve que vous avez bien fait le travail.

Ce qui peut mal tourner

L'outil dit qu'il n'a pas la permission pour quelque chose que vous voulez pourtant autoriser

Il manque une action dans la politique. Le message d'erreur d'AWS dit exactement laquelle (User ... is not authorized to perform: lightsail:GetBundles). Ajoutez-la au JSON et mettez à jour la politique avec aws iam create-policy-version --set-as-default, ou modifiez-la depuis la console IAM. N'ajoutez que cette action, ne rouvrez pas les vannes.

J'ai collé le secret là où il ne fallait pas

Considérez-le comme compromis. Dans CloudShell : aws iam delete-access-key --user-name panel-maquinas --access-key-id AKIA... et créez-en une autre. Comme l'utilisateur a des permissions minimales, le dommage possible était faible ; c'est tout l'intérêt de la démarche.

La troisième commande échoue sur l'ARN

Il se peut que votre utilisateur de console n'ait pas la permission sts:GetCallerIdentity (rare) ou que le nom de la politique contienne une faute de frappe. Copiez l'ARN renvoyé par la première commande et collez-le à la main dans --policy-arn.

Un rôle ne vaudrait-il pas mieux qu'un utilisateur ?

Oui, quand l'outil le prend en charge : un rôle IAM que l'outil assume depuis son propre compte AWS n'a pas de clé qui puisse fuiter et ses identifiants expirent d'eux-mêmes. Demandez à votre fournisseur s'il accepte l'« accès par rôle » ou le « cross-account role ». Sinon, l'utilisateur avec permissions minimales est la deuxième meilleure option, et bien meilleure que la clé d'administrateur.

Dans Simplio

Dans Simplio, vous n'avez pas à écrire la politique : dans l'aide, vous cochez ce que vous voulez autoriser (lecture seule, sans pare-feu, sans terminal, une région...) et Simplio génère le JSON et le script complet à coller dans CloudShell, qui renvoie la clé toute prête. Et si vous préférez éviter les clés, Simplio accepte la connexion par rôle, avec des identifiants temporaires qui expirent au bout d'une heure. La clé est stockée chiffrée et n'est jamais réaffichée.

La même chose, dans AWS et dans Simplio

Dans la console AWSDans Simplio
Écrire la politiqueConnaître le nom exact de chaque action AWS et le format JSONCocher des cases (lecture seule, sans pare-feu, sans terminal, une région) : le JSON se génère tout seul
Créer l'utilisateur, la politique et la cléCloudShell, 4 commandes, 15 minutes la première foisColler dans CloudShell le script généré par l'aide : 2 minutes
Si vous ne voulez pas de clésConcevoir un rôle entre comptes à la mainConnexion par rôle avec un ARN que Simplio génère pour vous

Essayer gratuitement 15 jours Voir comment ça marche

Tout cela, sans la console AWS

Simplio est un panneau en français pour gérer vos comptes AWS : machines, copies programmées, bases de données, domaines, e-mail et ce que vous facture AWS, avec des autorisations par personne et la double authentification. Sans rien installer sur vos serveurs.

Commencez gratuitement pendant 15 jours, sans carte

Déjà client ? Espace clients.