はじめに
こんにちは。
この記事はGFAMアドベントカレンダー2021の4日目の記事です。
IAMについてまとめてみました。
IAMの概要
IAMとは、Identity and Access Managementの略です。AWSサービスを使用するユーザーのための権限管理サービスです。AWSサービスを安全かつ適切に使用する上でしっかりと理解すべきサービスです。
ここでは、下記についての概要のみを記載します。
- IAMユーザー
- IAMグループ
- IAMポリシー
- IAMロール
IAMユーザーとは
IAMユーザーとは、管理者 (ルートユーザまたは管理者権限を持つIAMユーザー) によってアクセス権限を付与して作成されるユーザーです。このIAMユーザーは人間が使用する場合だけでなく、プログラムが使用する場合もあります。なお、IAMユーザーが作成された直後は、なにも権限が付与されていません。
アクセスの種類
IAMユーザーがAWSにアクセスする方法として下記2パターンがあります。
- AWSマネジメントコンソールへのアクセス
- AWSマネジメントコンソールにパスワードを使ってサインインできる
- プログラムによるアクセス
- アクセスキーIDとシークレットアクセスキーと一緒にAWS API、CLI、SDKなどの開発ツールからAWSリソースにアクセスできる
- IAMユーザーに付与された権限の範囲でなんでもできる
- このアクセスキーIDとシークレットアクセスキーは絶対に外部に公開してはならない (不正利用されるなど危険)
IAMグループとは
IAMグループとは、同じ目的や役割によってIAMユーザーをまとめたものです。例えば、管理者用グループ、開発者用グループ、営業用グループ・・・などのように作成します。このあとに記載するIAMポリシーをIAMユーザー単位ではなくIAMグループ単位で設定することができるため、管理が非常に効率よくなります。
IAMポリシーとは
IAMポリシーとは、AWSリソースの操作に対して許可・拒否を定義したものです。IAMポリシーにはAWSが用意しているAWS管理ポリシーとユーザーが用意するカスタマー管理ポリシーがあります。カスタマー管理ポリシーはJSON形式で定義します。
IAMロールとは
IAMロールとは、AWSリソースに対してIAMポリシーを付与する仕組みのことです。例えばEC2インスタンスに対して、AmazonS3FullAccessのポリシーを付与した場合、EC2上のプログラムはアクセスキーIDとシークレットアクセスキーを使用せずにS3のフルアクセスができる様になります。
おわりに
今回はIAMをまとめました。
IAMについてはしっかりと理解しておかなければセキュリティリスクを高めかねません。
億劫がらずにしっかりと学びたいですね。
次回はRDSについて学習します。