

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

# Menggunakan kredensial sementara dari AWS STS SDK for PHP
<a name="guide_credentials_temporary"></a>

 AWS Security Token Service (AWS STS) memungkinkan Anda untuk meminta hak istimewa terbatas, **kredensi sementara** untuk pengguna IAM, atau untuk pengguna yang Anda autentikasi melalui federasi identitas. Untuk pemahaman yang lebih dalam, lihat [Kredensial Keamanan Sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) di Panduan Pengguna *IAM*. Anda dapat menggunakan kredensi keamanan sementara untuk mengakses sebagian besar AWS layanan. *Untuk daftar layanan yang menerima kredenal keamanan sementara, lihat [AWS layanan yang bekerja dengan IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).*

[Salah satu kasus penggunaan umum untuk kredensi sementara adalah memberikan akses aplikasi seluler atau sisi klien ke AWS sumber daya dengan mengautentikasi pengguna melalui penyedia identitas pihak ketiga (lihat Federasi Identitas Web).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html)

## Mendapatkan kredensi sementara
<a name="getting-temporary-credentials"></a>

AWS STS memiliki beberapa operasi yang mengembalikan kredensi sementara, tetapi `GetSessionToken` operasi ini adalah yang paling sederhana untuk ditunjukkan. Cuplikan berikut mengambil kredensi sementara dengan memanggil `getSessionToken` metode klien STS PHP SDK.

```
$sdk = new Aws\Sdk([
    'region'   => 'us-east-1',
]);

$stsClient = $sdk->createSts();

$result = $stsClient->getSessionToken();
```

Hasil untuk `GetSessionToken` dan AWS STS operasi lainnya selalu mengandung `'Credentials'` nilai. Jika Anda mencetak `$result` (misalnya dengan menggunakan`print_r($result)`), terlihat seperti berikut ini.

```
Array
(
    ...
    [Credentials] => Array
    (
        [SessionToken] => '<base64 encoded session token value>'
        [SecretAccessKey] => '<temporary secret access key value>'
        [Expiration] => 2013-11-01T01:57:52Z
        [AccessKeyId] => '<temporary access key value>'
    )
    ...
)
```

## Memberikan kredensi sementara ke AWS SDK for PHP
<a name="providing-temporary-credentials-to-the-sdk-php"></a>

Anda dapat menggunakan kredensi sementara dengan AWS klien lain dengan membuat instance klien dan meneruskan nilai yang diterima secara langsung. AWS STS 

```
use Aws\S3\S3Client;

$result = $stsClient->getSessionToken();

$s3Client = new S3Client([
    'version'     => '2006-03-01',
    'region'      => 'us-west-2',
    'credentials' => [
        'key'    => $result['Credentials']['AccessKeyId'],
        'secret' => $result['Credentials']['SecretAccessKey'],
        'token'  => $result['Credentials']['SessionToken']
    ]
]);
```

Anda juga dapat membuat `Aws\Credentials\Credentials` objek dan menggunakannya saat membuat instance klien.

```
use Aws\Credentials\Credentials;
use Aws\S3\S3Client;

$result = $stsClient->getSessionToken();

$credentials = new Credentials(
    $result['Credentials']['AccessKeyId'],
    $result['Credentials']['SecretAccessKey'],
    $result['Credentials']['SessionToken']
);

$s3Client = new S3Client([
    'version'     => '2006-03-01',
    'region'      => 'us-west-2',
    'credentials' => $credentials
]);
```

Namun, cara *terbaik* untuk memberikan kredensi sementara adalah dengan menggunakan metode `createCredentials()` pembantu yang disertakan dengan. `StsClient` Metode ini mengekstrak data dari AWS STS hasil dan menciptakan `Credentials` objek untuk Anda.

```
$result = $stsClient->getSessionToken();
$credentials = $stsClient->createCredentials($result);

$s3Client = new S3Client([
    'version'     => '2006-03-01',
    'region'      => 'us-west-2',
    'credentials' => $credentials
]);
```

Untuk informasi selengkapnya tentang alasan Anda mungkin perlu menggunakan kredensial sementara dalam aplikasi atau proyek, lihat [Skenario untuk Memberikan Akses Sementara dalam dokumentasi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html). AWS STS 