

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# SDK for PHP의 `process` 공급자
<a name="process-provider"></a>

 `Aws\Credentials\CredentialProvider::process`는 [공유 AWS 구성 파일의](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) 프로파일에 지정된 `credential_process` 값을 실행하여 자격 증명을 로드하려고 시도합니다.

기본적으로 SDK는 먼저에 있는 공유 AWS `credentials` 파일에서 “기본” 프로파일을 로드하려고 시도합니다`~/.aws/credentials`. 공유 `credentials` 파일에서 "기본" 프로필을 찾을 수 없는 경우 공유 `config` 파일에서 기본 프로필을 찾습니다. 다음은 공유 `credentials` 파일의 구성 예시입니다.

```
[default]
credential_process = /path/to/file/credential_returning_executable.sh --custom-command custom_parameter
```

SDK는 PHP의 `shell_exec` 함수를 사용하여 제공된 그대로 `credential_process` 명령을 직접적으로 호출한 후 stdout에서 JSON 데이터를 읽습니다. `credential_process`는 다음 형식으로 자격 증명을 stdout에 작성해야 합니다.

```
{
    "Version": 1,
    "AccessKeyId": "",
    "SecretAccessKey": "",
    "SessionToken": "",
    "Expiration": ""
}
```

 `SessionToken` 및 `Expiration`은 선택 사항 두 선택 사항을 지정한다면 보안 인증이 임시로 처리됩니다.

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

$provider = CredentialProvider::process();
// 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
]);
```

공급자를 생성하는 함수에 인수를 제공하여 사용자 지정 프로파일 또는 .ini 파일 위치를 사용할 수 있습니다.

```
$profile = 'production';
$path = '/full/path/to/credentials.ini';

$provider = CredentialProvider::process($profile, $path);
$provider = CredentialProvider::memoize($provider);

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