View a markdown version of this page

Gunakan GetSessionToken dengan AWS SDK atau CLI - AWS Identity and Access Management

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan GetSessionToken dengan AWS SDK atau CLI

Contoh kode berikut menunjukkan cara menggunakanGetSessionToken.

Contoh tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Anda dapat melihat tindakan ini dalam konteks dalam contoh kode berikut:

CLI
AWS CLI

Untuk mendapatkan satu set kredenSIAL jangka pendek untuk identitas IAM

Per get-session-token intah berikut mengambil satu set kredenSIAL jangka pendek untuk identitas IAM yang membuat panggilan. KredenSIAL yang dihasilkan dapat digunakan untuk permintaan di mana otentikasi multi-faktor (MFA) diperlukan oleh kebijakan. KredenSIAL kedaluwarsa 15 menit setelah dibuat.

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

Output:

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

Untuk informasi lebih lanjut, lihat Meminta Kredensial Keamanan Sementara dalam AWS Panduan Pengguna IAM.

PowerShell
Alat untuk PowerShell V4

Contoh 1: Mengembalikan Amazon.RuntimeAWSCredentials instance yang berisi kredenSIAL sementara yang valid untuk jangka waktu yang ditetapkan. KredenSIAL yang digunakan untuk meminta kredenSIAL sementara disimpulkan dari default shell saat ini. Untuk menentukan kredenSIAL lainnya, gunakan SecretKey parameter - ProfileName atau - AccessKey /-.

Get-STSSessionToken

Output:

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

Contoh 2: Mengembalikan Amazon.RuntimeAWSCredentials instance yang berisi kredenSIAL sementara yang valid selama satu jam. KredenSIAL yang digunakan untuk membuat permintaan diperoleh dari profil yang ditentukan.

Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile

Output:

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

Contoh 3: Mengembalikan Amazon.RuntimeAWSCredentials instance yang berisi kredenSIAL sementara yang valid selama satu jam menggunakan nomor identifikasi perangkat MFA yang terkait dengan akun yang kredensialnya ditentukan dalam profil 'myprofilename' dan nilai yang disediakan oleh perangkat.

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

Output:

AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....
  • Untuk detail API, lihat GetSessionToken di Referensi Alat AWS untuk PowerShell Cmdlet (V4).

Alat untuk PowerShell V5

Contoh 1: Mengembalikan Amazon.RuntimeAWSCredentials instance yang berisi kredenSIAL sementara yang valid untuk jangka waktu yang ditetapkan. KredenSIAL yang digunakan untuk meminta kredenSIAL sementara disimpulkan dari default shell saat ini. Untuk menentukan kredenSIAL lainnya, gunakan SecretKey parameter - ProfileName atau - AccessKey /-.

Get-STSSessionToken

Output:

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

Contoh 2: Mengembalikan Amazon.RuntimeAWSCredentials instance yang berisi kredenSIAL sementara yang valid selama satu jam. KredenSIAL yang digunakan untuk membuat permintaan diperoleh dari profil yang ditentukan.

Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile

Output:

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

Contoh 3: Mengembalikan Amazon.RuntimeAWSCredentials instance yang berisi kredenSIAL sementara yang valid selama satu jam menggunakan nomor identifikasi perangkat MFA yang terkait dengan akun yang kredensialnya ditentukan dalam profil 'myprofilename' dan nilai yang disediakan oleh perangkat.

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

Output:

AccessKeyId Expiration SecretAccessKey SessionToken ----------- ---------- --------------- ------------ EXAMPLEACCESSKEYID 2/16/2015 9:12:28 PM examplesecretaccesskey... SamPleTokeN.....
  • Untuk detail API, lihat GetSessionToken di Referensi Alat AWS untuk PowerShell Cmdlet (V5).

Python
SDK untuk Python (Boto3)
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

Dapatkan token sesi dengan meneruskan token MFA dan menggunakannya untuk membuat daftar bucket Amazon S3 untuk akun tersebut.

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)
  • Untuk detail API, lihat GetSessionToken di Refer AWS ensi API SDK for Python (Boto3).

Untuk daftar lengkap panduan pengembang AWS SDK dan contoh kode, lihatMenggunakan layanan ini dengan AWS SDK. Topik ini juga mencakup informasi tentang memulai dan detail tentang versi SDK sebelumnya.