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.
Toute personne en possession 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
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, voir Getting started dans le guide de l'utilisateur d'IAM Identity Center.
Si vous disposez déjà de clés d'accès d'utilisateur root pour votre compte, nous vous recommandons ce qui suit : recherchez dans vos applications les endroits où vous utilisez actuellement des clés d'accès (le cas échéant) et remplacez les clés d'accès de l'utilisateur root par celles de l'utilisateur IAM. 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 Mise à jour des clés d’accès.
Dans de nombreux cas, vous n'avez pas besoin d'une clé d'accès à long terme qui n'expire jamais (comme dans le cas d'un utilisateur IAM). Au lieu de cela, vous pouvez créer des rôles IAM 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 aux utilisateurs IAM et à l'utilisateur root, demeurent valides jusqu'à ce que vous les révoquiez manuellement. Toutefois, les informations d'identification de sécurité temporaires obtenues via les rôles IAM et d'autres fonctionnalités de l'IAM 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 rôle IAM et les informations d'identification de sécurité temporaires dans les cas suivants :
-
Vous avez une application ou AWS CLI des scripts qui s'exécutent 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 rôle IAM doté des autorisations appropriées pour votre application et lancez l'instance Amazon Elastic Compute Cloud (Amazon EC2) avec des rôles pour EC2. Cela associe un rôle IAM à l' EC2 instance 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 rôle IAM pour établir une relation d'approbation 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 entre les AWS comptes à l'aide de 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 Connect (OIDC). 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 le protocole SAML AWS 2.0 et votre organisation le prend en charge. Si vous travaillez pour une organisation disposant d'un fournisseur d'identité prenant en charge SAML 2.0, configurez le fournisseur pour qu'il utilise SAML. Vous pouvez utiliser le protocole SAML pour échanger des informations d'authentification avec un ensemble d'informations d'identification de sécurité temporaires AWS et en récupérer un. Pour de plus amples informations, veuillez consulter Fédération SAML 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.
-
Utilisez les conditions des politiques IAM pour n'autoriser l'accès qu'à partir des réseaux attendus. Vous pouvez limiter où et comment vos clés d'accès sont utilisées en mettant en œuvre des politiques IAM avec des conditions qui spécifient et n'autorisent que les réseaux attendus, tels que vos adresses IP publiques ou vos clouds privés virtuels (VPCs). Ainsi, vous savez que les clés d'accès ne peuvent être utilisées qu'à partir de réseaux attendus et acceptables.
Note
Utilisez-vous une EC2 instance Amazon avec une application qui nécessite un accès programmatique aux AWS ressources ? Dans ce cas, utilisez les rôles IAM pour EC2.
Si vous devez créer des clés d'accès pour un accès programmatique AWS, créez-les pour les utilisateurs IAM, en leur accordant uniquement les autorisations dont ils ont besoin.
Respectez les précautions suivantes pour protéger les clés d'accès des utilisateurs IAM :
-
N'intégrez pas de clés d'accès directement dans le code. Les outils de ligne de AWS commande AWS SDKs
et 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 votre SDK. Les exemples incluent la définition des AWS informations d'identification et de 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 AWS Command Line Interface l'utilisateur.
Pour stocker les informations d'identification des AWS SDK for .NET et AWS Tools for Windows PowerShell, nous vous recommandons d'utiliser le SDK Store. Pour plus d'informations, veuillez consulter la rubrique Using the SDK Store dans le Guide du développeur AWS SDK for .NET .
-
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 Mise à jour des clés d’accès.
-
Supprimez les clés d'accès inutilisées. Si un utilisateur quitte votre organisation, supprimez l'utilisateur IAM 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 l'
GetAccessKeyLastUsed
API (AWS CLI command :aws iam get-access-key-last-used
). -
Utilisez des informations d'identification temporaires et configurez l'authentification multifactorielle pour vos opérations d'API les plus sensibles. Avec les politiques IAM, vous pouvez spécifier quelles opérations d'API un utilisateur est autorisé à appeler. Dans certains cas, vous souhaiterez peut-être bénéficier d'une sécurité supplémentaire en exigeant que les utilisateurs soient authentifiés par le biais de la 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 EC2RunInstances
DescribeInstances
, et. Mais vous souhaiterez peut-être restreindre une action destructrice telle queTerminateInstances
et vous assurer que les utilisateurs ne peuvent effectuer cette action que s'ils s'authentifient auprès d'un périphérique AWS MFA. 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 utilisateur IAM 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 l'utilisateur IAM.
Pour vous connecter à l'aide des clés d'accès (application mobile)
-
Ouvrez l'application sur votre appareil mobile.
-
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.
-
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. Elle ne doit pas nécessairement correspondre à votre nom d'utilisateur IAM.
-
Code PIN d'identité : créez un numéro d'identification personnel (PIN) que vous utiliserez pour les prochaines 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 du code PIN. Si la biométrie échoue, vous pouvez être invité à entrer le code PIN à la place.
-
-
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 :
-
Définissez AWS les informations d'identification et la région dans le guide du AWS SDK for Java développeur
-
Using the SDK Store dans le Guide du développeur AWS SDK for .NET
-
Providing Credentials to the SDK dans le Guide du développeur AWS SDK for PHP
-
Configuration
dans la documentation de Boto 3 (AWS SDK pour Python) -
Using AWS Credentials dans le Guide de l'utilisateur AWS Tools for Windows PowerShell
-
Configuration and credential files dans le Guide de l'utilisateur AWS Command Line Interface
-
Granting access using an IAM role dans le Guide du développeur AWS SDK for .NET
-
Configurez les rôles IAM pour Amazon EC2 dans AWS SDK for Java 2.x
Utilisation des clés d'accès et des informations d'identification par clé secrète pour l'accès à la console
Il est possible d'utiliser les informations d'identification par clé d'accès et clé secrète pour AWS Management Console
un accès direct, et pas seulement le AWS CLI. Cela peut être réalisé à l'aide de l'appel d' AWS STS GetFederationToken
API. En créant une URL de console à l'aide des informations d'identification temporaires et du jeton fournis parGetFederationToken
, les principaux IAM peuvent accéder à la console. Pour de plus amples informations, veuillez consulter Permettre à un courtier d'identité personnalisé d'accéder à la AWS console.
Il convient de préciser que lorsque vous vous connectez directement à la console à l'aide des informations d'identification de l'utilisateur IAM ou root avec l'authentification MFA activée, la MFA sera requise. Toutefois, si la méthode décrite ci-dessus (en utilisant des informations d'identification temporaires avecGetFederationToken
) est utilisée, la MFA ne sera PAS requise.
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'opération GetAccessKeyInfo
AWS API.
Les opérations AWS CLI et AWS API renvoient l'ID du 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 utilisateur IAM 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. Ensuite, vous pouvez extraire un rapport d'informations d'identification pour savoir quel utilisateur IAM possède les clés. Pour savoir qui a demandé les informations d'identification temporaires pour une clé d'ASIA
accè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 exiger que les utilisateurs IAM spécifient leur propre nom d'utilisateur comme identité de 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.