平凡エンジニアによる平凡ブログ

平凡インフラエンジニアがスキルアップを目指してプログラミングやクラウドやサーバといったインフラのアウトプットをしていきます!

【AWS】IAMって何?サービスの詳細と概要

今回のテーマ

AWSにて主に認証関係で使用されるIAMについて
概要をまとめてみる。
AWS上での操作は今回は記載しません。

目次

  • IAMとは
  • IAMで主にできること
  • IAMにおけるベストプラクティス

IAMとは

AWS公式ページを抜粋すると以下の定義になります。

AWS Identity and Access Management (IAM) は、AWS リソースへのアクセスを安全に管理するためのウェブサービスです。

要はログインできるユーザを作成したり、ユーザの権限を設定したり
認証で使用される
のがこのサービスです。

機能はもちろん違いますが、イメージとして
WindowsでいうとActive Directoryの役割を担うのがこのIAMです。

IAMで主にできること

IAMでは様々な機能がありますが
おそらく実務上でも使用する基本的な機能についてまとめます。

  • IAMユーザの作成
    デフォルトだとAWS上のサービスを全て操作できる
    ルートユーザになっています。

    そのため操作してはいけない人が思いがけない操作をしてしまう可能性があるため、権限を割り当てたIAMユーザを作成して、そのアカウントを使用することが推奨されます。

  • IAMグループの作成
    個々のユーザ単位で権限を管理するのではなく、グループを作成して
    グループ単位で権限を与えて、そのグループにユーザを所属させることができます。

  • IAMポリシーの作成
    ポリシーとは操作権限のことです。AWSではデフォルトでポリシーが作成されています。

  例えばEC2サービスだけ全ての操作権限を与えたり独自でポリシーを
  作成することができます。

  • IAMロールの作成
    IAMロールとはユーザやグループにではなく、EC2などのサービスに対して与える権限のことです。
    例えばEC2インスタンスからS3(データベース)を操作する権限を与えたりすることができます。

IAMにおける良い運用方法

ではIAMでグループ、ユーザ、ロールを作成したが
実際にはどのように運用していくのが良いのか
以下の通りだと考えております。

  • IAMユーザを個々に作成する
    一つのアカウントを使い回すと誰が何の操作をしたかがわからなくなる
    ためなるべく1ユーザ1アカウントで管理する方がいい

  • グループごとに権限を管理する
    グループごとに管理することで例えば権限変更が発生した場合に個々のユーザに対して設定変更するのではなく、グループの権限変更をすれば良いため管理が効率化されます。

  • 権限は必要な権限を必要な人に
    これは基本的な考えですが、必要以上の権限は与えないようにします。

  • 不要なユーザや権限は削除する
    退職した方などのユーザは定期的に削除することが必要です。
    特にAWSはインターネットが使えれば、外部から使用することができるので 重要です。

まとめ

今回学んだことをまとめる。

  • IAMとは認証系のサービス
  • IAMの基本機能にはユーザ、グループ、ポリシー、ロールの作成がある
  • IAMのベストプラクティスについて

クラウドサービスのデメリットでもあると思うが、AWSのコンソール画面は
自宅のパソコンからも開けてしまうのでIAMを活用したセキュリティ面は
しっかり運用していく必要があると感じました。

今回は操作画面はなしでしたが、実際にコンソールに入って
サービスを触ったりUdemyでもわかりやすくまとめられている動画もあるのでそちらを参考にしてもらえればと思います。

今回は基本的な機能を中心にまとめましたが、後日アソシエイトの資格対策として深くまとめていきます。

参考

IAM とは - AWS Identity and Access Management

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版