Utiliser des informations d'identification temporaires avec AWS les ressources - 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.

Utiliser des informations d'identification temporaires avec AWS les ressources

Vous pouvez utiliser des informations d'identification de sécurité temporaires pour effectuer des demandes programmatiques de AWS ressources à l'aide du AWS CLI ou AWS API (en utilisant le AWS SDKs). Les informations d'identification temporaires fournissent les mêmes autorisations que les informations de sécurité à long terme, telles que les informations IAM d'identification utilisateur. Toutefois, il existe quelques différences :

  • Lorsque vous passez un appel à l'aide d'informations d'identification de sécurité temporaires, l'appel doit inclure un jeton de session, qui est renvoyé avec ces informations d'identification temporaires. AWS utilise le jeton de session pour valider les informations d'identification de sécurité temporaires.

  • Les informations d'identification temporaires arrivent à expiration après un intervalle spécifique. Une fois les informations d'identification temporaires arrivées à expiration, tous les appels que vous effectuez avec elles échoueront. Vous devez donc générer un nouvel ensemble d'informations d'identification temporaires. Les informations d'identification temporaires ne peuvent pas être étendues ou actualisées au-delà de l'intervalle spécifié d'origine.

  • Lorsque vous utilisez des informations d'identification temporaires pour effectuer une demande, votre principal peut inclure un ensemble d’étiquettes. Ces balises proviennent de balises de session et de balises attachées au rôle que vous endossez. Pour de plus amples informations sur les balises de session, veuillez consulter Transmettez les tags de session AWS STS.

Si vous utilisez le AWS SDKs, le AWS Command Line Interface(AWS CLI) ou les Outils pour Windows PowerShell, la manière d'obtenir et d'utiliser les informations d'identification de sécurité temporaires varie selon le contexte. Si vous exécutez du code ou AWS CLI des PowerShell commandes Tools for Windows dans une EC2 instance, vous pouvez tirer parti des rôles pour AmazonEC2. Sinon, vous pouvez appeler an AWS STS APIpour obtenir les informations d'identification temporaires, puis les utiliser explicitement pour appeler AWS des services.

Note

Vous pouvez utiliser AWS Security Token Service (AWS STS) pour créer et fournir à des utilisateurs de confiance des informations d'identification de sécurité temporaires qui peuvent contrôler l'accès à vos AWS ressources. Pour plus d'informations sur AWS STS, voirInformations d'identification de sécurité temporaires dans IAM. AWS STS est un service global dont le point de terminaison par défaut est situé àhttps://sts.amazonaws.com. Ce point de terminaison se trouve dans la région USA Est (Virginie du Nord), bien que les informations d'identification que vous obtenez de ce point de terminaison et d'autres soient valides dans le monde entier. Ces informations d'identification fonctionnent avec les services et les ressources dans n'importe quelle région. Vous pouvez également choisir de AWS STS API passer des appels vers des terminaux situés dans l'une des régions prises en charge. Cela permet de réduire la latence en effectuant les demandes depuis les serveurs situés dans une région géographiquement plus proche de vous. Quelle que soit la région d'où proviennent vos informations d'identification, elles fonctionnent dans le monde entier. Pour de plus amples informations, veuillez consulter Gérer AWS STS dans un Région AWS.

Utilisation d'informations d'identification temporaires dans les EC2 instances Amazon

Si vous souhaitez exécuter des AWS CLI commandes ou du code dans une EC2 instance, il est recommandé d'utiliser des rôles pour Amazon pour obtenir des informations d'identificationEC2. Vous créez un IAM rôle qui spécifie les autorisations que vous souhaitez accorder aux applications qui s'exécutent sur les EC2 instances. Lorsque vous lancez l'instance, vous associez le rôle à cette instance.

Les PowerShell commandes Applications et Outils pour Windows exécutées sur l'instance peuvent ensuite obtenir des informations d'identification de sécurité temporaires automatiques à partir des métadonnées de l'instance. AWS CLI Vous n'avez pas besoin d'obtenir explicitement les informations d'identification de sécurité temporaires. Les outils AWS SDKs, AWS CLI, et pour Windows obtiennent PowerShell automatiquement les informations d'identification auprès du service de métadonnées d'EC2instance (IMDS) et les utilisent. Les informations d'identification temporaires disposent d'autorisations que vous définissez pour le rôle associé à l'instance.

Pour plus d'informations et d'exemples, consultez ce qui suit :

En utilisant des informations de sécurité temporaires avec le AWS SDKs

Pour utiliser des informations d'identification de sécurité temporaires dans le code, vous devez appeler un AWS STS API like par programme AssumeRole et extraire les informations d'identification et le jeton de session qui en résultent. Vous utilisez ensuite ces valeurs comme informations d'identification pour les appels suivants à AWS. L'exemple suivant montre un pseudocode expliquant comment utiliser les informations d'identification de sécurité temporaires si vous utilisez un : AWS SDK

