Je ne vois pas vraiment pourquoi j'ai besoin de l'utilisateur IAM. La documentation indique qu'il y a deux façons d'accéder à EC2. La première consiste à créer des clés d'accès pour votre compte AWS. L'autre consiste à utiliser IAM. Amazon recommande IAM.
Je me suis donc connecté au compte principal et, sur la page IAM, j'ai créé un utilisateur IAM, puis un groupe IAM, et j'ai ajouté l'utilisateur au groupe IAM avec la politique AdministratorAccess. J'ai également attribué un mot de passe personnalisé sous l'onglet "Security Credentials".
Lorsque je sélectionne l'utilisateur, une page de résumé s'affiche. Sur la page de résumé, il y a une définition "User ARN :", qui comprend l'identifiant du compte et le nom d'utilisateur :
arn:aws:iam::account_id:user/username
Avec ces informations, je peux me déconnecter du compte AWS principal et me connecter en tant qu'utilisateur IAM, en utilisant le nom d'utilisateur et le mot de passe IAM que j'ai créés pour l'utilisateur.
https://account_id.signin.aws.amazon.com/console/
La documentation indique maintenant que les instances Linux n'ont pas de mot de passe. Vous devez spécifier le nom de la paire de clés lorsque vous lancez l'instance et fournir une clé privée lorsque vous vous connectez à l'aide de SSH. En tant qu'utilisateur IAM, je crée donc une paire de clés sous "Network & Security". Et je sauvegarde le fichier de la clé privée dans un endroit sûr.
Enfin, lorsque je lance une instance, elle me demande une paire de clés, je sélectionne donc la paire de clés que j'ai créée. Une fois l'instance lancée, j'essaie de me connecter à partir de ssh :
$ ssh -i ~/.aws/username-key-pair-useast.pem username@dns-ip.compute-1.amazonaws.com
Et cela ne fonctionne pas. Je dois spécifier l'utilisateur appelé ubuntu :
$ ssh -i ~/.aws/username-key-pair-useast.pem ubuntu@dns-ip.compute-1.amazonaws.com
Et puis ça marche. Mais pourquoi ne puis-je pas me connecter au serveur avec l'utilisateur IAM ? Je pensais que le but de l'utilisateur IAM était de renforcer la sécurité de mon Instance. Mais si je me connecte avec un superutilisateur ubuntu et que l'utilisateur IAM n'est pas ajouté à l'OS de l'Instance, alors quelle sécurité supplémentaire l'IAM apporte-t-il ?
De plus, tout ce que j'ai fait avec l'utilisateur IAM, j'aurais pu le faire avec le compte AWS principal. Par exemple, je peux me connecter au compte AWS principal, créer des paires de clés et lancer une instance. Il semble donc que l'IAM soit simplement redondant.
Je ne vois pas vraiment pourquoi j'ai besoin de l'utilisateur IAM.