EC2インスタンスからAWS SDKやCLIを使用して、AWSリソースを操作する際に、APIのIDが必要となりますが、これをサーバ内に保管するのは、セキュリティ上を考えるとあまりオススメできません。そこで、IAMロールが登場します。これを使うことでサーバ内にAPIのIDを保管せずにAWSリソースの権限を割り充てることができます。今回はIAMロールをEC2インスタンスに設定してみたいと思います。
流れ
1.IAMロールの作成
2.EC2にIAMロールを設定する
設定方法
IAMロールの作成
1.左メニュー欄から[ロール]を選択し、[ロールの作成]をクリックします。
2.[AWSサービス]をクリックし、下のサービスから[EC2]を選択します。
3.下のユースケースの選択は、[EC2]を選択し、[次のステップ:アクセス権]をクリックします。
4.そして、権限を割り当てていきます。今回は例としてS3に対するFULL権限を設定してみます。検索ボックスのところに、s3で検索すると絞り込みができます。割り当てるポリシー名のチェックボックスをクリックします。クリック後に、[次のステップ:確認]を選択します。
5.確認画面では、ロール名の入力をします。また選択したポリシーが表示されていることも確認します。確認が完了したら[ロールの作成]を選択します。これでロールが作成されます。
EC2にIAMロールを設定する
1.EC2インスタンスを右クリック→[インスタンスの設定]→[IAMロールの割り当て/置換]の順に選択します。
2.先程、作成したIAMロールを選択し、[適用]をクリックします。
3.割り当てが完了したので、[閉じる]をクリックします。これでEC2に設定が完了しました。
検証
IAMロールを割り当てたサーバでS3のバケット一覧を表示するコマンドを実行してみると、バケット一覧が表示されることが確認できます。
[ec2-user@ip-10-31-200-249 ~]$ aws s3 ls 2016-05-27 00:27:55 000000000000-testtesttesttest222 2016-03-18 06:33:01 000000000000-test-7779 2016-04-08 03:17:47 000000000000-imput-test-dev-to 2016-04-28 08:10:25 000000000000-output-server-test-dev333666
以上