assumeRoleResult = AssumeRole(role-arn); tempCredentials = new SessionAWSCredentials( assumeRoleResult.AccessKeyId, assumeRoleResult.SecretAccessKey, assumeRoleResult.SessionToken); s3Request = CreateAmazonS3Client(tempCredentials);

Pour un exemple écrit en Python (en utilisant l'AWS SDK for Python (Boto)), veuillez consulter Basculer vers un IAM rôle (AWS API). Cet exemple montre comment appeler AssumeRole pour obtenir des informations d'identification de sécurité temporaires, puis utiliser ces informations d'identification pour appeler Amazon S3.

Pour plus de détails sur la procédure AssumeRole d'GetFederationTokenappel et sur les autres API opérations, consultez la AWS Security Token Service APIréférence. Pour plus d'informations sur l'obtention des informations d'identification de sécurité temporaires et du jeton de session à partir du résultat, consultez la documentation du produit avec SDK lequel vous travaillez. Vous pouvez trouver la documentation de tous AWS SDKs sur la page de AWS documentation principale, dans la section SDKset boîtes à outils.

Vous devez vérifier que vous obtenez un nouvel ensemble d'informations d'identification avant que les anciennes arrivent à expiration. Dans certains SDKs cas, vous pouvez utiliser un fournisseur qui gère le processus d'actualisation des informations d'identification pour vous ; consultez la documentation de celle que SDK vous utilisez.

Utilisation d'informations d'identification de sécurité temporaires avec la AWS CLI

Vous pouvez utiliser les informations d'identification de sécurité temporaires avec l’interface AWS CLI. Cela peut vous être utile lors de test de politiques.

En utilisant le AWS CLI, vous pouvez appeler un AWS STS APIlike AssumeRole ou GetFederationToken puis capturer le résultat obtenu. L'exemple suivant illustre un appel à AssumeRole qui envoie la sortie dans un fichier. Dans l'exemple, le profile paramètre est supposé être un profil dans le fichier AWS CLI de configuration. Il est également supposé faire référence aux informations d'identification IAM d'un utilisateur autorisé à assumer le rôle.

aws sts assume-role --role-arn arn:aws:iam::123456789012:role/role-name --role-session-name "RoleSession1" --profile IAM-user-name > assume-role-output.txt

Une fois l'exécution de la commande terminée, vous pouvez extraire l'ID de clé d'accès, la clé d'accès secrète et le jeton de session de la variable. Vous pouvez le faire manuellement ou à l'aide d'un script. Vous pouvez ensuite affecter ces valeurs aux variables d'environnement.

Lorsque vous exécutez des AWS CLI commandes, les AWS CLI informations d'identification sont recherchées dans un ordre spécifique, d'abord dans les variables d'environnement, puis dans le fichier de configuration. Par conséquent, une fois que vous avez placé les informations d'identification temporaires dans les variables d'environnement, les AWS CLI utilise par défaut. (Si vous spécifiez un profile paramètre dans la commande, les variables d'environnement AWS CLI sont ignorées. Ils apparaissent plutôt AWS CLI dans le fichier de configuration, qui vous permet de remplacer les informations d'identification des variables d'environnement si nécessaire.)

L'exemple suivant montre comment définir les variables d'environnement pour les informations d'identification de sécurité temporaires, puis appeler une AWS CLI commande. Comme aucun profile paramètre n'est inclus dans la AWS CLI commande, AWS CLI elle recherche d'abord les informations d'identification dans les variables d'environnement et utilise donc les informations d'identification temporaires.

Linux

$ export AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of session token> $ aws ec2 describe-instances --region us-west-1

Windows

C:\> SET AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE C:\> SET AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> SET AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of token> C:\> aws ec2 describe-instances --region us-west-1

Utilisation d'informations d'identification de sécurité temporaires pour les API opérations

Si vous envoyez des HTTPS API demandes directes à AWS, vous pouvez signer ces demandes avec les informations de sécurité temporaires que vous obtenez du AWS Security Token Service (AWS STS). Pour ce faire, vous utilisez l'ID de clé d'accès et la clé d'accès secrète que vous recevez AWS STS. Vous utilisez l'ID de clé d'accès et la clé d'accès secrète de la même façon que vous utiliseriez des informations d'identification à long terme pour signer une demande. Vous ajoutez également à votre API demande le jeton de session que vous recevez AWS STS. Vous ajoutez le jeton de session à un HTTP en-tête ou à un paramètre de chaîne de requête nomméX-Amz-Security-Token. Vous ajoutez le jeton de session à l'HTTPen-tête ou au paramètre de chaîne de requête, mais pas aux deux. Pour plus d'informations sur les HTTPS API demandes de signature, consultez la section AWS API Demandes de signature dans le Références générales AWS.

En savoir plus

Pour plus d'informations sur l'utilisation AWS STS avec d'autres AWS services, consultez les liens suivants :