

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

# Minta kredentif keamanan sementara
<a name="id_credentials_temp_request"></a>

Untuk meminta kredentif keamanan sementara, Anda dapat menggunakan operasi AWS Security Token Service (AWS STS) di AWS API. Ini termasuk operasi untuk membuat dan menyediakan kredentif keamanan sementara kepada pengguna tepercaya yang dapat mengontrol akses ke AWS sumber daya Anda. Untuk informasi lebih lanjut tentang AWS STS, lihat[Kredensial keamanan sementara di IAM](id_credentials_temp.md). Untuk mempelajari lebih lanjut tentang berbagai metode berbeda yang dapat Anda gunakan untuk meminta kredensial keamanan sementara dengan mengasumsikan peran, lihat [Metode untuk mengambil peran](id_roles_manage-assume.md).

Untuk memanggil operasi API, Anda dapat menggunakan salah satu [SDK AWS](https://aws.amazon.com/tools/). SDK tersedia untuk berbagai bahasa dan lingkungan pemrograman, termasuk Java, .NET, Python, Ruby, Android, dan iOS. SDK menangani tugas seperti menandatangani permintaan Anda secara kriptografis, mencoba kembali permintaan jika perlu, dan menangani respons kesalahan. Anda juga dapat menggunakan AWS STS Query API, yang dijelaskan dalam Referensi [AWS Security Token Service API](https://docs.aws.amazon.com/STS/latest/APIReference/). Akhirnya, dua alat baris perintah mendukung AWS STS perintah: the [AWS Command Line Interface](https://aws.amazon.com/documentation/cli), dan the [AWS Tools for Windows PowerShell](https://aws.amazon.com/documentation/powershell). 

Operasi AWS STS API membuat sesi baru dengan kredenSIAL keamanan sementara yang menyertakan pasangan kunci akses dan token sesi. Pasangan pasangan access key terdiri dari access key ID dan secret access key. Pengguna (atau aplikasi yang dijalankan pengguna) dapat menggunakan kredensial ini untuk mengakses sumber daya Anda.

Anda dapat membuat sesi peran dan meneruskan kebijakan sesi dan tag sesi secara terprogram menggunakan operasi AWS STS API. Izin sesi yang dihasilkan adalah persimpangan kebijakan berbasis identitas peran dan kebijakan sesi. Untuk informasi lebih lanjut tentang kebijakan sesi, lihat [Kebijakan sesi](access_policies.md#policies_session). Untuk informasi lebih lanjut tentang tanda sesi, lihat [Lewati tag sesi di AWS STS](id_session-tags.md).

**catatan**  
Ukuran token sesi yang dikem AWS STS balikan operasi API tidak tetap. Kami sangat menyarankan agar Anda tidak membuat asumsi tentang ukuran maksimum. Ukuran token umumnya kurang dari 4096 byte, tetapi itu dapat bervariasi.

## Penggunaan AWS STS dengan AWS Wilayah
<a name="using_sts_regions"></a>

Anda dapat mengirim panggilan AWS STS API ke titik akhir global atau ke salah satu titik akhir Regional. Jika Anda memilih titik akhir yang lebih dekat dengan Anda, Anda dapat mengurangi latensi dan meningkatkan kinerja panggilan API Anda. Anda juga dapat memilih untuk mengarahkan panggilan Anda ke titik akhir Regional alternatif jika Anda tidak lagi dapat berkomunikasi dengan titik akhir awal.

Jika Anda menggunakan salah satu dari berbagai AWS SDK, gunakan metode SDK tersebut untuk menentukan Wilayah sebelum Anda melakukan panggilan API. Jika Anda membuat permintaan HTTP API secara manual, maka Anda harus mengarahkan permintaan ke titik akhir yang benar sendiri. Untuk informasi lebih lanjut, lihat [bagian AWS STS dari *Wilayah dan Titik Akhir*](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region) dan [Kelola AWS STS dalam sebuah Wilayah AWS](id_credentials_temp_enable-regions.md).

Berikut ini adalah operasi API yang dapat Anda gunakan untuk memperoleh kredenSIAL sementara untuk digunakan di AWS lingkungan dan aplikasi Anda.

## Meminta kredenSIAL untuk delegasi lintas akun dan federasi melalui broker identitas khusus
<a name="api_assumerole"></a>

Oper [`AssumeRole`](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) asi API berguna untuk memungkinkan pengguna IAM yang ada mengakses AWS sumber daya yang belum mereka akses. Misalnya, pengguna mungkin memerlukan akses ke sumber daya di sumber daya lain Akun AWS. Itu juga berguna sebagai sarana untuk mendapatkan akses istimewa sementara waktu—misalnya, untuk menyediakan Multi-Factor Authentication (MFA) Anda harus memanggil API ini menggunakan kredenSIAL aktif. Untuk mempelajari siapa yang dapat memanggil operasi ini, lihat[Bandingkan AWS STS kredensialnya](id_credentials_sts-comparison.md). Untuk informasi selengkapnya, lihat [Buat peran untuk memberikan izin kepada pengguna IAM](id_roles_create_for-user.md) dan [Akses API aman dengan MFA](id_credentials_mfa_configure-api-require.md).

**Untuk meminta kredenSIAL keamanan sementara untuk delegasi lintas akun dan federasi melalui broker identitas khusus**

1. Otentikasi dengan kredentif AWS keamanan Anda. Panggilan ini harus dilakukan dengan menggunakan kredensial keamanan AWS yang berlaku.

1. Panggil operasi [`AssumeRole`](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html).

Contoh berikut menunjukkan permintaan sampel dan respons menggunakan `AssumeRole`. Contoh permintaan ini mengasumsikan peran `demo` untuk durasi yang ditentukan dengan disertakan [Kebijakan sesi](access_policies.md#policies_session), [tanda sesi](id_session-tags.md), [ID eksternal](id_roles_common-scenarios_third-party.md), dan [identitas sumber](id_credentials_temp_control-access_monitor.md). Sesi yang dihasilkan diberi nama `John-session`. 

**Example Contoh permintaan**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=AssumeRole
&RoleSessionName=John-session
&RoleArn=arn:aws:iam::123456789012:role/demo
&Policy=%7B%22Version%22%3A%222012-10-17		 	 	 %22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%20%22Stmt1%22%2C%22Effect%22%3A%20%22Allow%22%2C%22Action%22%3A%20%22s3%3A*%22%2C%22Resource%22%3A%20%22*%22%7D%5D%7D
&DurationSeconds=1800
&Tags.member.1.Key=Project
&Tags.member.1.Value=Pegasus
&Tags.member.2.Key=Cost-Center
&Tags.member.2.Value=12345
&ExternalId=123ABC
&SourceIdentity=DevUser123
&AUTHPARAMS
```

Nilai kebijakan yang ditampilkan dalam contoh sebelumnya adalah URL-encoded versi kebijakan berikut:

------
#### [ JSON ]

****  

```
{"Version":"2012-10-17",		 	 	 "Statement":[{"Sid":"Stmt1","Effect":"Allow","Action":"s3:*","Resource":"*"}]}
```

------

Parameter `AUTHPARAMS` dalam contoh adalah placeholder untuk *tanda tangan* Anda. Tanda tangan adalah informasi otentikasi yang harus Anda sertakan dengan permintaan API AWS HTTP. Kami menyarankan menggunakan [SDK AWS](https://aws.amazon.com/tools/) untuk membuat permintaan API, dan satu keuntungan dalam melakukannya adalah SDK mengurus tanda tangan permintaan untuk Anda. Jika Anda harus membuat dan menandatangani permintaan API secara manual, lihat [ Menandatangani Per AWS mintaan Dengan Menggunakan Tanda ](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) Tangan Versi 4 di *Referensi Umum Amazon Web Services* untuk mempelajari cara menandatangani permintaan.

Selain kredensial keamanan sementara, responsnya mencakup Amazon Resource Name (ARN) untuk pengguna federasi dan waktu kedaluwarsa kredensial tersebut.

**Example Contoh tanggapan**  

```
<AssumeRoleResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<AssumeRoleResult>
<SourceIdentity>DevUser123</SourceIdentity>
<Credentials>
  <SessionToken>
   AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQW
   LWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd
   QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU
   9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz
   +scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
  </SessionToken>
  <SecretAccessKey>
   wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2019-07-15T23:28:33.359Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId>
</Credentials>
<AssumedRoleUser>
  <Arn>arn:aws:sts::123456789012:assumed-role/demo/John</Arn>
  <AssumedRoleId>ARO123EXAMPLE123:John</AssumedRoleId>
</AssumedRoleUser>
<PackedPolicySize>34</PackedPolicySize>
<SessionTokenSize>1428</SessionTokenSize>
<SessionTokenUtilization>34</SessionTokenUtilization>
</AssumeRoleResult>
<ResponseMetadata>
<RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId>
</ResponseMetadata>
</AssumeRoleResponse>
```

**catatan**  
Kebijakan sesi dan tag sesi menambah ukuran token sesi. Jika token melebihi batas ukuran, permintaan Anda gagal, bahkan jika plaintext Anda berada dalam batas lain. Elem `SessionTokenUtilization` en respons menunjukkan berapa persentase dari batas ukuran yang digunakan token. Elem `PackedPolicySize` en respons tidak digunakan lagi. Gunakan `SessionTokenUtilization` sebagai gantinya.

## Meminta kredenSIAL melalui penyedia OIDC
<a name="api_assumerolewithwebidentity"></a>

Operasi [`AssumeRoleWithWebIdentity`](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) API mengembalikan satu set kredenSIAL AWS keamanan sementara dengan imbalan JSON Web Token (JWT). Ini termasuk penyedia identitas publik, seperti Login dengan Amazon, Facebook, Google, dan penyedia yang mengeluarkan JWT yang kompatibel dengan penemuan OpenID Connect (OIDC), seperti GitHub tindakan atau Azure Devops. Untuk informasi selengkapnya, lihat [Federasi OIDC](id_roles_providers_oidc.md).

**catatan**  
`AssumeRoleWithWebIdentity`permintaan tidak ditandatangani dengan, dan tidak memerlukan AWS kredensi.

**Meminta kredenSIAL melalui penyedia OIDC**

1. Panggil operasi [`AssumeRoleWithWebIdentity`](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html).

   Saat Anda menelepon`AssumeRoleWithWebIdentity`, AWS memvalidasi token yang disajikan dengan memverifikasi tanda tangan digital menggunakan kunci publik yang tersedia melalui keyset web JSON (JWKS) IdP Anda. Jika token valid, dan semua kondisi yang ditetapkan dalam kebijakan kepercayaan peran IAM terpenuhi, AWS mengembalikan informasi berikut kepada Anda:
   + Serangkaian kredensial keamanan sementara. Ini terdiri dari access key ID, secret access key, dan token sesi.
   + ID peran dan ARN peran yang diasumsikan.
   + Suatu nilai `SubjectFromWebIdentityToken` yang memuat ID pengguna unik.

1. Aplikasi Anda kemudian dapat menggunakan kredentif keamanan sementara yang dikembalikan sebagai respons untuk melakukan panggilan AWS API. Ini adalah proses yang sama seperti membuat panggilan AWS API dengan kredenSIAL keamanan jangka panjang. Perbedaannya adalah Anda harus menyertakan token sesi, yang memungkinkan AWS memverifikasi bahwa kredenSIAL keamanan sementara valid.

Aplikasi Anda harus menyimpan kredenSIAL yang dikembalikan oleh AWS STS dan menyegarkannya sesuai kebutuhan. Jika aplikasi Anda dibuat menggunakan AWS SDK, SDK memiliki penyedia kredensia yang dapat menangani kredensi panggilan `AssumeRoleWithWebIdentity` dan penyegaran sebelum ked AWS aluwarsa. Untuk informasi selengkapnya, lihat [AWS SDK dan penyedia kredensia standar Alat ](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) di Panduan Refer *AWS ensi SDK dan Alat. *

## Meminta kredenSIAL melalui penyedia identitas SAML 2.0
<a name="api_assumerolewithsaml"></a>

Operasi [`AssumeRoleWithSAML`](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) API mengembalikan satu set kredentif keamanan sementara untuk prinsipal federasi SAML yang diautentikasi oleh sistem identitas organisasi Anda yang ada. Pengguna juga harus menggunakan [SAML](https://www.oasis-open.org/standards#samlv2.0) 2.0 (Security Assertion Markup Language) untuk menyampaikan informasi autentikasi dan otorisasi ke AWS. Operasi API ini berguna pada organisasi yang telah mengintegrasikan sistem identitas mereka (seperti Windows Active Directory atau OpenLDAP) dengan perangkat lunak yang dapat menghasilkan pernyataan SAML. Integrasi tersebut menyediakan informasi tentang identitas dan izin pengguna (seperti ctive Directory Federation Services atau Shibboleth). Untuk informasi selengkapnya, lihat [Federasi SAML 2.0](id_roles_providers_saml.md).

1. Panggil operasi [`AssumeRoleWithSAML`](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html).

   Ini adalah panggilan yang tidak ditandatangani, artinya Anda tidak perlu mengotentikasi kredentif AWS keamanan sebelum membuat permintaan.
**catatan**  
Sebuah panggilan ke `AssumeRoleWithSAML` tidak ditandatangani (dienkripsi). Oleh karena itu, Anda hanya boleh menyertakan kebijakan sesi opsional jika permintaan dikirim melalui perantara terpercaya. Dalam hal ini, seseorang dapat mengubah kebijakan untuk menghapus pembatasan.

1. Saat Anda menelep `AssumeRoleWithSAML` on, AWS memverifikasi keaslian pernyataan SAML. Dengan asumsi bahwa penyedia identitas memvalidasi pernyataan, AWS mengembalikan informasi berikut kepada Anda:
   + Serangkaian kredensial keamanan sementara. Ini terdiri dari access key ID, secret access key, dan token sesi. 
   + ID peran dan ARN peran yang diasumsikan. 
   + Nilai `Audience` yang berisi nilai atribut `Recipient` dari `SubjectConfirmationData` elemen pernyataan SAML.
   + Nilai `Issuer` yang berisi nilai dari elemen `Issuer` pernyataan SAML.
   + `NameQualifier`Elemen yang berisi nilai hash yang dibangun dari `Issuer` nilai, Akun AWS ID, dan nama ramah penyedia SAML. Ketika dikombinasikan dengan `Subject` elemen, mereka dapat secara unik mengidentifikasi prinsipal federasi SAML.
   + Suatu Elemen `Subject` yang berisi nilai dari elemen `NameID` dalam elemen `Subject` pernyataan SAML.
   + Suatu elemen `SubjectType` yang menunjukkan format elemen `Subject`. Kunci ini dapat berupa `persistent`, `transient`, atau URI `Format` penuh dari elemen `Subject` dan `NameID` yang digunakan dalam pernyataan SAML Anda. Untuk informasi tentang elemen `NameID` `Format` atribut, lihat [Mengonfigurasikan pernyataan SAML untuk respons autentikasi](id_roles_providers_create_saml_assertions.md). 

1. Gunakan kredentif keamanan sementara yang dikembalikan dalam respons untuk melakukan panggilan AWS API. Ini adalah proses yang sama seperti membuat panggilan AWS API dengan kredenSIAL keamanan jangka panjang. Perbedaannya adalah bahwa Anda harus menyertakan token sesi, yang memungkinkan AWS memverifikasi bahwa kredensial keamanan sementara valid.

Aplikasi Anda harus menyimpan kredensial. Secara default kredensial kedaluwarsa setelah satu jam. Jika Anda tidak menggunakan [ AmazonSTSCredentialsProvider ](https://aws.amazon.com/blogs/mobile/using-the-amazoncredentialsprovider-protocol-in-the-aws-sdk-for-ios) tindakan di AWS SDK, terserah Anda dan aplikasi Anda untuk menelepon `AssumeRoleWithSAML` lagi. Panggil operasi ini untuk mendapatkan rangkaian kredensial keamanan sementara yang baru sebelum kredensial lama kedaluwarsa.

## Meminta kredenSIAL melalui broker identitas khusus
<a name="api_getfederationtoken"></a>

Operasi [`GetFederationToken`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) API mengembalikan satu set kredenSIAL keamanan sementara untuk prinsi AWS STS pal pengguna federasi. API ini berbeda dari `AssumeRole` karena periode kedaluwarsa default jauh lebih lama (12 jam, bukan satu jam). Sebagai tambahan, Anda dapat menggunakan parameter `DurationSeconds` untuk menentukan durasi untuk kredensial keamanan sementara agar tetap valid. KredenSIAL yang dihasilkan berlaku untuk durasi yang ditentukan, antara 900 detik (15 menit) hingga 129.600 detik (36 jam). Periode kedaluwarsa yang lebih lama dapat membantu mengurangi jumlah panggilan ke AWS karena Anda tidak perlu mendapatkan kredenSIAL baru sesering mungkin.

1. Otentikasi dengan kredentif AWS keamanan pengguna IAM spesifik Anda. Panggilan ini harus dilakukan menggunakan kredentif AWS keamanan yang valid.

1. Panggil operasinya [`GetFederationToken`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html).

Pang `GetFederationToken` gilan mengembalikan kredentif keamanan sementara yang terdiri dari token sesi, kunci akses, kunci rahasia, dan kedaluwarsa. Anda dapat menggunakan `GetFederationToken` jika anda ingin mengelola izin di dalam organization anda (misalnya, menggunakan aplikasi proksi untuk menetapkan izin).

Contoh berikut menunjukkan permintaan sampel dan respons yang menggunakan `GetFederationToken`. Permintaan contoh ini meminta menggabungkan pengguna panggilan untuk durasi yang ditentukan dengan ARN [kebijakan sesi](access_policies.md#policies_session) dan[tanda sesi](id_session-tags.md). Sesi yang dihasilkan diberi nama `Jane-session`.

**Example Contoh permintaan**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetFederationToken
&Name=Jane-session
&PolicyArns.member.1.arn==arn%3Aaws%3Aiam%3A%3A123456789012%3Apolicy%2FRole1policy
&DurationSeconds=1800
&Tags.member.1.Key=Project
&Tags.member.1.Value=Pegasus
&Tags.member.2.Key=Cost-Center
&Tags.member.2.Value=12345
&AUTHPARAMS
```

Kebijakan ARN yang ditunjukkan pada contoh sebelumnya mencakup AR URL-encoded N berikut: 

`arn:aws:iam::123456789012:policy/Role1policy`

Selain itu, perhatikan bahwa parameter `&AUTHPARAMS` dalam contoh dimaksudkan sebagai kerangka untuk informasi autentikasi. Ini adalah * tanda tangan*, yang harus Anda sertakan dengan permintaan API AWS HTTP. Kami menyarankan menggunakan [SDK AWS](https://aws.amazon.com/tools/) untuk membuat permintaan API, dan satu keuntungan dalam melakukannya adalah SDK mengurus tanda tangan permintaan untuk Anda. Jika Anda harus membuat dan menandatangani permintaan API secara manual, lihat [ Menandatangani Per AWS mintaan Dengan Menggunakan Tanda ](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) Tangan Versi 4 di *Referensi Umum Amazon Web Services* untuk mempelajari cara menandatangani permintaan.

Selain kredensial keamanan sementara, responsnya mencakup Amazon Resource Name (ARN) untuk pengguna federasi dan waktu kedaluwarsa kredensial tersebut.

**Example Contoh tanggapan**  

```
<GetFederationTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<GetFederationTokenResult>
<Credentials>
  <SessionToken>
   AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQW
   LWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd
   QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU
   9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz
   +scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCEXAMPLE==
  </SessionToken>
  <SecretAccessKey>
  wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2019-04-15T23:28:33.359Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE;</AccessKeyId>
</Credentials>
<FederatedUser>
  <Arn>arn:aws:sts::123456789012:federated-user/Jean</Arn>
  <FederatedUserId>123456789012:Jean</FederatedUserId>
</FederatedUser>
<PackedPolicySize>26</PackedPolicySize>
<SessionTokenSize>1105</SessionTokenSize>
<SessionTokenUtilization>26</SessionTokenUtilization>
</GetFederationTokenResult>
<ResponseMetadata>
<RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId>
</ResponseMetadata>
</GetFederationTokenResponse>
```

**catatan**  
Kebijakan sesi dan tag sesi menambah ukuran token sesi. Jika token melebihi batas ukuran, permintaan Anda gagal, bahkan jika plaintext Anda berada dalam batas lain. Elem `SessionTokenUtilization` en respons menunjukkan berapa persentase dari batas ukuran yang digunakan token. Elem `PackedPolicySize` en respons tidak digunakan lagi. Gunakan `SessionTokenUtilization` sebagai gantinya.

AWS merekomendasikan agar Anda memberikan izin di tingkat sumber daya (misalnya, Anda melampirkan kebijakan berbasis sumber daya ke bucket Amazon S3), Anda dapat menghilangkan parameter tersebut. `Policy` Namun, jika Anda tidak menyertakan kebijakan untuk prinsipal pengguna AWS STS federasi, kredentif keamanan sementara tidak akan memberikan izin apa pun. Dalam kasus ini, Anda *harus* menggunakan kebijakan sumber daya untuk memberikan akses pengguna gabungan ke sumber daya AWS Anda.

Misalnya, asumsikan Akun AWS nomor Anda adalah 111122223333, dan Anda memiliki bucket Amazon S3 yang ingin Anda izinkan untuk mengakses Susan. Kredensial keamanan sementara Susan tidak menyertakan kebijakan untuk bucket. Dalam hal ini, Anda perlu memastikan bahwa bucket memiliki kebijakan ARN yang cocok dengan ARN Susan, seperti `arn:aws:sts::111122223333:federated-user/Susan`. 

## Meminta kredensi untuk pengguna di lingkungan yang tidak tepercaya
<a name="api_getsessiontoken"></a>

Operasi API [`GetSessionToken`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) mengembalikan satu set kredensial keamanan sementara untuk pengguna IAM yang sudah ada. Ini berguna untuk memberikan keamanan yang ditingkatkan, seperti mengizinkan AWS permintaan hanya ketika MFA diaktifkan untuk pengguna IAM. Karena kredensial bersifat sementara, kredensial ini memberikan keamanan yang lebih baik ketika Anda memiliki pengguna IAM yang mengakses sumber daya Anda melalui lingkungan yang kurang aman. Contoh lingkungan yang kurang aman termasuk perangkat seluler atau browser web.

1. Otentikasi dengan kredentif AWS keamanan pengguna IAM spesifik Anda. Panggilan ini harus dilakukan menggunakan kredentif AWS keamanan yang valid.

1. Panggil operasinya [`GetSessionToken`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html).

1. `GetSessionToken`mengembalikan kredentif keamanan sementara yang terdiri dari token sesi, ID kunci akses, dan kunci akses rahasia.

Secara default, kredensial keamanan sementara untuk pengguna IAM berlaku selama maksimal 12 jam. Tetapi Anda dapat meminta durasi sesingkat 15 menit atau selama 36 jam menggunakan parameter `DurationSeconds`. Untuk alasan keamanan, token untuk an Pengguna root akun AWS dibatasi untuk durasi satu jam.

Contoh berikut menunjukkan permintaan sampel dan respons menggunakan `GetSessionToken`. Jawaban juga mencakup waktu kedaluwarsa kredensial keamanan sementara. 

**Example Contoh Permintaan**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetSessionToken
&DurationSeconds=1800
&AUTHPARAMS
```

Parameter `AUTHPARAMS` dalam contoh adalah placeholder untuk *tanda tangan* Anda. Tanda tangan adalah informasi otentikasi yang harus Anda sertakan dengan permintaan API AWS HTTP. Kami menyarankan menggunakan [SDK AWS](https://aws.amazon.com/tools/) untuk membuat permintaan API, dan satu keuntungan dalam melakukannya adalah SDK mengurus tanda tangan permintaan untuk Anda. Jika Anda harus membuat dan menandatangani permintaan API secara manual, lihat [ Menandatangani Per AWS mintaan Dengan Menggunakan Tanda ](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) Tangan Versi 4 di *Referensi Umum Amazon Web Services* untuk mempelajari cara menandatangani permintaan.

**Example Contoh tanggapan**  

```
<GetSessionTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<GetSessionTokenResult>
<Credentials>
  <SessionToken>
   AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L
   To6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3z
   rkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtp
   Z3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE
  </SessionToken>
  <SecretAccessKey>
  wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2011-07-11T19:55:29.611Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId>
</Credentials>
<SessionTokenSize>856</SessionTokenSize>
<SessionTokenUtilization>20</SessionTokenUtilization>
</GetSessionTokenResult>
<ResponseMetadata>
<RequestId>58c5dbae-abef-11e0-8cfe-09039844ac7d</RequestId>
</ResponseMetadata>
</GetSessionTokenResponse>
```

Secara opsional, `GetSessionToken` permintaan dapat menyertakan `SerialNumber` dan `TokenCode` nilai untuk verifikasi otentikasi AWS multi-faktor (MFA). Jika nilai yang diberikan valid, AWS STS berikan kredentif keamanan sementara yang menyertakan status otentikasi MFA. KredenSIAL keamanan sementara kemudian dapat digunakan untuk mengakses operasi MFA-protected API atau AWS situs web selama otentikasi MFA valid. 

Contoh berikut menunjukkan permintaan `GetSessionToken` yang menyertakan kode verifikasi MFA dan nomor seri perangkat. 

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetSessionToken
&DurationSeconds=7200
&SerialNumber=YourMFADeviceSerialNumber
&TokenCode=123456
&AUTHPARAMS
```

**catatan**  
Panggilan ke AWS STS bisa ke titik akhir global atau ke salah satu titik akhir Regional yang Anda Akun AWS aktifkan. Untuk informasi lebih lanjut, lihat [bagian AWS STS pada *Wilayah dan Titik Akhir*](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region).  
Parameter `AUTHPARAMS` dalam contoh adalah placeholder untuk *tanda tangan* Anda. Tanda tangan adalah informasi otentikasi yang harus Anda sertakan dengan permintaan API AWS HTTP. Kami menyarankan menggunakan [SDK AWS](https://aws.amazon.com/tools/) untuk membuat permintaan API, dan satu keuntungan dalam melakukannya adalah SDK mengurus tanda tangan permintaan untuk Anda. Jika Anda harus membuat dan menandatangani permintaan API secara manual, lihat [ Menandatangani Per AWS mintaan Dengan Menggunakan Tanda ](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) Tangan Versi 4 di *Referensi Umum Amazon Web Services* untuk mempelajari cara menandatangani permintaan.