Clés d'accès sécurisées - AWS Identity and Access Management

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Clés d'accès sécurisées

Toute personne disposant de vos clés d'accès a le même niveau d'accès à vos AWS ressources que vous. Par conséquent, AWS elle met tout en œuvre pour protéger vos clés d'accès et, conformément à notre modèle de responsabilité partagée, vous devriez faire de même.

Développez les sections suivantes pour obtenir des conseils qui vous aideront à protéger vos clés d'accès.

Note

Votre organisation peut avoir des exigences de sécurité et des stratégies différentes de celles décrites dans cette rubrique. Les suggestions fournies ici doivent être considérées comme des directives générales.

Le meilleur moyen de protéger votre compte est de n'avoir aucune clé d'accès pour votre Utilisateur racine d'un compte AWS. À moins d'avoir impérativement besoin des clés d'accès de l'utilisateur root (ce qui est rare), il est préférable de ne pas les générer. Créez plutôt un utilisateur administratif pour les tâches administratives quotidiennes. AWS IAM Identity Center Pour plus d'informations sur la création d'un utilisateur administratif dans IAM Identity Center, consultez Getting started dans le guide de l'utilisateur d'IAMIdentity Center.

Si vous possédez déjà des clés d'accès utilisateur root pour votre compte, nous vous recommandons de procéder comme suit : recherchez les emplacements de vos applications où vous utilisez actuellement des clés d'accès (le cas échéant) et remplacez les clés d'accès utilisateur root par des clés IAM d'accès utilisateur. Ensuite, désactivez et supprimez les clés d'accès de l'utilisateur root. Pour plus d'informations sur les modalités de mise à jour des clés d'accès, veuillez consulter Mettre à jour les clés d'accès.

Dans de nombreux scénarios, vous n'avez pas besoin de clés d'accès à long terme qui n'expirent jamais (comme c'est le cas pour un IAM utilisateur). Vous pouvez plutôt créer des IAM rôles et générer des informations d'identification de sécurité temporaires. Les informations d'identification de sécurité temporaires consistent en un ID de clé d'accès et une clé d'accès secrète, mais elles comprennent également un jeton de sécurité qui indique la date d'expiration des informations d'identification.

Les clés d'accès à long terme, telles que celles associées IAM aux utilisateurs et à l'utilisateur root, restent valides jusqu'à ce que vous les révoquiez manuellement. Cependant, les informations d'identification de sécurité temporaires obtenues par le biais des IAM rôles et d'autres fonctionnalités AWS Security Token Service expirent après un court laps de temps. Utilisez les informations d'identification de sécurité temporaires pour vous aider à réduire les risques en cas de compromission accidentelle des informations d'identification.

Utilisez un IAM rôle et des informations d'identification de sécurité temporaires dans les scénarios suivants :

  • Vous avez une application ou AWS CLI des scripts exécutés sur une EC2 instance Amazon. N'utilisez pas les clés d'accès directement dans votre application. Ne transmettez pas les clés d'accès à l'application, ne les intégrez pas à l'application et ne laissez pas l'application les lire depuis n'importe quelle source. Définissez plutôt un IAM rôle doté des autorisations appropriées pour votre application et lancez l'instance Amazon Elastic Compute Cloud (AmazonEC2) avec des rôles pour EC2. Cela associe un IAM rôle à l'EC2instance Amazon. Cette pratique permet également à l'application d'obtenir des informations d'identification de sécurité temporaires qu'elle peut à son tour utiliser pour effectuer des appels à AWS. Le AWS SDKs et le AWS Command Line Interface (AWS CLI) peuvent obtenir automatiquement des informations d'identification temporaires à partir du rôle.

  • Vous devez accorder l'accès entre comptes. Utilisez un IAM rôle pour établir la confiance entre les comptes, puis accordez aux utilisateurs d'un compte des autorisations limitées pour accéder au compte approuvé. Pour de plus amples informations, veuillez consulter IAMtutoriel : Déléguer l'accès à travers AWS comptes utilisant des IAM rôles.

  • Vous disposez d'une application mobile. N'intégrez pas les clés d'accès à l'application, même dans un espace de stockage chiffré. Au lieu de cela, utilisez Amazon Cognito pour gérer les identités de l'utilisateur dans votre application. Ce service vous permet d'authentifier les utilisateurs à l'aide de Login with Amazon, Facebook, Google ou tout autre fournisseur d'identité compatible avec OpenID OIDC Connect (). Vous pouvez ensuite utiliser le fournisseur d'informations d'identification d'Amazon Cognito pour gérer les informations d'identification que votre application utilise pour effectuer des requêtes à AWS.

  • Vous souhaitez vous fédérer dans la SAML version 2.0 AWS et votre organisation la soutient. Si vous travaillez pour une organisation disposant d'un fournisseur d'identité compatible avec la SAML version 2.0, configurez le fournisseur à utiliserSAML. Vous pouvez l'utiliser SAML pour échanger des informations d'authentification avec AWS et récupérer un ensemble d'informations de sécurité temporaires. Pour de plus amples informations, veuillez consulter SAMLfédération 2.0.

  • Vous souhaitez vous fédérer dans un magasin d'identités sur site AWS et votre organisation dispose d'un magasin d'identités. Si les utilisateurs peuvent s'authentifier au sein de votre organisation, vous pouvez créer une application qui peut leur délivrer des informations d'identification de sécurité temporaires pour accéder aux AWS ressources. Pour de plus amples informations, veuillez consulter Permettre à un courtier d'identité personnalisé d'accéder à la AWS console.

