IAM Identity Centerとは?SSOと複数AWSアカウントのアクセス管理を初心者向けに解説

  • URLをコピーしました!

前の記事では、 Amazon Cognitoについて学びました。

Cognitoは、Webサイトやモバイルアプリを利用する エンドユーザーの認証に利用できるサービスでした。

では、企業で働く社員が複数のAWSアカウントを利用する場合は どのようにアクセスを管理すればよいのでしょうか?

開発用・検証用・本番用のAWSアカウントがある。
社員ごとに各AWSアカウントへIAMユーザーを作る?

AWSアカウントが増えるたびにIAMユーザーを個別管理すると、 ユーザーや権限の管理が複雑になっていきます。

そこで利用できるのが、 AWS IAM Identity Centerです。

☁ AWS BEGINNER

この記事はAWS初級講座の一部です。 AWSを基礎から順番に学びたい場合は、講座一覧から学習順を確認できます。

AWS初級講座を見る →
LESSON GOAL この記事のゴール

IAM Identity Centerが 「組織のユーザーによるAWSアカウントやアプリケーションへのアクセスを一元管理する仕組み」 であることを理解し、IAMやAmazon Cognitoとの違いを説明できる状態を目指します。

目次

IAM Identity Centerとは?

AWS IAM Identity Centerは、 企業などの組織で働くユーザーの AWSアカウントやアプリケーションへのアクセスを一元管理 するためのサービスです。

以前は AWS Single Sign-On(AWS SSO) という名称でした。

名前は変わりましたが、 複数のAWSアカウントなどへのアクセスを まとめて管理できるという考え方が重要です。

01 ユーザーを管理

組織でAWSを利用するユーザーやグループを管理

02 権限を管理

どのAWSアカウントで何ができるかを管理

03 まとめてアクセス

割り当てられたAWSアカウントやアプリへアクセス

なぜIAM Identity Centerが必要なの?

1つのAWSアカウントしか利用していない場合は、 複数アカウント管理の問題をイメージしにくいかもしれません。

しかし企業では、 用途ごとにAWSアカウントを分けることがあります。

AWS ACCOUNT 開発環境
AWS ACCOUNT 検証環境
AWS ACCOUNT 本番環境

ここに複数の社員がアクセスするとします。

各AWSアカウントへ社員ごとのIAMユーザーを個別に作成すると、 AWSアカウントが増えるほど管理対象も増えていきます。

× INDIVIDUAL MANAGEMENT
開発AWS 田中IAMユーザー
佐藤IAMユーザー
鈴木IAMユーザー
検証AWS 田中IAMユーザー
佐藤IAMユーザー
鈴木IAMユーザー
本番AWS 田中IAMユーザー
佐藤IAMユーザー
鈴木IAMユーザー

社員が退職した場合などには、 複数のAWSアカウントに存在するユーザーを確認する必要もあります。

そこで、 ユーザーとAWSアカウントへのアクセスを 中央で管理する考え方が重要になります。

IAM Identity Centerならアクセスを一元管理できる

WORKFORCE USERS 組織のユーザー 田中さん / 佐藤さん / 鈴木さん
AWS IAM IAM Identity Center ユーザー・権限・アクセスを一元管理
AWS ACCOUNT 開発
AWS ACCOUNT 検証
AWS ACCOUNT 本番

IAM Identity Centerを利用すると、 どのユーザーが、どのAWSアカウントへ、どの権限でアクセスできるか を中央で管理できます。

POINT 複数AWSアカウントのアクセス管理をシンプルにできる

AWS Organizationsと組み合わせることで、 組織内の複数AWSアカウントへのアクセス権限を IAM Identity Centerから管理できます。

SSO(シングルサインオン)とは?

IAM Identity Centerを理解するときに覚えておきたいのが SSO(Single Sign-On)です。

SSOとは、 一度の認証によって複数のサービスやシステムへアクセスしやすくする仕組み です。

USER 社員
開発AWS 検証AWS 本番AWS

