0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【ふりかえり】IAM

Last updated at Posted at 2023-07-10

IAMについて

「Identity Access Manager」の略。

AWSには、2種類のアカウントが存在する。

  • ルートユーザー
    全てのサービスを操作できるため、リスク高
    通常利用は避ける
  • IAMユーザー
    どのサービスをどの程度操作できるか、アクセス範囲を決めることができる

IAMを使うことで
「誰が」=認証「どのサービスにアクセスできるか(アクセス権限)」=認可 を決め、
ユーザがアクセスできるAWSリソースのアクセス許可を管理することができる。

3つの機能

  • IAMユーザ
    外部の人、リソースに付与する
    「ユーザ名」と「パスワード」が割り当てられる
    1つのAWSアカウントの中に複数作成OK
    デフォルト状態ではアクセス許可が割り当てられていない

  • IAMポリシー
    「アクセス権限」を記述したもの
    IAMユーザやIAMロールに割り当てることで、誰がどの権限を持つかを決める

  • IAMロール
    AWSのリソースに付与するもの
    必要なアクセス権限を一時的に付与するときに使う

IAM用語

よく使われるIAM用語たち

  • IAMリソース
    IAMに保存されているユーザー・グループ・ロール・ポリシー・IDプロバイダーを指す。
  • IAMアイデンティティ
    識別・グループ化するために使うリソースオブジェクト。
  • IAMエンティティ
    認証に利用されるIAMリソースオブジェクト。
  • プリンシパル
    ルートユーザー・IAMユーザー・IAMロールを利用してサインインしてAWSにリクエストを行う人・アプリケーションを指す。
  • ワークロード
    アプリケーション・バックエンドプロセスなどのビジネス価値を提供するリソース・コードの集合体のことを指す。

ポリシーとユーザー

IAMユーザーは、アクセス許可を付与されるまで、どのリソースにもアクセスできない。
アクセス許可を付与するには、アイデンティティベースのポリシーを作成し、ユーザ・グループにアタッチする。

dynamodb:* リージョン内の Books アカウント
123456789012 テーブルに対しすべての Amazon DynamoDB アクション (us-east-2) を実行することをユーザーに許可する。

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "dynamodb:*",
    "Resource": "arn:aws:dynamodb:us-east-2:xxxxxxxx:table/Books"
  }
}

IAMロール

特定のアクセス権限をもつIAMエンティティ

IAMユーザとの違い

  • ロールを必要とする人に割り当て可能
    →IAMユーザーの場合、1人の特定の人に一意に関連付け
  • ロールセッション用の「一時的なセキュリティ認証情報」が提供される
    →IAMユーザーの場合、標準の長期認証情報が付与される(パスワード・アクセスキー)

信頼ポリシー

JSONポリシードキュメントで、ロールを引き受けるための「信頼できるプリンシパル」を定義する。

シナリオ

ロールの一般的なシナリオ: ユーザー、アプリケーション、およびサービス

  • アクセス権を第三者に付与する時
    信頼ポリシーを用い、ロールを引き受けることができるユーザを指定する。
  • インスタンス停止時のアクセス権限
    最小権限の原則に則ったアクション
    気密性の高い環境を誤って変更・削除されることを防ぐ

IAMの一時的な認証情報

IAM の一時的な認証情報

AWS STS(Security Token Service)を用い、リソースへのアクセスを制御する「一時的なセキュリティ認証情報」をもつ信頼されたユーザを作成できる。

長期的なセキュリティ認証情報との違い

  • 有効期限は数分から数時間に設定できる
  • ユーザのリクエストに応じて自動的に生成される
  • 失効した場合、新しい認証情報をリクエスト可能(その時点で権限がある場合)

メリット

  • 長期のセキュリティ認証情報を配布しないので、セキュリティリスク低
  • ユーザーに対して、AWS IDを定義せずリソースへのアクセス制御が可能
  • 有効期限が限られているので、明示的に認証を取り消す必要がない

(STSについては後日、別記事で調べてまとめてみる)

参考

ポリシー・ロールの理解

0
0
0

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
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?