はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません
IAMポリシーの種類
まず、2つに分かれる。
・管理ポリシー
・インラインポリシー
管理ポリシーがさらに2つに分かれる。
・管理ポリシー
・AWS管理ポリシー
・カスタマー管理ポリシー
・インラインポリシー
AWS管理ポリシーはReadOnlyAccessみたいないつもデフォルトで使ってるリソースのこと。
カスタマー管理ポリシーは自分でジェネレータとか使って作るいつものやつ。
この2つは複数のプリンシパルエンティティ(IAMユーザー、グループ、ロール)にアタッチできる。
管理ポリシーはポリシーのアタッチ/デタッチが自由にできる。
インラインポリシーはプリンシパルエンティティと1:1の関係であるため、複数のアタッチはできない。
いっつも忘れるけどプリンシパルは主な、とかそういう意味。
IAMデータベース認証とは
EC2インスタンスからRDSにセキュアに接続したい時とかに使う。
この認証方式ではID/Passwordではなく一時的な認証トークンを使用する。
IAMユーザーまたはロール、それに認証トークンを加えてRDSへ接続を行う。
IAMでSSL証明書を管理する
基本はACMを推奨。ただしACMがサポートされていないリージョンがあるため、その際はIAMにSSL証明書をインポートして管理する。
IAMを利用したベストプラクティス
まず、ユーザーの適切なアクセスレベルに応じたIAM権限を設定することが必要。
よって必要なアクションのみの実行に必要な最小限の権限が付与されていること。そしてそれをモニタリングし定期的に確認する。
上記以外にもまだまだある。以下の通り。
・AWSアカウントルートユーザーのアクセスキーをロックする
・個々のIAMユーザーを作成する
・IAMユーザーへのアクセス許可を割り当てるためにユーザーグループを使用する
・最小限の特権を認める
・AWS管理ポリシーを使用したアクセス許可の使用開始
・ポリシーの検証
・インラインポリシーではなくカスタマー管理ポリシーを使用する
・アクセスレベルを使用して、IAMのアクセス許可を確認する
・ユーザーのために強度の高いパスワードポリシーを設定する
・MFAの有効化
・EC2インスタンスで実行するアプリケーションに対し、ロールを使用する
・ロールを使用してアクセス許可を委任する
・アクセスキーを共有しない
・認証情報を定期的にローテーションする
・不要な認証情報の削除
・追加セキュリティに対するポリシー条件を使用する
・AWSアカウントのアクティビティのモニタリング
おわりに
引き続き追記します。
簡単ですが以上です。