Identity and Access Management(IAM)
- AWSリソースへのアクセスを安全に管理することが出来るサービス。
誰が何を実行できるかを定義する。
ここでIAMユーザ、グループ、ロール、ポリシーを作成する。
以下重要な単語
-
認証(Authentication)
・・・サービスの利用者が本人であるか -
認可(Authorization)
・・・サービスの利用者が適切な権限を持っているか
-
グループ
IAMユーザの集まり。IAMユーザをグループに割り当てる。
さらにグループにポリシーを適用することでグループ内ユーザに権限が付与
される。一応ユーザ単体にポリシー付は可能だが、あまり推奨されていない。
一つのIAMユーザは、最大10種類のグループに入ることが可能。
-
ポリシー
JSON式のドキュメントであり、アイデンティティ(IAMユーザ、グループ、ロール)またはAWSリソース(S3,EC2)にアタッチ
⚪︎アイデンティティベースポリシー(IAMユーザ、グループ、ロール)
⚪︎リソースベースポリシー
→例:S3パケットポリシー、lamdaポリシー、KMSポリシー等
-
ロール
複数のポリシーによって構成される。ロールの役割はAWSサービス(EC2,Lamda等)にアクセス権限を付与してそのサービスがIAMユーザのように行動できるようにするもの。ポリシーを直接サービスにアタッチすることが出来ないので、ポリシーをロールにアタッチし、ロールをサービスにアタッチする。
-
簡単な仕組みと説明
・・・IAMによる認証はユーザ・グループ・ロールで行われ、認可はポリシーで行われる。ルートユーザはAWSアカウントを作成する際に最初に生まれるアカウントで、全権限を持つ。通常ルートユーザで管理者権限(AdministratorAccessポリシー)の付けたIAMユーザを作成する。
Key Management Service (KMS)
- データを暗号化/復号化のためのキーを一元管理するフルマネージドサービス。KMS上で暗号化/復号化のためのキーを簡単に生成・保管でき、リージョンごとに管理される。カスタマーマスターキー(CMK)と呼ばれるキーを用いて暗号化する。