À utiliser GetSessionToken avec un AWS SDK ou CLI - Exemples de code de l'AWS SDK

D'autres AWS SDK exemples sont disponibles dans le GitHub dépôt AWS Doc SDK Examples.

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 GetSessionToken avec un AWS SDK ou CLI

Les exemples de code suivants montrent comment utiliserGetSessionToken.

Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant :

CLI
AWS CLI

Pour obtenir un ensemble d'informations d'identification à court terme pour une IAM identité

La get-session-token commande suivante permet de récupérer un ensemble d'informations d'identification à court terme pour l'IAMidentité qui a effectué l'appel. Les informations d'identification obtenues peuvent être utilisées pour les demandes où l'authentification multifactorielle (MFA) est requise par la politique. Les informations d’identification expirent 15 minutes après leur création.

aws sts get-session-token \ --duration-seconds 900 \ --serial-number "YourMFADeviceSerialNumber" \ --token-code 123456

Sortie :

{ "Credentials": { "AccessKeyId": "ASIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", "SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE", "Expiration": "2020-05-19T18:06:10+00:00" } }

Pour plus d'informations, consultez la section Demande d'informations d'identification de sécurité temporaires dans le guide de AWS IAM l'utilisateur.

  • Pour API plus de détails, voir GetSessionTokenla section Référence des AWS CLI commandes.

PowerShell
Outils pour PowerShell

Exemple 1 : renvoie une Amazon.RuntimeAWSCredentials instance contenant des informations d'identification temporaires valides pendant une période définie. Les informations d'identification utilisées pour demander des informations d'identification temporaires sont déduites des paramètres par défaut actuels du shell. Pour spécifier d'autres informations d'identification, utilisez les SecretKey paramètres - ProfileName ou - AccessKey /-.

Get-STSSessionToken

Sortie :

AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....

Exemple 2 : renvoie une Amazon.RuntimeAWSCredentials instance contenant des informations d'identification temporaires valides pendant une heure. Les informations d'identification utilisées pour effectuer la demande sont obtenues à partir du profil spécifié.

Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile

Sortie :

AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....

Exemple 3 : renvoie une Amazon.RuntimeAWSCredentials instance contenant des informations d'identification temporaires valides pendant une heure en utilisant le numéro d'identification de l'MFAappareil associé au compte dont les informations d'identification sont spécifiées dans le profil « myprofilename » et la valeur fournie par l'appareil.

Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456

Sortie :

AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....
  • Pour API plus de détails, consultez la section GetSessionTokenRéférence des AWS Tools for PowerShell applets de commande.

Python
SDKpour Python (Boto3)
Note

Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

Obtenez un jeton de session en transmettant un MFA jeton et utilisez-le pour répertorier les compartiments Amazon S3 pour le compte.

def list_buckets_with_session_token_with_mfa(mfa_serial_number, mfa_totp, sts_client): """ Gets a session token with MFA credentials and uses the temporary session credentials to list Amazon S3 buckets. Requires an MFA device serial number and token. :param mfa_serial_number: The serial number of the MFA device. For a virtual MFA device, this is an Amazon Resource Name (ARN). :param mfa_totp: A time-based, one-time password issued by the MFA device. :param sts_client: A Boto3 STS instance that has permission to assume the role. """ if mfa_serial_number is not None: response = sts_client.get_session_token( SerialNumber=mfa_serial_number, TokenCode=mfa_totp ) else: response = sts_client.get_session_token() temp_credentials = response["Credentials"] s3_resource = boto3.resource( "s3", aws_access_key_id=temp_credentials["AccessKeyId"], aws_secret_access_key=temp_credentials["SecretAccessKey"], aws_session_token=temp_credentials["SessionToken"], ) print(f"Buckets for the account:") for bucket in s3_resource.buckets.all(): print(bucket.name)
  • Pour API plus de détails, reportez-vous GetSessionTokenà la section AWS SDKpour Python (Boto3) Reference. API