Note

Utilisez-vous une EC2 instance Amazon avec une application qui nécessite un accès programmatique aux AWS ressources ? Dans ce cas, utilisez IAMdes rôles pour EC2.

Si vous devez créer des clés d'accès pour un accès programmatique AWS, créez-les pour les IAM utilisateurs, en leur accordant uniquement les autorisations dont ils ont besoin.

Respectez les précautions suivantes pour protéger les clés IAM d'accès des utilisateurs :

  • N'intégrez pas de clés d'accès directement dans le code. Les outils de ligne de AWS commande AWS SDKset les outils de ligne de commande vous permettent de placer les clés d'accès à des emplacements connus afin de ne pas avoir à les conserver dans le code.

    Placez les clés d'accès à l'un des emplacements suivants :

    • Le fichier AWS d'informations d'identification. Les AWS SDKs et utilisent AWS CLI automatiquement les informations d'identification que vous stockez dans le fichier AWS d'informations d'identification.

      Pour plus d'informations sur l'utilisation du fichier AWS d'informations d'identification, consultez la documentation de votreSDK. Les exemples incluent Définir les AWS informations d'identification et la région dans le guide du AWS SDK for Java développeur et les fichiers de configuration et d'identification dans le guide de l'AWS Command Line Interface utilisateur.

      Pour stocker les informations d'identification de AWS SDK for .NET et de AWS Tools for Windows PowerShell, nous vous recommandons d'utiliser le SDK Store. Pour plus d'informations, consultez la section Utilisation du SDK Store dans le guide du AWS SDK for .NET développeur.

    • Variables d'environnement. Sur un système à locataires multiples, choisissez des variables d'environnement utilisateur, et non pas des variables d'environnement système.

      Pour plus d'informations sur l'utilisation des variables d'environnement pour stocker les informations d'identification, veuillez consulter la rubrique Environment Variables dans le Guide de l'utilisateur AWS Command Line Interface .

  • Utilisez des clés d'accès différentes pour chaque application. Procédez ainsi afin de pouvoir isoler les autorisations et révoquer les clés d'accès pour des applications individuelles si elles sont compromises. Le fait d'avoir des clés d'accès distinctes pour différentes applications génère également des entrées distinctes dans les fichiers journaux AWS CloudTrail. Cette configuration vous permet d'identifier plus facilement quelle application a effectué des actions spécifiques.

  • Mettez à jour les clés d'accès en cas de besoin. Si la clé d'accès risque d'être compromise, mettez-la à jour et supprimez la clé d'accès précédente. Pour plus d’informations, consultez Mettre à jour les clés d'accès.

  • Supprimez les clés d'accès inutilisées. Si un utilisateur quitte votre organisation, supprimez l'IAMutilisateur correspondant afin qu'il ne puisse plus accéder à vos ressources. Pour savoir quand une clé d'accès a été utilisée pour la dernière fois, utilisez la GetAccessKeyLastUsedAPI(AWS CLI commande : aws iam get-access-key-last-used).

  • Utilisez des informations d'identification temporaires et configurez l'authentification multifactorielle pour vos API opérations les plus sensibles. IAMLes politiques vous permettent de définir les API opérations qu'un utilisateur est autorisé à effectuer. Dans certains cas, vous souhaiterez peut-être bénéficier d'une sécurité supplémentaire en exigeant que les utilisateurs soient authentifiés AWS MFA avant de les autoriser à effectuer des actions particulièrement sensibles. Par exemple, vous pouvez avoir une politique qui autorise un utilisateur à effectuer les StopInstances actions Amazon EC2 RunInstancesDescribeInstances, et. Mais vous souhaiterez peut-être restreindre une action destructrice telle que TerminateInstances et vous assurer que les utilisateurs ne peuvent effectuer cette action que s'ils s'authentifient auprès d'un AWS MFA appareil. Pour de plus amples informations, veuillez consulter APIAccès sécurisé avec MFA.

