기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
assumeRoleWithWebIdentityCredentialProvider
공급자
Aws\Credentials\CredentialProvider::assumeRoleWithWebIdentityCredentialProvider
는 역할을 위임하여 보안 인증 로드를 시도합니다. 환경 변수 AWS_ROLE_ARN
및 AWS_WEB_IDENTITY_TOKEN_FILE
이 존재할 경우, 공급자는 AWS_WEB_IDENTITY_TOKEN_FILE
에 지정된 전체 경로에서 디스크의 토큰을 사용하여 AWS_ROLE_ARN
에서 지정된 역할 위임을 시도합니다. 환경 변수를 사용할 경우, 공급자는 AWS_ROLE_SESSION_NAME
환경 변수로부터 세션 설정을 시도합니다.
환경 변수가 설정되어 있지 않다면, 공급자는 기본 프로필 또는 AWS_PROFILE
으로 설정된 값을 사용합니다. 공급자는 기본적으로 ~/.aws/credentials
및 ~/.aws/config
에서 프로필을 읽으며, filename
컨피그 옵션에서 지정된 프로필을 읽어 들일 수 있습니다. 공급자는 프로필의 role_arn
에서 역할을 위임하며, web_identity_token_file
에서 설정된 전체 경로로부터 토큰을 읽습니다. role_session_name
은 프로필에 설정되어 있는 경우 사용할 수 있습니다.
공급자는 기본 공급망의 한 부분으로서 호출되지만 직접 호출될 수도 있습니다.
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
]);
기본적으로 이 보안 인증 공급자는 StsClient에서 역할을 위임하기 위해 사용하는 구성된 리전을 상속합니다. 선택적으로 전체 StsClient를 제공할 수 있습니다. 보안 인증은 제공된 모든 StsClient에서 false
로 설정해야 합니다.
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
]);