文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
GetSessionToken
搭配 a AWS SDK 或 CLI 使用
下列程式碼範例示範如何使用 GetSessionToken
。
動作範例是大型程式的程式碼摘錄,必須在內容中執行。您可以在下列程式碼範例的內容中看到此動作:
- CLI
-
- AWS CLI
-
取得一組 IAM 身分的短期憑證
下列
get-session-token
命令會擷取一組短期憑證,用於進行呼叫的 IAM 身分。產生的憑證可用於政策需要多重要素身分驗證 (MFA) 的請求。憑證會在產生後的 15 分鐘過期。aws sts get-session-token \ --duration-seconds
900
\ --serial-number"YourMFADeviceSerialNumber"
\ --token-code123456
輸出:
{ "Credentials": { "AccessKeyId": "ASIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", "SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE", "Expiration": "2020-05-19T18:06:10+00:00" } }
如需詳細資訊,請參閱 AWS IAM 使用者指南中的請求暫時安全憑證。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetSessionToken
。
-
- PowerShell
-
- for PowerShell 工具
-
範例 1:傳回包含暫時憑證的
Amazon.RuntimeAWSCredentials
執行個體,在設定的期間內有效。用於請求臨時憑證的憑證是從目前的 Shell 預設值推斷的。若要指定其他憑證,請使用 -ProfileName 或 -AccessKey/-SecretKey 參數。Get-STSSessionToken
輸出:
AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....
範例 2:傳回包含一小時有效臨時憑證的
Amazon.RuntimeAWSCredentials
執行個體。用於提出請求的憑證是從指定的設定檔取得。Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile
輸出:
AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....
範例 3:使用與帳戶相關聯的 MFA 裝置識別號碼,以及在設定檔 'myprofilename' 中指定憑證,以及裝置提供的值,傳回包含有效一小時的臨時憑證的
Amazon.RuntimeAWSCredentials
執行個體。Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456
輸出:
AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 GetSessionToken。
-
- Python
-
- SDK for Python (Boto3)
-
注意
還有更多 on GitHub。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 透過傳遞 MFA 權杖來取得工作階段權杖,並使用它來列出帳戶的 Amazon S3 儲存貯體。
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)
-
如需 API 詳細資訊,請參閱 GetSessionToken AWS SDK for Python (Boto3) Word 參考中的 API。
-