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.
Utilisation d'informations d'identification temporaires avec des ressources AWS
Vous pouvez utiliser des informations d'identification de sécurité temporaires pour effectuer des demandes programmatiques de AWS ressources à l'aide de l' AWS API AWS CLI or (à l'aide des AWS SDK
-
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 Transmission des balises de session AWS STS.
Si vous utilisez les AWS SDK
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 d'effectuer des appels d' AWS STS API vers des points de terminaison 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 plus d’informations, veuillez consulter Gérer AWS STS dans un Région AWS.
Table des matières
- Utilisation d'informations d'identification temporaires dans les instances Amazon EC2
- Utilisation d'informations d'identification de sécurité temporaires avec les kits SDK AWS
- Utilisation d'informations d'identification de sécurité temporaires avec la AWS CLI
- Utilisation d'informations d'identification de sécurité temporaires avec des opérations d'API
- En savoir plus
Utilisation d'informations d'identification temporaires dans les instances Amazon EC2
Si vous souhaitez exécuter des AWS CLI commandes ou du code dans une instance EC2, il est recommandé d'utiliser des rôles pour Amazon EC2 pour obtenir des informations d'identification. Vous créez un rôle IAM qui spécifie les autorisations que vous souhaitez accorder aux applications qui s'exécutent sur les instances EC2. Lorsque vous lancez l'instance, vous associez le rôle à cette instance.
Les PowerShell commandes Applications et Outils pour Windows qui s'exécutent 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 AWS SDK et les AWS CLI outils pour Windows obtiennent PowerShell automatiquement les informations d'identification du service de métadonnées d'instance EC2 (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 :
-
Utilisation des rôles IAM pour accorder l'accès aux AWS ressources sur Amazon Elastic Compute Cloud — AWS SDK for Java
-
Octroi d'accès à l'aide d'un rôle IAM — AWS SDK for .NET
-
Création d'un rôle — AWS SDK for Ruby
Utilisation d'informations d'identification de sécurité temporaires avec les kits SDK AWS
Pour utiliser des informations d'identification de sécurité temporaires dans le code, vous appelez par programmation une AWS STS API similaire AssumeRole
et vous extrayez 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)AssumeRole
pour obtenir des informations d'identification de sécurité temporaires, puis utiliser ces informations d'identification pour appeler Amazon S3.
Pour plus d'informations sur la façon d'appeler AssumeRole
, GetFederationToken
et d'autres opérations d'API, consultez la Référence sur l'API AWS Security Token Service. Pour plus d'informations sur l'obtention des informations d'identification de sécurité temporaires et du jeton de session à partir des résultats, consultez la documentation du kit SDK que vous utilisez. Vous trouverez la documentation de tous les AWS SDK sur la page de AWS
documentation
Vous devez vérifier que vous obtenez un nouvel ensemble d'informations d'identification avant que les anciennes arrivent à expiration. Dans certains kits SDK, vous pouvez utiliser un fournisseur qui gère le processus d'actualisation des informations d'identification pour vous. Consultez la documentation du kit SDK que 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.
À l'aide de l'AWS CLI, vous pouvez appeler une API AWS STS telle que AssumeRole
ou GetFederationToken
, puis capturer la sortie obtenue. 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é référencer les informations d'identification d'un utilisateur IAM qui a les autorisations d'endosser le rôle.
aws sts assume-role --role-arn arn:aws:iam::123456789012:role/
role-name
--role-session-name "RoleSession1" --profileIAM-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, elles AWS CLI utilisent ces informations d'identification 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 avec des opérations d'API
Si vous envoyez des demandes d'API HTTPS directes à AWS, vous pouvez signer ces demandes avec les informations d'identification 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 demande d'API le jeton de session que vous recevez AWS STS. Vous ajoutez le jeton de session à un en-tête HTTP ou à un paramètre de chaîne de requête appelé X-Amz-Security-Token
. Vous ajoutez le jeton de session à l'en-tête HTTP ou au paramètre de chaîne de requête, mais pas les deux. Pour plus d'informations sur la signature des demandes d'API HTTPS, consultez la section Signature des demandes d' AWS API 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 :
-
Amazon S3. Veuillez consulter Making Requests Using IAM User Temporary Credentials (Envoyer des demandes au moyen d'informations d'identification temporaires de l'utilisateur IAM) ou Making Requests Using Federated User Temporary Credentials (Envoyer des demandes au moyen d'informations d'identification temporaires de l'utilisateur fédéré) dans le Guide de l'utilisateur Amazon Simple Storage Service.
-
Amazon SNS. Consultez la section Utilisation de politiques basées sur l'identité avec Amazon SNS dans le manuel du développeur Amazon Simple Notification Service.
-
Amazon SQS. Consultez la section Gestion des identités et des accès dans Amazon SQS dans le manuel Amazon Simple Queue Service Developer Guide.
-
Amazon SimpleDB. Veuillez consulter Using Temporary Security Credentials (Utilisation d'informations d'identification de sécurité temporaires) dans le Manuel du développeur Amazon SimpleDB.