IAM

AWSの仕組み

・アンマネージド型  スケーリング / 耐障害性 / 可用性を利用者側で設定し、管理する必要がある  メリット:設置が柔軟に可能  デメリット:管理が面倒

・マネージド型  スケーリング / 耐障害性 / 可用性がサービスに組み込まれており、AWS側で管理される  メリット:管理が楽  デメリット;設定が限定的

IAM

概要

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

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

IAMとは

AWS Identity and Access Management(IAM)は安全にAWS操作を実施するための認証・認可の仕組み →アクセス権限をどう管理するか・どう与えるかなどのアクセス権限全般の管理をする認証などの仕組み

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

ユーザー

ルートユーザー

最初に作成されるのがルートユーザー。 普段はあまり使わない。

AWSルートアカウントのメールアドレスやパスワード変更 ・IMAユーザーの課金情報へのアクセスに関するactivate / deactivate ・他のAWSアカウントへのRoute53のドメイン登録の移行 ・CloudFrontのキーペア作成 ・AWSサービス(サポート等)のキャンセル ・AWSアカウントの停止 ・コンソリデイテッドビリングの設定 ・脆弱性診断フォームの提出 ・逆引きDNS申請

IAMユーザー

IAMポリシー内でAWSサービスを利用できるユーザー。 基本操作はIAMユーザーで実施することになる。

設定上限 1アカウントで5000ユーザーまで作成可能

設計内容 ユーザー名 パス(オプション)  ユーザーにオプションとして設定できる情報であり、パスを元にユーザーの検索が可能となる。  組織階層やプロジェクトなどを設定できる。

所属グループ  10のグループまで設定可能。

パーミッション  AWSサービスへのアクセス権限

IAMグループ

設定上限 1アカウントで300グループまで作成可能

設計内容 グループ名

パス(オプション) 組織階層などをセット

パーミッション グループに設定したパーミッションはIAMユーザーに付与したパーミッションと同時に評価する。

IAMポリシー

IAMポリシーを作成してユーザーなどへのアクセス権限を付与(JSON形式)

・管理ポリシー AWS管理ポリシー  AWSが作成および管理する管理ポリシー

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

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

IAM設計

AWSを利用するユーザーの役割やアクセス権限を自社の組織構造と合わせて設計することが重要。

ベストプラクティス

1、アカウント設定などの重要な場合を除いて、ルートユーザーを利用しない 2、ルートユーザーなどの特権ユーザーに対して、MFAを有効化する 3、利用者ごとにIAMユーザーを作成する 4、組織利用の場合は、役割ごとのIAMグループを作成してグループで管理するのを基本とする 5、最小限の権限設定と不要な認証情報は削除を心がける 6、ユーザーのために強度の高いパスワードポリシーを設定する 7、EC2インスタンスで作動するアプリケーションなどプログラムから利用する場合はなるべくロールを使用する 8、モバイルやアプリケーションも含め、一時利用にはSTSなどで最小限の利用許可を与える 9、AWSアカウントのアクティビティを常に監視する

AWS Organizations

IAMのアクセス管理を大きな組織でも楽に実施できるようにするマネージド型サービス

複数アカウントの一元管理 ・新規アカウント作成の自動化 ・一括請求

組織という単位を構成して、マスターアカウントがメンバーアカウントを管理するという仕組み

機能セットの選択

支払い一括代行とアカウントの全体管理 ・Consolidated Billing Only  →支払一括代行のみを実施する場合に選択 ・All Feature  →支払一括代行も含めて、企業内の複数アカウントを統制したい場合に選択

マスターアカウントの設定

AWSアカウントの中からマスターアカウントを選定する