기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에서 임시 자격 증명 사용 AWS STS
AWS Security Token Service (AWS STS)를 사용하면 IAM 사용자 또는 자격 증명 페더레이션을 통해 인증하는 사용자를 위해 제한된 권한, 임시 자격 증명을 요청할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 임시 보안 자격 증명을 참조하세요. 임시 보안 자격 증명을 사용하여 대부분의 AWS 서비스에 액세스할 수 있습니다. 임시 보안 자격 증명을 수락하는 서비스 목록은 IAM 사용 설명서의 AWS 에서 작업하는 서비스를 IAM 참조하세요.
임시 자격 증명의 일반적인 사용 사례 중 하나는 타사 자격 증명 공급자를 통해 사용자를 인증하여 모바일 또는 클라이언트 측 애플리케이션에 AWS 리소스에 대한 액세스 권한을 부여하는 것입니다(웹 자격 증명 페더레이션 참조).
임시 보안 인증 얻기
AWS STS 에는 임시 보안 인증 정보를 반환하는 여러 작업이 있지만, 이 GetSessionToken
작업은 증명하기 가장 간단합니다. 다음 코드 조각은 PHP SDK의 STS 클라이언트 getSessionToken
메서드를 호출하여 임시 보안 인증을 검색합니다.
$sdk = new Aws\Sdk([ 'region' => 'us-east-1', ]); $stsClient = $sdk->createSts(); $result = $stsClient->getSessionToken();
GetSessionToken
및 다른 AWS STS 작업의 결과에는 항상 'Credentials'
값이 포함됩니다. $result
(예를 들어 를 사용하여print_r($result)
) 를 인쇄하면 다음과 같습니다.
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>' ) ... )
에 임시 자격 증명 제공 AWS SDK for PHP
AWS 클라이언트를 인스턴스화하고 에서 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'] ] ]);
또한 Aws\Credentials\Credentials
객체를 생성하고 클라이언트를 인스턴스화할 때 해당 객체를 사용할 수도 있습니다.
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 ]);
하지만 임시 보안 인증을 제공하는 가장 좋은 방법은 StsClient
와 함께 포함된 createCredentials()
헬퍼 메서드를 사용하는 것입니다. 이 메서드는 AWS STS 결과에서 데이터를 추출하고 사용자를 위해 Credentials
객체를 생성합니다.
$result = $stsClient->getSessionToken(); $credentials = $stsClient->createCredentials($result); $s3Client = new S3Client([ 'version' => '2006-03-01', 'region' => 'us-west-2', 'credentials' => $credentials ]);
애플리케이션 또는 프로젝트에서 임시 자격 증명을 사용해야 하는 이유에 대한 자세한 내용은 AWS STS 설명서의 임시 액세스 권한 부여 시나리오를 참조하세요.