ユーザーはIAM Identity Centerの AWSアクセスポータルへサインインすると、 自分に割り当てられているAWSアカウントやアプリケーションを確認できます。

AWSアクセスポータルからAWSアカウントへアクセスする

IAM Identity Centerを利用するユーザーは、 AWSアクセスポータルから 割り当てられたAWSアカウントへアクセスできます。

AWS ACCESS PORTAL アクセス可能なAWSアカウント

ただし、 表示されているAWSアカウントで 何でも操作できるわけではありません。

そこで重要になるのが Permission Set(アクセス許可セット) です。

Permission Set(アクセス許可セット)とは?

Permission Setは、 IAM Identity Centerで ユーザーやグループがAWSアカウントで利用できる権限を定義する仕組み です。

たとえば、 次のようなアクセス許可セットを用意できます。

PERMISSION SET AdministratorAccess

管理者向け

PERMISSION SET PowerUserAccess

開発者向け

PERMISSION SET ReadOnlyAccess

参照のみ

そして、 ユーザー・AWSアカウント・Permission Setを 組み合わせてアクセスを割り当てます。

USER 田中さん
AWS ACCOUNT 開発環境
PERMISSION SET PowerUser
結果

田中さんは「開発AWSアカウント」に 「PowerUser相当の権限」でアクセスできる

Permission SetとIAMポリシーは何が違う?

以前の記事で学習した IAMポリシーとの違いも整理しておきましょう。

IAM POLICY 権限そのものを定義

どのAWSサービスに対して どの操作を許可・拒否するかを定義

VS
PERMISSION SET アクセス権限のテンプレート

IAMポリシーなどを利用して AWSアカウントで利用する権限を定義

Permission Setには、 AWS管理ポリシーやカスタマー管理ポリシー、 インラインポリシーなどを利用できます。

IAMポリシー = 権限のルール Permission Set = AWSアカウントへ割り当てる権限のテンプレート

Permission Setを割り当てるとIAMロールが作られる

Permission Setは、 単にIAM Identity Centerの画面上だけで動作する仕組みではありません。

ユーザーやグループにAWSアカウントへのアクセスを割り当てると、 IAM Identity Centerによって対象AWSアカウント側に 対応するIAMロールが作成・管理されます。

IAM IDENTITY CENTER Permission Set
AWS ACCOUNT IAMロール
USER 一時的に利用

ここで、以前学習した IAMロールの知識につながります。

ユーザーはIAM Identity Center経由で 割り当てられたロールを利用してAWSへアクセスします。

CONNECTION IAMロールの「一時的に権限を利用する」という考え方

IAM Identity CenterからAWSアカウントへアクセスするときも、 IAMロールと一時的な認証情報が重要な役割を持っています。

ユーザー情報はどこで管理する?

IAM Identity Centerでは、 ユーザー情報をIAM Identity Center内で管理することもできます。

一方、すでに企業で利用している 外部のIDプロバイダーやディレクトリ と連携することもできます。

IDENTITY SOURCE Identity Center
ディレクトリ
IDENTITY SOURCE 外部
Identity Provider
DIRECTORY Microsoft
Active Directory
AWS IAM Identity Center

つまり、 すでに企業で利用しているユーザー管理の仕組みを AWSアクセスにも活用できます。

さらに詳しく

Active DirectoryとIAM Identity Centerを連携する方法については、 既存の関連記事で詳しく解説しています。 初級では「既存のユーザー管理基盤と連携できる」と理解できれば十分です。

IAM Identity CenterとActive Directoryの連携を詳しく見る →

IAM・Cognito・IAM Identity Centerの違い

ここまで学習した認証・認可関連のサービスを 一度整理してみましょう。

仕組み 主な対象 主な用途
IAM AWSのワークロードやIAMアイデンティティなど AWSリソースへのアクセス権限を管理
Amazon Cognito アプリのエンドユーザー Web・モバイルアプリのユーザー認証・認可
IAM Identity Center 組織のワークフォースユーザー AWSアカウントやアプリへのアクセスを一元管理
IAM → AWSのアクセス権限 Cognito → アプリの利用者 IAM Identity Center → 組織の利用者

