1
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?

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

Posted at

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

準備

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

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

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

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

Cognito設定:ドメイン設定

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

Entra ID設定

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

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

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

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

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

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

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

image.png

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

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

Cognito設定:IdP設定

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

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

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

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

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

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

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

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

GenU再デプロイ

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

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

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

再デプロイします。

npm run cdk:deploy

以上で作業は完了です!

GenUへログイン

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

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

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

さいごに

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

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

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

参考

関連

1
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
1
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?