
最近家の近くに美味しいチーズケーキを出しているお店がある事に気付いた小室です。
今回はIAMの使い方について記事を書きます。
IAMとは
IAMとはAWS Identity and Access Managementの略で、AWSが提供するサービス、およびリソースのアクセスを管理する為のサービスです。これを使えばAWSへのアクセスを制限しよりセキュアにAWSを使う事が出来ます。
IAMの基本思想
IAMの基本思想は、最初にDeny(遮断)あり、です。EC2を起動された方はお分かりかもしれませんが、何も設定しないとEC2にアクセスが出来ないように、IAMもUsers/Groups/Role等を作ってもアクセスを許可する為のポリシーを追加sいないとどこにもアクセスが出来ません。
IAMは米国東部リージョンで提供されています(GovCloudリージョンは別ですが、我々日本に住んでいる人は対象外なのでここでは無視します)。その為リージョン毎の違いや未対応リージョンというのがありません。
IAMの使い方
Users編
AWSサービス、リソースを使うユーザーの単位になります。アプリケーション内で使うアカウント、利用ユーザー(ここでは人という意味で)単位です。具体的な作成、利用方法は以下に記載しました。
Groups編
グループはポリシーを適応し、そのグループ内にユーザーを入れる事で、権限(ポリシー)をユーザーに対して付与させる事が出来ます。具体的な作成、利用方法は以下に記載しました。
Roles編
ロールとは、上記ユーザーやグループと違い、EC2インスタンスに利用する機能です。例えばEC2内のアプリからS3へファイルのバックアップを定期的に行いたいとします。その場合ユーザーを使っても出来ますが、毎回アプリ内にユーザーの秘密情報を記載しなければいけないですし、EC2インスタンスの数が増えた時に対応が大変になります。
その時にロールを使うと、サービスとEC2間の認証をになってくれる為、アプリ内での認証情報を都度書き換える必要がありません。この機能は便利なのですが一点注意点としてAWSが提供しているSDK経由で利用が可能になります。具体的な作成、利用方法は以下に記載しました。
Password Policy編
その他
- IAM関連の(上限)数字を一覧にしてみた « サーバーワークス エンジニアブログ
- IAMの使い方: IAMユーザーのパスワード変更 « サーバーワークス エンジニアブログ
- IAMの使い方: Policy Simulatorでポリシーの確認する « サーバーワークス エンジニアブログ
参考URL
Identity Providers編は別途書いて本記事に後日追加したいと思います!次は多要素認証MFAについてです!