Comment accéder à votre compte AWS

(Nicolo Marchesi) (3 décembre 2020)

Comment accéder à votre compte AWS

Salut. Vous venez de créer votre premier compte AWS et vous avez hâte de vous plonger dans tous les services et technologies passionnants quAWS a à vous offrir pour commencer à créer le prochain grand projet. Mais attendez une seconde… allez-vous vous connecter avec vos identifiants de compte root? Ou vaut-il mieux générer un nouvel utilisateur? Ou peut-être utiliser un rôle?

Ralentissez une minute, et à la fin de larticle de blog, je vous promets que vous serez en mesure de choisir le meilleur moyen pour accéder à votre compte AWS en toute sécurité .

Attention, cependant, nous envisagerons daccéder à un seul compte aws car nous couvrirons les stratégies multi-comptes la prochaine fois . Nous devons marcher avant de pouvoir courir, nest-ce pas?

Comptes et ressources

Chaque voyage incroyable avec AWS commence avec des comptes et des ressources, et un compte est comme une boîte vide.

Les éléments que vous pouvez insérer dans votre compte peuvent être tout ce qui concerne les services AWS, par exemple, les réseaux, les machines virtuelles, les conteneurs, etc.

Mais le plus important est que par défaut, aucun compte ne partage de ressource afin que rien ne puisse entrer ou sortir entre deux comptes AWS différents. Et cest formidable de diviser vos charges de travail et de vous assurer que seules les bonnes personnes accèdent à tout.

IAM – Identité & Gestion des accès

Au sein de chaque compte, IAM est là pour protéger les ressources de votre compte en gérant quelles entités peuvent effectuer certaines actions sur ces ressources:

  • OMS – quelles identités
  • QUOI – peut effectuer certaines actions
  • WHERE – sur certaines ressources
  • COMMENT – et a satisfait à certaines conditions

Je les définis comme 4W , et pour linstant, nous devrons nous concentrer uniquement sur le premier 3.

Au début – lutilisateur root

Lorsque vous vous êtes connecté après avoir créé le compte AWS, vous avez utilisé ce compte utilisateur racine .

Cest différent des autres que vous pouvez créer car:

  • Créé lors de lenregistrement du compte
  • Vous pouvez vous connecter à laide de ladresse e-mail et du mot de passe que vous avez utilisés pour créer le compte
  • Vous pouvez accéder aux informations de facturation
  • Il dispose dun accès illimité à toutes les ressources de votre compte

Cet utilisateur est très important et vous devez le protéger de la meilleure façon possible. Cest un super-administrateur sur les stéroïdes car il est capable dafficher les informations de facturation et de tout faire avec toutes vos ressources.

Donc, la première chose à faire devrait être:

  • Activez lauthentification multifacteur (MFA) et enregistrez le code QR dans un endroit sécurisé
  • Supprimez toutes les clés daccès liées à cet utilisateur pour désactiver laccès par programmation (vous nen auriez pas besoin de toute façon!)

Et la prochaine étape devrait être de décider comment vous allez accéder à ce compte à partir de maintenant.

Depuis lintérieur dAWS

Concentrons-nous pour linstant sur ce quAWS nous offre sans compter sur des tiers. Ceci est particulièrement utile si nous nous concentrons sur ce compte unique, car nous devons maîtriser les trois blocs de construction IAM: utilisateur, groupes et rôles.

Utilisateurs

Vous vous souvenez de lutilisateur root? Les utilisateurs IAM sont du même type dentité mais différemment de lutilisateur root. Ils ne disposent pas des autorisations de facturation et daccès administrateur par défaut (sauf si vous leur donnez… ce que vous ne devriez pas).

