AWS SDK for PHP 버전 3을 사용한 IAM 액세스 키 관리 - AWS SDK for PHP

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

AWS SDK for PHP 버전 3을 사용한 IAM 액세스 키 관리

사용자가 AWS를 프로그래밍 방식으로 호출하려면 고유의 액세스 키가 필요합니다. 이 요구를 충족하기 위해 IAM 사용자에 대한 액세스 키(액세스 키 ID 및 보안 액세스 키)를 생성, 수정, 확인 또는 교체할 수 있습니다. 기본적으로 액세스 키를 생성할 때 키의 상태는 활성입니다. 따라서 사용자는 액세스 키를 API 호출에 사용할 수 있습니다.

다음 예제에서는 다음과 같은 작업을 하는 방법을 보여줍니다.

  • 를 사용하여 보안 액세스 키와 해당 액세스 키 ID를 생성합니다 CreateAccessKey.

  • 를 사용하는 ListAccessKeysIAM 사용자와 관련된 액세스 키 ID에 대한 정보를 반환합니다.

  • 를 사용하여 액세스 키를 마지막으로 사용한 GetAccessKeyLastUsed시기에 대한 정보를 검색합니다.

  • 를 사용하여 액세스 키의 상태를 활성에서 비활성으로 또는 그 반대로 변경합니다. UpdateAccessKey

  • 를 사용하여 DeleteAccessKeyIAM 사용자와 연결된 액세스 키 쌍을 삭제합니다.

의 모든 예제 코드는 여기에서 확인할 GitHub 수 있습니다. AWS SDK for PHP

보안 인증 정보

예제 코드를 실행하기 전에 보안 인증에 설명된 대로 AWS 보안 인증을 구성합니다. 그 다음 기본 사용법에 설명된 대로 AWS SDK for PHP를 가져옵니다.

액세스 키 생성

가져오기

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Iam\IamClient;

샘플 코드

$client = new IamClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-05-08' ]); try { $result = $client->createAccessKey([ 'UserName' => 'IAM_USER_NAME', ]); $keyID = $result['AccessKey']['AccessKeyId']; $createDate = $result['AccessKey']['CreateDate']; $userName = $result['AccessKey']['UserName']; $status = $result['AccessKey']['Status']; // $secretKey = $result['AccessKey']['SecretAccessKey'] echo "<p>AccessKey " . $keyID . " created on " . $createDate . "</p>"; echo "<p>Username: " . $userName . "</p>"; echo "<p>Status: " . $status . "</p>"; } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

액세스 키 나열

가져오기

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Iam\IamClient;

샘플 코드

$client = new IamClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-05-08' ]); try { $result = $client->listAccessKeys(); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

액세스 키의 마지막 사용에 대한 정보 가져오기

가져오기

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Iam\IamClient;

샘플 코드

$client = new IamClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-05-08' ]); try { $result = $client->getAccessKeyLastUsed([ 'AccessKeyId' => 'ACCESS_KEY_ID', // REQUIRED ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

액세스 키 업데이트

가져오기

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Iam\IamClient;

샘플 코드

$client = new IamClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-05-08' ]); try { $result = $client->updateAccessKey([ 'AccessKeyId' => 'ACCESS_KEY_ID', // REQUIRED 'Status' => 'Inactive', // REQUIRED 'UserName' => 'IAM_USER_NAME', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

액세스 키 삭제

가져오기

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Iam\IamClient;

샘플 코드

$client = new IamClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-05-08' ]); try { $result = $client->deleteAccessKey([ 'AccessKeyId' => 'ACCESS_KEY_ID', // REQUIRED 'UserName' => 'IAM_USER_NAME', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }