見出し画像

AWS IAM Identity Centerを利用したOrganizations組織外AWSアカウントへのSSOアクセス


はじめに


こんにちは!ITソリューション部インフラサービスGのイトウです。

AWS IAM Identity Center(旧AWS SSO) は、ユーザー認証とアクセス管理を簡素化するサービスです。

本ブログでは、

  1. IAM Identity Centerの主要機能を紹介し、

  2. Organizations外のAWSアカウントへのSSOアクセス設定方法を解説します。

AWS IAM Identity Centerの主な機能


1. 組織内の複数アカウントへのアクセス許可の一元化

AWS Organizationsで管理する組織内の複数のAWSアカウントへのアクセス管理を行えます。それぞれのユーザーがどのアカウントに対して、どの許可セットでアクセス可能なのかといった細かな設定を、管理アカウントの IAM Identity Centerの画面で一元的に管理することが可能になります。

2. 外部のID認証情報の利用

Microsoft Active DirectoryやGoogle Workspace、Okta、Onelogin などの外部IDプロバイダーと連携することで、既存の認証情報を利用してAWSアカウントにアクセスできるようにします。
外部IDプロバイダーを使用して社内システムのアクセス制御を行っている場合、IAM Identity Centerと統合することで、既存の属性ベースの認可をAWSアカウントに適用できます。

※ただし、アイデンティティを管理する場所は1箇所です。外部IdPとIAM Identity Centerの認証情報の併用はできません。

3. アプリケーションへのSSOアクセスの認証

IAM Identity Centerでアプリケーション割り当てを行うことで、SAMLを使用してアプリケーションにシングルサインオン(SSO)でアクセスできます。 ユーザーは組織のアクセスポータルにログインするだけで複数のアプリケーションにシームレスにアクセス可能です。

アプリケーションの例

  • AWSマネージドアプリケーション
    Amazon QuickSightやAmazon Q Developer、Amazon Kendraなど

    IAM Identity Centerを組織インスタンスとして有効化しているか、メンバーアカウントでアカウントインスタンスとして有効化しているかで、統合可能なマネージドアプリケーションが異なります。詳しくは以下のページをご参照ください。

    AWS managed applications that you can use with IAM Identity Center


  • カスタマーマネージドアプリケーション

    • SAML 2.0をサポートするアプリケーションのカタログから選択

    • 独自のアプリケーションをセットアップ

また、割り当ての設定対象には Organizations組織外のAWSアカウントも含まれます。
以下、Organizations組織外のAWSアカウントへのアクセス設定を実践していきます。

組織外AWSアカウントへのアクセス設定をやってみた


以下のステップバイステップ手順を参考に実施しています。

AWS IAM Identity Center (successor to AWS SSO) Integration Guide for External AWS Account

前提

  • Organizationsの管理アカウントにてIAM Identity Centerの管理者権限があること。

  • Organizations管理外のAWSアカウントのAWS IAMへの管理者権限があること。

Step 1. IAM Identity Centerでアプリケーションの割り当てを作成

管理アカウントのIAM Identity Centerから、アプリケーションの割り当てを作成します。

今回は外部アカウントを割り当てるので、「カタログからアプリケーションを選択する」を選択して、「External AWS Account」を選択します。

アクセスポータルに表示させる外部アカウントの表示名と説明を入力します。また、のちに必要になるメタデータファイルをダウンロードしておきます。IAM Identity Center側の設定はここでいったん終わりになるので「送信」を押して設定を保存します。

Step 2. 外部アカウントにてIDプロバイダとロールの作成

外部アカウントの IAMコンソールにてIDプロバイダを作成します。先ほどダウンロードしたメタデータファイルをアップロードして、IAM Identity CenterをIDプロバイダとして保存することが可能です。

さらにSAMLフェデレーションに利用するIAMロールを作成します。「ロールを作成」をクリックし、信頼されたエンティティタイプに「SAML 2.0フェデレーション」、プロバイダーに今作成したIDプロバイダを選択します。

今回はAdministrator Accessのマネージドポリシーを割り当てます。

名前と説明を入力して作成を完了します。

Step 3. IAM Identity Centerで属性のマッピング

管理アカウントのIAM Identity Centerにて属性マッピングの編集から以下の属性を追加します。

ACCOUNTIDは外部アカウントのID、SAMLPROVIDERNAMEとROLENAMEは、それぞれ Step 2で作成したIDプロバイダとロールの名前です。

Step 4. ユーザーの割り当て

アプリケーションにユーザーを割り当てます。IAM Identity Centerのユーザーもしくはグループ単位で割り当てが可能です。今回はグループを割り当てて、そのグループに属したユーザーで外部アカウントへのログイン検証を実施します。

「ユーザーとグループを割り当てる」をクリックし、割り当てるグループを選択して「割り当てる」をクリックします。

ログインしてみる

Step 4. で割り当てたグループ内のユーザーでアクセスポータルにログインします。
アプリケーションのタブを開くと外部AWSアカウントが表示されています。

リンクをクリックすると外部AWSアカウントのコンソールに遷移します。

SAMLフェデレーションのロールを用いて、アクセスが成功していることが確認できます。

ログインする際の権限を複数用意するには

今回はAdministrator Accessの権限で外部アカウントにアクセスしましたが、様々な権限を用意してユーザーごとに割り当てる権限を分けたい、という要件ももちろんあるかと思います。

異なる権限を用意するには、権限ごとに割り当てアプリケーションを作成し、外部アカウントでIDプロバイダとフェデレーション用ロールを作成して、ユーザーを割り当てる必要があります。

おわりに


AWS IAM Identity Centerは、複雑なアクセス管理を簡素化する非常に強力なツールです。本ブログで紹介した内容を参考に、自社のAWS環境での効率的な管理をぜひ実践してみてください!


執筆者プロフィール:伊藤
AWSを中心にクラウドの設計構築に携わってます。
IaCをもっと学んでいきたいです。
趣味はゲームと映画鑑賞です。

お問合せはお気軽に

SHIFTについて(コーポレートサイト)

SHIFTのサービスについて(サービスサイト)

SHIFTの導入事例

お役立ち資料はこちら

SHIFTの採用情報はこちら

PHOTO:UnsplashUriel SC