Vous pouvez accéder à un ensemble limité de AWS services et de fonctionnalités à l'aide de l'application AWS mobile. L'application mobile vous aide à prendre en charge la réponse aux incidents pendant vos déplacements. Pour de plus amples informations et pour télécharger l'application, veuillez consulter Console AWS pour les applications mobiles.

Vous pouvez vous connecter à l'application mobile à l'aide du mot de passe de votre console ou de vos clés d'accès. En guise de bonne pratique, n'utilisez pas les clés d'accès de l'utilisateur root. Nous vous recommandons vivement, en plus d'utiliser un mot de passe ou un verrou biométrique sur votre appareil mobile, de créer un IAM utilisateur spécifiquement chargé de gérer les AWS ressources à l'aide de l'application mobile. Si vous perdez votre appareil mobile, vous pouvez supprimer l'accès de IAM l'utilisateur.

Pour vous connecter à l'aide des clés d'accès (application mobile)
  1. Ouvrez l'application sur votre appareil mobile.

  2. Si c'est la première fois que vous ajoutez une identité à l'appareil, choisissez Ajouter une identité, puis cliquez sur Clés d'accès.

    Si vous vous êtes déjà connecté à l'aide d'une autre identité, choisissez l'icône de menu et choisissez Changer d'identité. Choisissez ensuite Se connecter en tant qu'identité différente, puis Clés d'accès.

  3. Sur la page Clés d'accès, saisissez vos informations :

    • ID de clé d'accès : saisissez votre ID de clé d'accès.

    • Clé d'accès secrète : saisissez votre clé d'accès secrète.

    • Nom de l'identité : saisissez le nom de l'identité qui apparaîtra dans l'application mobile. Il n'est pas nécessaire que cela corresponde à votre nom IAM d'utilisateur.

    • Identité PIN — Créez un numéro d'identification personnel (PIN) que vous utiliserez lors de vos futures connexions.

      Note

      Si vous activez la biométrie pour l'application AWS mobile, vous serez invité à utiliser votre empreinte digitale ou votre reconnaissance faciale pour la vérification au lieu duPIN. Si les données biométriques échouent, vous serez peut-être invité à les PIN remplacer.

  4. Choisissez Vérifier et ajouter des clés.

    Vous pouvez désormais accéder à un ensemble sélectionné de vos ressources à l'aide de l'application mobile.

Les rubriques suivantes fournissent des conseils pour configurer AWS SDKs et utiliser AWS CLI les clés d'accès :

Audit des clés d'accès

Vous pouvez vérifier les clés AWS d'accès contenues dans votre code pour déterminer si elles proviennent d'un compte que vous possédez. Vous pouvez transmettre un identifiant de clé d'accès à l'aide de la aws sts get-access-key-info AWS CLI commande ou de l'GetAccessKeyInfo AWS APIopération.

Les AWS API opérations AWS CLI et renvoient l'identifiant Compte AWS auquel appartient la clé d'accès. Les clés d'accès IDs commençant par AKIA sont des informations d'identification à long terme pour un IAM utilisateur ou un Utilisateur racine d'un compte AWS. Les clés d'accès IDs commençant par ASIA sont des informations d'identification temporaires créées à l'aide d' AWS STS opérations. Si le compte de la réponse vous appartient, vous pouvez vous connecter en tant qu'utilisateur racine et vérifier vos clés d'accès d'utilisateur racine. Vous pouvez ensuite extraire un rapport d'identification pour savoir à quel IAM utilisateur appartient les clés. Pour savoir qui a demandé les informations d'identification temporaires pour une clé d'ASIAaccès, consultez les AWS STS événements dans vos CloudTrail journaux.

Pour des raisons de sécurité, vous pouvez consulter AWS CloudTrail les journaux pour savoir qui a effectué une action dans AWS. Vous pouvez utiliser la clé de condition sts:SourceIdentity dans la politique d'approbation de rôle pour exiger des utilisateurs qu'ils spécifient une identité lorsqu'ils endossent un rôle. Par exemple, vous pouvez demander aux IAM utilisateurs de spécifier leur propre nom d'utilisateur comme identité source. Cela peut vous aider à déterminer quel utilisateur a effectué une action spécifique dans AWS. Pour de plus amples informations, veuillez consulter sts:SourceIdentity.

Cette opération n'indique pas l'état de la clé d'accès. La clé peut être active, inactive ou supprimée. Les clés actives peuvent ne pas avoir les autorisations nécessaires pour effectuer une opération. La fourniture d'une clé d'accès supprimée peut renvoyer une erreur indiquant que la clé n'existe pas.