レック・テクノロジー・コンサルティング株式会社TECH BLOG

Generative AI Use Cases (GenU) x Microsoft Entra IDでSSO構築

GenUは通常の認証に加えて、SAML連携によるSSOもサポートしています。
本記事では、Microsoft Entra ID とSAML連携を行う方法について詳しくご紹介します。

準備

最初にGenUをデプロイしておきます。

CloudFormation のスタック画面で GenerativeAiUseCasesStack を開き、「出力」の WebUrl の値をメモします。

image.png

次に、リソースタブから Cognito user pool の物理IDをメモします。

image-1.png

リンクをクリックし、Cognito のページを開きます。

Cognito設定:ドメイン設定

Cognito のメニューから「ドメイン」を開き、Cognitoドメインの作成を行います。作成したCognitoドメインをメモしておきます。

image-2.png

Entra ID設定

Azureポータルで Microsoft Entra ID を開き、「すべてのアプリケーション」→「新しいアプリケーション」をクリックします。

image-3.png

「独自のアプリケーションの作成」をクリックし、任意のアプリ名(ここではgenerative-ai-use-cases)を入れて「作成」をクリックします。

image-4.png

メニューから「シングルサインオン」を開き、方式の選択で「SAML」を選択します。

image-5.png

「基本的なSAML構成」で「編集」をクリックします。

image-6.png

開いた画面で、識別子と応答URLに「準備」でメモした値をもとに以下のように入力します。

  • 識別子:urn:amazon:cognito:sp:<UserPoolID>
  • 応答URL:<Cognitoドメイン>/saml2/idpresponse

値を入力したら「保存」をクリックします。

image-7.png

SAML構成の設定後、SAML証明書の「フェデレーション メタデータ XML」の「ダウンロード」をクリックし、XMLファイルをダウンロードします。

image-8.png

認証の設定を行います。今回はEntra上に存在するユーザはすべて許可するため、「割り当てが必要ですか?」を「いいえ」にして保存をクリックします。Entra側の設定はこれで完了です。

image-9.png

Cognito設定:IdP設定

「ソーシャルプロバイダーと外部プロバイダー」を開き、「アイデンティティプロバイダーを追加」をクリックします。

image-10.png

アイデンティティプロバイダーで「SAML」を選択し、設定値を入力して「アイデンティティプロバイダーを追加」をクリックします。

image-11.png

設定値は以下の通りです。

項目
プロバイダー名 Entra ID
識別子 Entra ID
メタデータドキュメント EntraのエンタープライズアプリケーションからダウンロードしたXMLファイル
ユーザープール属性 email
SAML属性 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

メニューから「アプリケーションクライアント」を開き、「ログインページ」タブで「編集」をクリックします。

image-12.png

マネージドログインページの設定を入力し、変更を保存します。

image-13.png

設定値は以下の通りです。

項目
許可されているコールバックURL 「準備」でメモしたWebUrlの値
許可されているサインアウトURL 「準備」でメモしたWebUrlの値
IDプロバイダー EntraID

GenU再デプロイ

packages/cdk/cdk.json を開き、以下のように設定を変更します。

{
  "context": {
    "samlAuthEnabled": true,
    "samlCognitoDomainName": "<DOMAIN>.auth.ap-northeast-1.amazoncognito.com",
    "samlCognitoFederatedIdentityProviderName": "EntraID"
  }
}

<DOMAIN>には「Cognito設定:ドメイン設定」で設定したドメインを指定します(httpsのようなプロトコルハンドラは入れない)。

再デプロイします。

npm run cdk:deploy

以上で作業は完了です!

GenUへログイン

GenUのURLにアクセスし、ログイン画面で「ログイン」をクリックします。

image-14.png

Microsoftの認証情報を要求されれば、正しく動作しています。ユーザ情報を入力して続行します。

image-16.png

ホーム画面が表示されたらログイン成功です!

image-17.png

さいごに

GenUでSAML連携する方法についてご紹介しました。

GenUは通常の認証でも Cognito を利用したアクセス制御等を提供していますが、SAML連携を行いSSOを構築することにより、利便性とセキュリティをさらに向上させることができます。また、本記事では扱いませんでしたが、Entra ID と Cognito でマッピングを行い、RAGの際にドキュメントのフィルタリングを適用することも可能です。

今回は Microsoft Entra ID の場合についてご紹介しましたが、Google Workspace とSAML連携を行うこともできます。詳細については公式のデプロイオプションをご参照ください。

参考

この記事をシェアする

  • Facebook
  • X
  • Pocket
  • Line
  • Hatena
  • Linkedin

資料請求・お問い合わせはこちら

ページトップへ戻る