

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

# `assumeRole`penyedia di SDK for PHP
<a name="assumerole-provider"></a>

Jika Anda menggunakan `Aws\Credentials\AssumeRoleCredentialProvider` untuk membuat kredensional dengan mengambil peran, Anda perlu memberikan `'client'` informasi dengan `StsClient` objek dan `'assume_role_params'` detail, seperti yang ditunjukkan.

**catatan**  
Untuk menghindari pengambilan AWS STS kredensi yang tidak perlu pada setiap operasi API, Anda dapat menggunakan `memoize` fungsi tersebut untuk menangani penyegaran kredenal secara otomatis saat kredensialnya kedaluwarsa. Lihat kode berikut sebagai contoh.

```
use Aws\Credentials\CredentialProvider;
use Aws\Credentials\InstanceProfileProvider;
use Aws\Credentials\AssumeRoleCredentialProvider;
use Aws\S3\S3Client;
use Aws\Sts\StsClient;

// Passing Aws\Credentials\AssumeRoleCredentialProvider options directly
$profile = new InstanceProfileProvider();
$ARN = "arn:aws:iam::123456789012:role/xaccounts3access";
$sessionName = "s3-access-example";

$assumeRoleCredentials = new AssumeRoleCredentialProvider([
    'client' => new StsClient([
        'region' => 'us-east-2',
        'version' => '2011-06-15',
        'credentials' => $profile
    ]),
    'assume_role_params' => [
        'RoleArn' => $ARN,
        'RoleSessionName' => $sessionName,
    ],
]);

// To avoid unnecessarily fetching STS credentials on every API operation,
// the memoize function handles automatically refreshing the credentials when they expire
$provider = CredentialProvider::memoize($assumeRoleCredentials);

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

Untuk informasi lebih lanjut mengenai`'assume_role_params'`, lihat [AssumeRole](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sts-2011-06-15.html#assumerole).