AWS SDK for PHP バージョン 3 での IAM アクセスキーの管理 - AWS SDK for PHP

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS SDK for PHP バージョン 3 での IAM アクセスキーの管理

ユーザーがプログラムで AWS を呼び出すには、独自のアクセスキーが必要です。このニーズを満たすために、IAM ユーザーのアクセスキー (アクセスキー ID およびシークレットアクセスキー) を作成、修正、表示、および更新できます。デフォルトでは、アクセスキーを作成したときのステータスが [Active] です。これは、ユーザーが API 呼び出しにそのアクセスキーを使用できることを意味します。

以下の例では、次の方法を示しています。

  • を使用して、シークレットアクセスキーと対応するアクセスキー ID を作成しますCreateAccessKey

  • を使用して、IAM ユーザーに関連付けられたアクセスキー IDs に関する情報を返しますListAccessKeys

  • を使用して、アクセスキーが最後に使用された日時に関する情報を取得しますGetAccessKeyLastUsed

  • を使用して、アクセスキーのステータスをアクティブから非アクティブ、またはその逆に変更しますUpdateAccessKey

  • を使用して、IAM ユーザーに関連付けられたアクセスキーペアを削除しますDeleteAccessKey

のすべてのサンプルコードAWS SDK for PHPは、 にあります GitHub

認証情報

サンプルコードを実行する前に、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()); }