Avec un utilisateur, nous pouvons créer une entité qui peut se connecter à la console Web AWS ou avec un accès par programme via un ensemble dinformations didentification (une clé daccès et une clé daccès secrète) qui sont fixes et ne changeront pas au fil du temps. Avec les clés SSH / HTTPS pour AWS CodeCommit ou les informations didentification pour les espaces de clés Amazon (pour Apache Cassandra)

  • Informations didentification de connexion pour la console Web
  • Informations didentification daccès et de clé secrète pour laccès par programmation aux API, CLI et SDK
  • Clés SSH / HTTPS pour AWS CodeCommit
  • Informations didentification pour les espaces de clés Amazon (pour Apache Cassandra)

Accès granulaire

Il est tout à fait possible avec un utilisateur IAM dactiver une ou plusieurs clés daccès en fonction de la façon dont vous voulez que cet utilisateur se comporte.Par exemple:

  • Un analyste de données qui na besoin de vérifier que les analyses sur la console Web mais sans avoir besoin dun accès par programme
  • Un DevOps sans serveur qui doit effectuer des actions sur le console et utiliser la CLI pour fournir certaines ressources aura besoin de ces deux accès
  • Un développeur travaillant sur un référentiel unique et nayant pas besoin dinteragir avec les ressources AWS disposera de clés SSH / HTTPS pour AWS CodeCommit.

Sachez que partage informations didentification de lutilisateur IAM est un grand non-non, car cest la première étape pour perdre les informations didentification et la gouvernance et vous exposer aux menaces de sécurité.

Vous ne le faites pas. voulez-vous que votre compte de production soit complètement effacé au profit dun ensemble complet de mineurs Bitcoin, nest-ce pas?

Appliquer la sécurité

Une autre fonctionnalité intéressante des utilisateurs dAWS IAM est de pouvoir appliquer un mot de passe complexité (qui est par défaut assez élevée avec une longueur comprise entre 8 et 128 chara cters, un minimum de 3 caractères spéciaux, et pour ne pas être identique à votre nom de compte AWS ou à votre adresse e-mail) et lheure dexpiration du mot de passe pour vous assurer quaprès un certain temps, vos utilisateurs changeront le mot de passe.

En haut de cela, vous pouvez activer MFA avec différents appareils:

  • Un appareil MFA virtuel avec une application dauthentification installée sur votre appareil mobile ou votre ordinateur
  • Une clé de sécurité U2F comme une YubiKey ou tout autre périphérique U2F conforme
  • Un autre périphérique MFA matériel comme le jeton Gemalto

En général, il existe une approche granulaire car vous pouvez avoir des moyens spécifiques pour chaque utilisateur IAM .

Quand utiliser

Si vous avez très peu dutilisateurs (entre 1–5) avec des autorisations précises liées à chacun, les utilisateurs IAM peuvent gagner du temps sur la configuration initiale et laccès à la console. Méfiez-vous des identifiants statiques car ce sont des problèmes de sécurité importants, alors traitez-les avec une extrême prudence. Ou utilisez le jeton get-session-token de lAWS CLI pour générer des informations didentification temporaires à partir de celles statiques.

Groupes

Ce nest pas une entité en soi, mais les groupes IAM sont là pour regrouper les utilisateurs IAM. et accordez le même ensemble dautorisations à un groupe dutilisateurs. Cela lisse un peu les aspérités des utilisateurs IAM, mais dans lensemble, les mêmes choses que nous avons vues pour les utilisateurs IAM sappliquent.

Une bonne chose à garder à lesprit est quun utilisateur IAM peut toujours avoir des politiques personnelles tout en étant associé avec un groupe, avec lautorisation résultante égale la fusion du groupe et des personnels.

Cela devrait être plus lexception que le workflow typique. Avec trop dautorisations individuelles, nous créons de nombreuses politiques non maintenables et perdons la vue densemble des autorisations dans le compte.

Quand utiliser

Si vous avez quelques utilisateurs (entre 5 et 15), les groupes IAM peuvent éviter certains tracas liés à la gestion et à la configuration de chaque utilisateur IAM. Mais la même considération que les utilisateurs IAM sapplique, donc si possible, évitez-les, sauf si vous ne travaillez que sur un seul compte.

Rôles

Et nous en sommes aux rôles AWS. Les rôles IAM peuvent avoir des autorisations (tout comme les utilisateurs) et se connecter à la console (encore une fois comme les utilisateurs…). Au lieu dêtre associé de manière unique à une personne, toute personne qui en a besoin peut assumer un rôle.

Donc une personne porte la casquette du rôle quelle souhaite assumer, et

le logo du rôle IAM vient de gagner beaucoup plus de sens, non?

Informations didentification temporaires

Une autre différence clé avec les utilisateurs IAM est que les rôles IAM nont pas dinformations didentification statiques. Lorsquune personne assume les rôles, un ensemble de informations didentification temporaires est généré et donné. Il est possible de personnaliser la durée de ces informations didentification et de restreindre davantage laccès si nécessaire.

La durée peut être réglée de 900 secondes (15 minutes) à 12 heures, mais à mon avis, définir une heure- une longue expiration est le meilleur compromis entre la sécurité et les performances.

Surveillance CloudTrail

Je le mentionnerai car certaines personnes nutilisent pas de rôles car elles pensent ne pas pouvoir auditer ce les rôles peuvent faire. La vérité est que vous pouvez et vous devriez. En activant la surveillance Cloudtrail, vous pouvez voir toutes les actions effectuées dans votre compte, afin que vous puissiez toujours savoir ce qui se passe.

Compte croisé

Cela sera discuté plus en détail dans un autre blog post, car nous nous concentrons sur les comptes uniques, mais pour linstant, sachez que les rôles IAM peuvent être utilisés pour donner accès à dautres rôles IAM ou utilisateurs IAM.

Et cest extrêmement utile.

Point dentrée requis

Et maintenant pour les inconvénients. Malheureusement, vous ne pouvez pas donner un accès direct à la console et aux informations didentification temporaires à un rôle IAM. Tout dabord, vous devez avoir configuré un utilisateur ou un rôle fédéré (plus dinformations à ce sujet dans quelques paragraphes) pour donner accès à un rôle IAM.

Quand utiliser

Toujours. Le seul fait que les rôles IAM sont non lié à des informations didentification statiques en fait le meilleur moyen daccéder à votre cloud. Combinez-les avec la possibilité de surveiller les actions des rôles IAM et de renforcer la sécurité, même avec lauthentification multifacteur. Le seul inconvénient est que cest un peu plus de configuration, mais cest un petit prix à payer à mon avis.

De lextérieur dAWS

Et maintenant, voyons ce que nous pouvons faire quand nous aller dans le domaine des identités dentreprise. Je fais référence à lutilisation dun fournisseur didentité comme source didentité et à la connexion avec notre adresse e-mail et notre mot de passe dentreprise.

Fédération

Mais quentend-on par fédération? Dun côté, nous avons le fournisseur didentité. Ces systèmes contiennent un répertoire dutilisateurs et certains logiciels qui peuvent communiquer via des protocoles de fédération spécifiques. Toutes les données de nos utilisateurs résident sous la forme Identités .

De lautre côté, il y a votre AWS Compte en tant que Consommateur didentité . Il maintient une référence aux identités sans les sauvegarder. De ce côté, nous avons généralement des niveaux dautorisation beaucoup plus granulaires (merci, IAM!).

Donc, la fédération est la relation de confiance qui permet au consommateur didentité de référencer les identités dans le fournisseur didentité.

Fédération SAML

La définition la plus courante de Security Assertion Markup Language (SAML ) est une norme ouverte pour léchange de données dauthentification et dautorisation entre les parties. Cela signifie que nous pouvons utiliser nos identités pour nous connecter à AWS et même obtenir des informations didentification temporaires en assumant des rôles. Cest une approche généraliste que vous pouvez appliquer à presque tous les fournisseurs didentité.

La relation de confiance

