search
LoginSignup
0

More than 1 year has passed since last update.

posted at

updated at

AWSを勉強する - IAM

AWS Identity and Access Management(IAM)は、AWSを使用するユーザーのアクセス権限を管理する。

AWSのアカウントの種類

ルートユーザー

AWSアカウント作成時に作られるIDアカウント
ルートユーザーは、ネットワーク上のどこからでも操作できる権限を持っている。(Administrator的存在)
AWSでシステムを構築・運用する際は、このアカウントを使うことは極力避ける!!!

ルートユーザーしかできないこと

  • AWSルートアカウントのメールアドレスやパスワードの変更
  • IAMユーザーの課金情報へのアクセスに関するactivate/deactivate
  • 他のAWSアカウントへのRoute53のドメイン登録の以降
  • CloudFrontのキーペアの作成
  • AWSサービス(サポートなど)のキャンセル
  • AWSアカウントの停止
  • コンソリデイテッドビリングの設定(複数アカウントを統合した請求の設定)
  • 脆弱性診断フォームの提出(AWSに脆弱性の診断ができる)
  • 逆引きDNS申請

IAMユーザー

AWSを利用する各利用者向けに作成されるアカウント
システム構築・運用する際は、このアカウントを使う。

AWS Organizations(組織アカウント)

IAMのアクセス管理を大きな組織でも楽に実施できるようにするサービス

  • 複数のAWSアカウントを一元管理:AWSアカウントをグループ化してポリシーを適用して一元的に管理できる
  • 一括請求:複数AWSアカウントの請求をひとまとめにする一括決済が可能
  • 新規アカウント作成の自動化:コンソール、SDK、CLIでAWSアカウントを新規作成して、作成内容をログ管理できる

IAMの機能

IAMには次の4つの機能がある。

  • IAMポリシー
  • IAMユーザー
  • IAMグループ
  • IAMロール

IAMポリシー

Action(どのサービスの)、Resource(どういう機能や範囲を)、Effect(許可/拒否)という3つの大きなルールに基づいて権限を設定する。

ポリシー:ユーザーやグループ、ロールに付与する権限をオブジェクトとして管理する

  • インラインポリシー:対象ごとに作成・付与するポリシー
  • 管理ポリシー:1つのポリシーを複数のユーザーやグループに適用できる
    • AWS管理ポリシー:AWS側が用意しているポリシー
    • カスタマー管理ポリシー:ユーザー自身が管理するポリシー

基本的には、AWS管理ポリシーで基本的な権限を付与し、カスタマー管理ポリシーでIPアドレス制限などの制約を行う。
インラインポリシーは、管理が煩雑になるので、基本的には使わない。(一時的に個別のユーザーに管理を付与するときに利用するなど)

IAMユーザーとIAMグループ

ユーザーは、AWSを利用するために各利用者に1つずつ与えられる認証情報(ID)。
IAMユーザーの認証方法は、次の2つ

  • ユーザーIDとパスワード:Webコンソールにログインするときに使用。
  • アクセスキーとシークレットアクセスキー:CLIやAPIからAWSのリソースにアクセスする場合に使用。

グループは、同じ権限を持ったユーザーの集まり。
認証されたユーザーがどういった権限(サービスの利用可否)を持つかを管理する。

グループとユーザーは、多対多の関係である。

IAMユーザー

1アカウントで5000ユーザーまで作成可能

設計内容

  • ユーザー名
  • パス(オプション):パスを元にユーザーの検索ができ、組織階層やプロジェクトなどを設定できる
  • 所属グループ:10のグループまで設定可能
  • パーミッション:AWSサービスへのアクセス権限

IAMグループ

1アカウントで300グループまで作成可能

設計内容

  • グループ名
  • パス
  • パーミッション:グループに設定したパーミッションは、IAMユーザーに付与したパーミッションと同時に評価する

IAMロール

一時的にAWSリソースへのアクセス権限を付与する場合に使用。

例)

  • AWSリソースへの権限付与:EC2インスタンス上で稼働するアプリケーションに一時的にAWSのリソースへアクセスする権限を与えたい
  • クロスアカウントアクセス:複数のAWSアカウント間のリソースを1つのIAMユーザーで操作したい
  • IDフェデレーション:社内のADサーバーに登録されているアカウントを使用して、AWSリソースにアクセスしたい
  • Web IDフェデレーション:FacebookやGoogleのアカウントを使用してAWSリリースにアクセスしたい

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0