こんにちは。
見習い職人の櫛田です。

今回は、AWS SDK for PHPでIAMにユーザを追加して追加したユーザにポリシーを設定してみます。

はじめに、下記のようにIAMにユーザ名を指定してユーザを追加します。

01
02
03
04
05
06
07
08
09
10
11
12
<!--?php
require_once('AWSSDKforPHP/sdk.class.php');
 
// クラスを定義する
$iam = new AmazonIAM();
 
// ユーザを追加する
$response = $iam--->create_user('sohei');
 
// 結果を確認する
var_dump($response->isOK());
?>

下記のようにユーザが作成されました。

そして、このユーザを既存のグループに追加してみます。
下記のように、ユーザ名、グループ名を指定して実行します。

01
02
03
04
05
06
07
08
09
10
11
12
<!--?php
require_once('AWSSDKforPHP/sdk.class.php');
 
// クラスを定義する
$iam = new AmazonIAM();
 
// ユーザをグループに追加する
$response = $iam--->add_user_to_group('team', 'sohei');
 
// 結果を確認する
var_dump($response->isOK());
?>

これにより、グループに追加することができました。

そして最後に、ユーザにポリシーを付与してみます。
今回は、S3のみ利用することができる権限を付与しました。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!--?php
require_once('AWSSDKforPHP/sdk.class.php');
 
// クラスを定義する
$iam = new AmazonIAM();
 
// 追加するポリシーの設定
$policy = new CFPolicy($iam, array(
 'Statement' =--> array(
  array(
   'Effect' => 'Allow',
   'Action' => 's3:*',
   'Resource' => '*'
  )
 )
));
 
// ユーザにポリシーを追加する
$response = $iam->put_user_policy('sohei', 's3-user', $policy->get_json());
 
// 結果を確認する
var_dump($response->isOK());
?>

下記のように、「s3-user」というポリシーを付与することができました。

※この記事は、なかの人(KUSSY8077)が書いています。