Pour configurer la fédération entre les deux parties, nous devons créer et gérer un Fournisseur didentité IAM . Cela est nécessaire car il représente le véritable fournisseur didentité et détient le secret partagé qui permet aux deux parties de communiquer. De plus, à lintérieur de chaque rôle que nous voulons que nos utilisateurs assument, nous définirons une politique de confiance pour autoriser les entités liées à lIAM Fournisseur didentité pour assumer le rôle:

Gestion personnalisée

Le fait est que la gestion de la fédération par vous-même peut être difficile et prendre du temps au début. Il y a certains concepts à bien comprendre, et vous devez créer un ensemble dentités, de relations et de choses personnalisées pour que cela se produise. Pour vous faire une idée, vous pouvez trouver un exemple de tutoriel complet ici .

Quand utiliser

En général, cest une approche excellente et éprouvée au combat qui fonctionnera dans presque tous les cas. Pourtant, la gestion personnalisée des identités peut être difficile et prendre du temps pour les personnes inexpérimentées.

Les cas dutilisation typiques sont si vous souhaitez gérer cela vous-même à des fins de sécurité ou de conformité. Vous navez pas accès à votre organisation AWS ou AWS SSO ne prend pas encore en charge votre fournisseur didentité.

AWS SSO

Il sagit du service SSO géré et basé sur le cloud qui permet vous connectez votre fournisseur didentité à votre compte AWS.

AWS Organization

Pour configurer AWS SSO, vous devrez configurer AWS Organizations, et pour linstant, vous pouvez y penser gérer plusieurs comptes AWS. Pour être bref, vous devez savoir que la configuration dune organisation AWS nécessite des autorisations étendues (à savoir lutilisateur root).

Stockage didentité interne

Par défaut, AWS SSO fournit un répertoire pour stocker vos informations utilisateur et vos identifiants pour servir directement de fournisseur didentité. Cest génial si vous ne possédez pas déjà de fournisseur didentité ou que vous ne voulez pas vous donner la peine den configurer un.

Stockage didentité externe

Mais supposons que votre organisation en utilise déjà Annuaire des utilisateurs, comme Microsoft Active Directory. Dans ce cas, vous pouvez le connecter à AWS SSO, éliminant ainsi le besoin de gérer deux répertoires distincts avec provisionnement automatique .

Attention cependant, cette fonctionnalité nest prise en charge que sur un ensemble limité de fournisseurs didentité:

Authentification multifacteur

Avec AWS SSO, vous pouvez configurer un périphérique MFA pour vos utilisateurs au sein du service. À lheure actuelle, il prend en charge les applications Authenticator telles que Google Authenticator et les clés de sécurité telles que Yubikey. La solution interne est passionnante, mais elle ne prend pas en charge MFA si elle est configurée du côté du fournisseur didentité externe.

Quand lutiliser

Cest la norme suggérée par AWS, et cela peut être la méthode par défaut si vous ne savez pas comment procéder. Néanmoins, il y a au moins quelques exigences que vous devez cocher pour tirer le meilleur parti de cette solution:

vous avez déjà configuré votre organisation AWS, et vous avez accès au compte root. Vous souhaitez conserver vos identités dans AWS SSO ou utiliser un fournisseur didentité pris en charge par lapprovisionnement automatique.

Notes finales

Nous avons donc jeté les bases pour accéder à un seul compte AWS, et maintenant vous devriez avoir les éléments pour choisir la meilleure méthode pour votre cas dutilisation spécifique. Nous lutiliserons pour couvrir le terrain de la gestion multi-comptes et des organisations AWS dans le prochain article de blog.

Leapp

Pour terminer, je conseille vivement à tout le monde dutiliser un outil qui les aide à stocker toutes les données nécessaires pour se connecter à leur compte AWS. Mon équipe et moi développons un outil open-source qui prend en charge tous ces cas dutilisation, alors nhésitez pas à vérifier:

Noovolari / leapp

Leapp est votre compagnon de tous les jours pour accéder à votre cloud; conçu pour fonctionner avec les API, les CLI et les SDK des fournisseurs de cloud. Cest…

github.com

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *