menu

【JAVA AWS IAM】IAM作成方法

公開日:2020年08月11日 カテゴリー:Java, Spring Boot, 開発

JavaでIAMを作成

今回は、AWSのIAMユーザをJavaを使用し、作成する際のいろいろを紹介しようと思います。

環境

Java 11

Spring Boot 2.1.0

Maven

 

前提

Springでの開発環境はすでに構築済みという前提ですので、あらかじめご了承ください。

 

IAMユーザとは?(簡単に)

AWSリソースへのアクセスを行う際に、権限や、使用できるサービスなどを制限し、安全に管理するために用意されているユーザです。

使用することで、例えば、S3の特定のバケットのみアクセスできるようにして、大事な情報が入っているバケットにはアクセスさせたくない!みたいなことが設定できます。

 

準備

ライブラリの依存関係を追加

では早速本題に。

まずは、AWSのライブラリを取得します。

今回はMavenを使用し、ライブラリの管理を行います。

pom.xmlに以下を追加してください。

バージョン等は、最新のものがある場合はそちらを利用するようにしてください。

 

認証情報を追加

SpringでAWSの操作を行う規定のユーザ(IAM)を作成する必要があります。

AWSの操作を行うためのIAMの作成

  1. AWSコンソールにログイン
  2. IAMサービスのダッシュボードに画面遷移
  3. 「ポリシー」をクリック
  4. 「ポリシーの作成」をクリック
  5. 「JSON」タブを選択肢、以下のコードを張り付け

    ※IAMユーザの登録に関する権限を与えます
  6. 「ポリシーの確認」をクリック
  7. 名前と説明を入力し、「ポリシーの作成」をクリック
  8. 「ユーザ」をクリック
  9. 「ユーザーを追加」をクリック
  10. ユーザ名を入力し、「プログラムによるアクセス」にチェックを行い、次のステップへ
  11. 「既存のポリシーを直接アタッチ」をクリック
  12. 手順7で入力した名前を検索し、チェックを行い、「次ステップ:タグ」をクリック
  13. 「次ステップ:確認」をクリック
  14. 「ユーザーの作成」をクリック

これで作成は完了です。

作成後に表示される、アクセスキー、シークレットキーこの後使用しますので大切に保管してください。

Springに認証情報を追加

application.ymlまたは、application.propertiesに先ほど作成を行った、認証情報を下記のように設定します。

ymlファイルの場合

propertiesの場合

認証情報をオブジェクトで取得

コピペで使用できます!
@Dataはlombokを使用しておりますので、使用方法がわからない場合は、getter、setterを用意してください。

これで、認証情報の設定は完了です!

また、ここまでで、準備は完了です!

 

IAM作成

大きく分けて

  • ユーザの作成
  • policyの付与
  • アクセスキー、シークレットキーの発行

の3つの処理が必要になります。

以下のソースが全文になります。

コメントで何をやっているかを記載していますので、ご参考下さい。

 

これで後は、 createIanUserメソッドを呼びだせばIAMの作成ができます!

コピペで使用できるようにしていますが、ConfigReaderクラスのインポートを忘れずに行ってください。

 

まとめ

いかがでしたでしょうか。

IAMの作成はできましたか?

Policyの設定をいろいろ修正すれば、S3のアクセスだけでなく、他のサービスの権限も与えることができるので、アレンジして使ってみてください!

弊社ではお客様の課題を解決や業務の効率化に全力で取り組んでいます。
コストを抑えた最適な方法をご提案致しますので、ご興味がありましたら
お気軽にお問合せください。