AWS IAM
https://gyazo.com/2f4406d4c6e30fe31c52ec60619136a4
IAM (AWS Identity and Access Management) とは、AWS ユーザーに対して AWSのリソースへのアクセスできる範囲やアクセス方法を安全に制御する ためのウェブサービス。その種類は以下。 table:iam
IAM リソース 概要
IAM User AWS を利用するアカウントに相当する
IAM Group IAM User をまとめて管理する
IAM Role AWS サービス、アプリケーション等に対して AWS の操作権限を付与する
IAM Policy AWS リソースに対する権限を設定する。
https://gyazo.com/12ca05fa83ea8424cd8fc12a79779f65
AWS を利用する人間が AWS を操作するときに利用する IAM リソース
AWS リソースが AWS を操作するときに利用する IAM リソース
IAM User
https://gyazo.com/272f9d8ec07ec7a1b7a436abbf2e8bfc
IAM User の中でも、初期に発行されるルートユーザアカウントは、流出するととんでもないことになるので、
基本的には別 IAM User を作成しそちらを利用する
と、良い。
MFA (Multi-Factor Authentication)
通常のアカウントパスワードに加えて、ワンタイムパスワードを使用してセキュリティを強化する仕組みのこと。
IAM Role
一時的なアクセスを提供
静的な AWS 認証情報の必要性を排除
アクセスキー/シークレットキーや、メールアドレス/パスワード等の認証情報を不要にする
ユースケース
AWS リソース権限をアタッチ
外部で認証されたユーザにアクセスを許可
第三者にアクセスを許可
https://gyazo.com/843bff0abc5461700d6859e527ffab8e
さらに詳しい話をすると、この時の 一時的な認証情報 の生成には、Amazon STS が利用されている。IAM Role には AssumeRolePolicyDocument という設定項目があり、ここに信頼する対象が埋め込まれる。例えば、AWS EC2 に IAM Role をアタッチした場合は、該当の EC2 インスタンスが信頼対象である。 ほかにも、Amazon Cognito と組み合わせることで、Facebook アカウントを認証することや、特定の AWS アカウントを認証 (クロスアカウントアクセス) することもできる。 IAM Policy
1つないし複数のアクセス許可を定義し、IAM Group/User/Role もしくは AWS リソースにアタッチできる。
アクセス許可は、デフォルトでは Deny に設定される。明示的な許可、拒否が設定されていた場合、それらが優先して適用される。ただし、競合が発生した場合は最も制限の厳しいポリシーが優先される。例えば、Allow よりも Deny の方が制約が厳しいため、単純に同一の対象に Allow, Deny の両方が設定されていた場合は、Deny が優先される。
その他セキュリティについて
AWS リソースにはタグ付けができるので、それを利用してポリシーを構築するという手がある。
以下はあとで読む。
フェデレーティッドユーザ
ID ブローカー アプリケーションを作成する
認証基盤で認証を行う
その他気になること
アクセス制御についてもまとめる