【AWS入門】IAMについて簡単にまとめてみた
目次
こんにちは。都築です。
これからAWSを初めよう、AWSを初めてみたけどまず何から学んでいけばよいか分からないという方向けに、今回はAWSへのアクセス管理サービスであるIAMについて簡単にご説明したいと思います。
AWSを利用するうえで権限は特に注意が必要な部分です。まずは基本的な部分をご紹介できればと思いますので、ぜひご覧ください。
IAMとは
まず、IAMはAWSアクセス管理サービスですので意味合い的にI am 〇〇なのかと思う方もいるのではと思いますが、公式によると「AWS Identity and Access Management」の頭文字をとったものです。
AWSのコンソールにログインする際や、AWS CLIやAWS SDKなどでAWSのサービスを利用する際などに使用します。AWSにサインアップした際に作成されるルートアカウントでも各サービスの利用は可能です。
ですが、ルートアカウントはすべての権限を持っているので、日常的に利用する際には権限を絞ったIAMユーザーを作成しての利用が推奨されています。
IAMユーザーとは
IAMユーザーとは、公式によると「アカウントでAWSを操作するために長期的な認証情報を持つアイデンティティです。」とされています。
要はAWSを利用する人やアプリケーションにあたる一意のものです。企業や団体でAWSを利用する場合、1つのアカウントに複数の人やアプリケーションがアクセスすると思いますが、その人やアプリケーションごとにIAMユーザーを作成することになります。
AWSのコンソールにログインする際にも、以下のような画面からIAMユーザーとしてログインします。
ユーザーグループとは
ユーザーグループとは、公式によると「IAMユーザーの集合です。グループを使用して、ユーザーの集合への許可を指定します。」とされています。
例えば会社単位では1つのアカウントで、部署ごとに権限を変えたい場合、IAMユーザーそれぞれで権限を設定することも可能ですが、管理/変更が煩雑になってしまいます。そこでIAMユーザーで権限を設定するのではなく、ユーザーグループに権限を設定し、IAMユーザーをユーザーグループに所属させる形で各IAMユーザーの権限を設定することができます。
IAMユーザーが持っている権限はIAMユーザー自体に設定された権限+IAMユーザーが所属するユーザーグループに設定された権限になります。
ロールとは
ロールとは、公式によると「短期間有効な認証情報を持つアクセス権を持つアカウント作成できるアイデンティティです。信頼するエンティティにロールを委任することもできます。」とされています。
ユーザーやユーザーグループと異なり、AWSのサービスや別のアカウントに対し権限を設定することができます。例えばAWSのサービスであるEC2に同じくAWSのサービスであるS3への操作権限を付与するなどができます。
IAMユーザーがS3を利用するときはIAMユーザーに対しS3の権限を設定しますが、EC2が利用するときにはS3へのアクセス権限を設定したロールをEC2に付与します。具体的にはAWSのサービスレベルではなく「〇〇というEC2が△△というSESを利用できる」というように対象を絞ってロールを作成することになります。
ポリシーとは
ポリシーとは、公式によると「AWSのオブジェクトであり、アイデンティティやリソースに関連付けて、これらのアクセス許可を定義します」とされています。
前述でIAMユーザーやロールに権限を設定すると記載していますが、厳密にいうと権限を設定したポリシーをIAMユーザーやロールに付与することになります。利用者が独自にポリシーを作成することもできますが、S3に対する全ての権限や参照のみの権限といったようにAWSがデフォルトで用意しているポリシーもあります。
IDプロバイダとは
IDプロバイダとは、公式によると「外部IDプロバイダー(IdP)を使用して、AWS外のユーザーIDを管理できます。外部IdPは、OpenID Connect(OIDC)またはSecurity Assertion Markup Language(SAML)のいずれかを使用してID情報をAWSに提供できます。」とされています。
例えばGoogleやFacebookなどのアカウントを利用してAWSを利用・操作することが出来ます。これによって複数のIDを管理することなく一元管理することが出来ます。
AWSコンソールでのIAM設定方法
IAMを設定するには、まずrootもしくはIAM操作権限を付与したIAMユーザーでAWSのコンソールにログインして設定します。AWSコンソールにログインし、画面上部にあるサービスの検索欄にIAMと入力してIAMを選択します。
IAMにアクセスすると、下記のように画面に現在作成されているユーザーグループ、ユーザー、ロール、ポリシー、IDプロバイダが表示されています。
それぞれを組み合わせて適切な権限を持ったアクセスするためのIAMを作成していきます。
まとめ
いかがでしたでしょうか。
簡単にではありますが、今回はAWSのIAMについてご紹介させていただきました。システムのセキュリティを強固にするためにも、しっかりと理解し、適切な権限を設定していければと思います。
《関連記事》
アシスタントマネージャー K.Tsuduki 設計思想やAWSなどの技術系のネタや年末年始には初夢をみるチャレンジなど面白系ブログを書いています。