または AWS SDK GetSessionTokenで使用する CLI - AWS SDK コード例

AWS Doc SDK Examples GitHub リポジトリには他にも AWS SDK例があります。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

または AWS SDK GetSessionTokenで使用する CLI

以下のコード例は、GetSessionToken の使用方法を示しています。

アクション例は、より大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。次のコード例で、このアクションのコンテキストを確認できます。

CLI
AWS CLI

IAM ID の短期認証情報のセットを取得するには

次のget-session-tokenコマンドは、呼び出しを行う IAM ID の短期認証情報のセットを取得します。生成された認証情報は、ポリシーで多要素認証 (MFA) が必要なリクエストに使用できます。認証情報は生成されてから 15 分後に失効します。

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

出力:

{ "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
のツール PowerShell

例 1: 一定期間有効な一時的な認証情報を含む Amazon.RuntimeAWSCredentials インスタンスを返します。一時的な認証情報をリクエストするために使用される認証情報は、現在のシェルのデフォルトから推測されます。他の認証情報を指定するには、- ProfileName または -AccessKey/- SecretKey パラメータを使用します。

Get-STSSessionToken

出力:

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

例 2: 1 時間有効な一時的な認証情報を含む Amazon.RuntimeAWSCredentials インスタンスを返します。リクエストを行うために使用される認証情報は、指定されたプロファイルから取得されます。

Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile

出力:

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

例 3: プロファイル「myprofilename」で認証情報が指定されているアカウントに関連付けられたMFAデバイスの識別番号と、デバイスによって提供される値を使用して、1 時間有効な一時的な認証情報を含む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 詳細については、「 コマンドレットリファレンスGetSessionToken」の「」を参照してください。 AWS Tools for PowerShell

Python
SDK Python 用 (Boto3)
注記

の詳細については、「」を参照してください 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 詳細については、AWS SDKPython (Boto3) APIリファレンス のGetSessionToken「」の「」を参照してください。