IAMについて

IAM

IAMの概要

責任共有モデル

セキュリティに対してAWSとユーザーとで責任分界して対応する責任共有モデルとなっている。

ユーザー側の責任範囲

・IAMによるアカウント管理 ・セキュリティグループの設定 ・アプリケーションのロールベースのアクセス設定 ・ネットワーク / インスタンスオペレーションシステム(バッチ)などの設定 ・OS / ホストベースのファイアーウォール設置

IAMとは

AWS Identity and Access Management(IAM)は安全にAWS操作を実施するための認証・許可の仕組み

AWS利用者認証の実施 ・アクセスポリシーの設定 ・ユーザー個人またはグループ毎に設定

ルートユーザー

最初に作成されるのがルートユーザーであり通常の管理には利用しないアカウント ・AWSアカウント作成時に作られるIDアカウント ・全てのAWSサービスとリソースを使用できる権限を有するユーザー ・日常的なタスクはルートユーザーを使用しないことが強く推奨される

IAMユーザー

・1アカウントで5000ユーザーまで作成可能 ・所属グループは10まで設定可能

IAMグループ

・1アカウントで300グループまで作成可能

IAMポリシー

ユーザーなどへのアクセス権限を付与

◾️管理ポリシー ・AWS管理ポリシー  AWSが作成及び管理する管理ポリシー

・カスタマー管理ポリシー  AWSアカウントで作成、管理する管理ポリシー  同じポリシーを複数のIAMエンティティにアタッチできる

◾️インラインポリシー ・自身で作成及び管理するポリシー  1つのプリンシパルエンティティ(ユーザー、グループ、またはロール)に埋め込まれた固有ポリシーで、プリンシパルエンティティにアタッチすることができる

IAMポリシーはJSON形式で設定

・Effect  Allow→許可  Deny→拒否

・Action  対象のAWSサービス  例:"s3:Get"

・Resource  対象のAWSリソース  ARNで記述

・Condition  アクセス制御が有効となる条件

ユーザーのアクティビティの記録

Access AdvisorのService Last Accessed Data  IAMエンティティ(ユーザー、グループ、ロール)が最後にAWSサービスにアクセスした日付と時刻を表示する機能

・Credential Report  利用日時などが記録されたIAM認証情報に係るレポートファイル

AWS Config  IAMのUser、Group、Role、Policyに関して変更履歴、構成変更を管理、確認することができる機能

AWS Cloud Trail  AWSインフラストラクチャ全体でアカウントアクティビティをログに記録し、継続的に監視し、保持することができる機能

アクセス権限の一時付与

AWS Security Token Service(STS)  動的にIAMユーザーを作り、一時的に利用するトークンを発行するサービス

・Temporary Security Credentials  AWSに対して一時的な認証情報を作成する仕組み

IAMの設計

IAM設計のベストプラクティス

1、アカウント設定などの必要な場合を除いて、ルートユーザーを利用しない

2、ルートアカウントなどの特権ユーザーに対して、MFAを有効化する

3、利用者ごとにIAMユーザーを作成する

4、組織利用の場合は、役割ごとのIAMグループを作成してグループで管理するのを基本とする

5、最小限の権限設定と不要な認証情報は削除を心がける

6、ユーザーのために強度の高いパスワードポリシーを設定する

7、EC2インスタンスで作動するアプリケーションなどプログラムから利用する場合はなるべくロールを使用する

8、モバイルやアプリケーションを含め、一時利用にはSTSなどで最小限の利用許可を与える

9、AWSアカウントのアクティビティを常に監視する

AWS 0rganizations

IAMのアクセス管理を大きな組織でも楽に実施できるようにするマネージド型サービス ・複数アカウントの一元管理  AWSアカウントをグループ化してポリシーを定期ようして一元的に管理する

・新規アカウント作成の自動化  コンソール / SDK / CLIAWSアカウントを新規作成して、作成内容をログ管理できる

・一括請求  複数AWSアカウントの請求を一括化する

機能セットの選択

支払一括代行とアカウントの全体管理の2つの方式を選択する

・Consolidated Biling Only  支払一括代行のみを実施する場合に選択

・All Feature  支払一括代行も含めて、企業内の複数アカウントを統制したい場合に選択

メモ ・パワーユーザー  管理者権限以外の全ての権限を有している

・IAMエンティティ  ユーザー、グループ、ロール