

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

# `assumeRoleWithWebIdentityCredentialProvider`penyedia di SDK for PHP
<a name="assume-role-with-web-identity-provider"></a>

 `Aws\Credentials\CredentialProvider::assumeRoleWithWebIdentityCredentialProvider`mencoba memuat kredensional dengan mengasumsikan peran. Jika variabel lingkungan `AWS_ROLE_ARN` dan `AWS_WEB_IDENTITY_TOKEN_FILE` ada, penyedia akan mencoba untuk mengambil peran yang ditentukan saat `AWS_ROLE_ARN` menggunakan token pada disk pada jalur lengkap yang ditentukan dalam`AWS_WEB_IDENTITY_TOKEN_FILE`. Jika variabel lingkungan digunakan, penyedia akan mencoba untuk mengatur sesi dari variabel `AWS_ROLE_SESSION_NAME` lingkungan.

Jika variabel lingkungan tidak disetel, penyedia akan menggunakan profil default, atau yang ditetapkan sebagai`AWS_PROFILE`. Penyedia membaca profil dari `~/.aws/credentials` dan secara `~/.aws/config` default, dan dapat membaca dari profil yang ditentukan dalam opsi `filename` konfigurasi. Penyedia akan mengambil peran dalam `role_arn` profil, membaca token dari jalur lengkap yang ditetapkan`web_identity_token_file`. `role_session_name`akan digunakan jika diatur pada profil.

Penyedia disebut sebagai bagian dari rantai default dan dapat dipanggil secara langsung.

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

$provider = CredentialProvider::assumeRoleWithWebIdentityCredentialProvider();
// Cache the results in a memoize function to avoid loading and parsing
// the ini file on every API operation
$provider = CredentialProvider::memoize($provider);

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

Secara default, penyedia kredensi ini akan mewarisi wilayah yang dikonfigurasi yang akan digunakan oleh StsClient untuk mengambil peran. Secara opsional, penuh StsClient dapat disediakan. Kredensi harus ditetapkan seperti `false` pada apa pun yang disediakan. StsClient

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

$stsClient = new StsClient([
    'region'      => 'us-west-2',
    'version'     => 'latest',
    'credentials' => false
])

$provider = CredentialProvider::assumeRoleWithWebIdentityCredentialProvider([
    'stsClient' => $stsClient
]);
// Cache the results in a memoize function to avoid loading and parsing
// the ini file on every API operation
$provider = CredentialProvider::memoize($provider);

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