IAMユーザーを作成せずに、企業がすでに利用している外部IDプロバイダー(IdP)を利用してAWS環境へのシングルサインオン(SSO)を実現する方法について解説します。これは「IDフェデレーション」と呼ばれる仕組みを利用します。
IDフェデレーションとは
IDフェデレーションとは、異なるセキュリティドメイン間でユーザーIDと認証情報を共有する仕組みです。この場合、企業がすでに利用しているActive Directory、Azure AD、Okta、Ping IdentityなどのIdPとAWSの間で信頼関係を確立し、IdPで認証されたユーザーがAWSリソースにアクセスできるようにします。これにより、AWSアカウントごとにIAMユーザーを作成・管理する必要がなくなり、管理オーバーヘッドを大幅に削減できます。
IDフェデレーションの仕組み
IDフェデレーションは、主にSAML 2.0(Security Assertion Markup Language 2.0)という標準規格を用いて実現されます。以下に大まかな流れを示します。
-
ユーザーが企業IdPにログイン:
ユーザーは普段利用している企業内の認証システム(例:Active Directory)にログインします。 -
IdPがSAMLアサーションを生成:
認証に成功すると、IdPはユーザー情報や属性情報(例:所属部署、役職)を含むSAMLアサーション(XML形式のデータ)を生成します。 -
SAMLアサーションをAWSに送信:
ユーザーはSAMLアサーションとともにAWSにリダイレクトされます。 -
AWSがSAMLアサーションを検証:
AWSは事前に設定されたIdPの証明書を使用してSAMLアサーションを検証し、ユーザー情報を確認します。 -
AWSが一時的な認証情報(STSトークン)を発行:
検証に成功すると、AWS Security Token Service (STS) が一時的な認証情報(アクセスキーID、シークレットアクセスキー、セッショントークン)を発行します。 -
ユーザーがAWSリソースにアクセス:
ユーザーはこの一時的な認証情報を使用して、AWS Management Console、AWS CLI、AWS SDKなどを通じてAWSリソースにアクセスできます。
AWSにおけるIDフェデレーションの設定方法
AWSでIDフェデレーションを設定するには、主に以下の2つの方法があります。
• AWS IAM Identity Center (旧 AWS Single Sign-On):
複数のAWSアカウントやクラウドアプリケーションへのSSOを集中管理するためのサービスです。IdPとの連携設定を簡素化し、ユーザーポータルを提供します。推奨される方法です。
• IAMロールとIdPの直接連携:
IAMロールとIdPを直接連携させる方法です。より細かい設定が可能ですが、設定作業はやや複雑になります。
AWS IAM Identity Center (旧 AWS Single Sign-On) を利用する場合
-
AWS IAM Identity Center を有効化:
AWS Management ConsoleでIAM Identity Centerを有効にします。 -
IdPとの接続を設定:
企業で利用しているIdP(例:Active Directory、Azure AD、Okta)との接続を設定します。メタデータファイルの交換や設定情報の入力などを行います。 -
ユーザーまたはグループをAWSアカウントに割り当て:
IdPのユーザーまたはグループをAWSアカウントに割り当て、アクセス権限を設定します。 -
ユーザーがAWSにアクセス:
ユーザーは企業IdPのポータルまたはAWS IAM Identity CenterのユーザーポータルからAWSにアクセスできます。
IAMロールとIdPの直接連携を利用する場合
-
IAMでIdPエンティティを作成:
IAMでIdPの情報を登録します。メタデータドキュメントのアップロードなどを行います。 -
IAMロールを作成:
AWSリソースへのアクセス権限を定義したIAMロールを作成します。 -
ロールに信頼ポリシーを設定:
作成したIAMロールに信頼ポリシーを設定し、IdPからのアクセスを許可します。 -
IdP側でAWSへの接続を設定:
IdP側でAWSへの接続情報を設定します。
メリット
• 集中管理:
ユーザーアカウントを一元管理できるため、管理オーバーヘッドを削減できます。
• セキュリティ強化:
IAMユーザーのパスワード管理が不要になるため、パスワード漏洩のリスクを低減できます。
• ユーザーエクスペリエンスの向上:
ユーザーは普段利用している認証情報でAWSにアクセスできるため、利便性が向上します。
まとめ
IAMユーザーを作成せずに、企業が既に利用している外部アカウントを利用してAWS環境へのシングルサインオンを実現する方法について解説しました。AWS認定試験においても、IDフェデレーションの概念、仕組み、設定方法などは頻出するため、しっかりと理解しておくことをお勧めします。特に、以下の点を意識して学習すると良いでしょう。
• IDフェデレーションの概念とメリット
• SAML 2.0の役割
• AWS IAM Identity Center (旧 AWS Single Sign-On) の利用
• IAMロールとIdPの直接連携
これらの情報を参考に、AWS環境へのSSO導入を検討してみてください。
END