理解度チェック:どのサービスを使う?

IAM・Cognito・IAM Identity Centerの どれを使うのが適しているか考えてみましょう。

IDENTITY SIMULATOR

この場面では何を使う?

SCENARIO 1 / 3

どれを使うか考えてみましょう

「誰のアクセスを管理するのか」に注目しましょう。

初心者が間違えやすいポイント

① IAM Identity CenterとIAMは同じもの

名前にはどちらも「IAM」が入っていますが、 役割は同じではありません。

IAMはAWSリソースへのアクセス制御の基盤となるサービスで、 IAM Identity Centerは ワークフォースユーザーのAWSアカウントやアプリへのアクセスを一元管理 するために利用します。

② Permission SetはIAMポリシーとまったく同じ

× WRONG Permission Set = IAMポリシーの別名

Permission Setは、 IAMポリシーなどを利用して AWSアカウントで利用する権限を定義する アクセス権限のテンプレートです。

③ IAM Identity CenterはCognitoの代わりになる

CognitoとIAM Identity Centerでは、 主な対象となるユーザーが異なります。

Cognito → Web・アプリのエンドユーザー IAM Identity Center → 組織のワークフォースユーザー

確認問題:IAM Identity Centerを理解できたか確認しよう

QUESTION 01

IAM Identity Centerの主な用途として適切なのはどれですか?

正解:B

IAM Identity Centerは、 ワークフォースユーザーのAWSアカウントや アプリケーションへのアクセスを一元管理できます。

QUESTION 02

Permission Setの役割として適切なのはどれですか?

正解:C

Permission Setは、 ユーザーやグループがAWSアカウントで利用する アクセス権限を定義するための仕組みです。

QUESTION 03

ECサイトの一般会員をログインさせたい場合、より適しているサービスはどれですか?

正解:A

Web・モバイルアプリなどの エンドユーザー認証にはAmazon Cognitoを利用できます。 IAM Identity Centerは主に組織のワークフォースユーザーを対象とします。

YOUR SCORE 0 / 3

3問に挑戦してみましょう。

まとめ

01

IAM Identity Centerは 組織のユーザーによるAWSアカウントやアプリへのアクセスを一元管理 できる

02

複数のAWSアカウントへのアクセスを 中央から管理できる

03

ユーザーは AWSアクセスポータルから割り当てられたAWSアカウントなどへアクセスできる

04

Permission Setによって、 AWSアカウントで利用する権限を定義する

05

外部IdPやActive Directoryなどの 既存のユーザー管理基盤と連携することもできる

次はAWSで必要になるネットワークの基礎を学ぼう

ここまでAWSの基本やIAM関連の仕組みについて学んできました。

ここからVPCやEC2など、 AWSの具体的なサービスを理解していくためには ネットワークの基礎知識が重要になります。

TCP/IP 通信の基本
DNS 名前解決
ROUTING 通信経路

たとえばAWSでは、 VPC・サブネット・ルートテーブル・Route 53など、 ネットワークの知識を前提としたサービスや機能が数多く登場します。

次の記事では、 AWSを本格的に学習する前に知っておきたい TCP/IP・DNS・ルーティングの基礎を整理します。

NEXT LESSON

次は「AWSで必要なネットワーク基礎」を学びましょう

AWSのVPCやEC2を理解するための土台となる TCP/IP・DNS・ルーティングの基本を学習します。

「AWSの設定がなぜ必要なのか」を理解するための重要な基礎 です。

AWSを学ぶ前に知っておきたいTCP/IP・DNS・ルーティング
AWS BEGINNER

AWS初級講座の一覧へ戻る

AWS初級の学習順を確認したい場合は、 講座一覧へ戻りましょう。

← AWS初級講座へ戻る
目次