フォーム読み込み中
本記事では Oracle Cloud Infrastructure(OCI)の Oracle Cloud コンソールに、Keycloakを SAML IdP として構成し、シングルサインオン(SSO)でサインインするための手順を解説します。
Oracle Cloud Infrastructure(OCI)は、オラクル社が提供している高性能・高セキュリティな IaaS / PaaS クラウド基盤で、仮想マシンやベアメタル、ストレージ、データベース、Kubernetes など多様なインフラを低コストかつ柔軟に提供しています。
Keycloak は、企業や開発者が自分のアプリやサービスに安全なログイン機能を簡単に追加できる無料のOSSツールです。ユーザー登録やログイン、パスワード管理、多要素認証、Google など他のサービスとのログイン連携も可能で、1度のログインで複数のサービスにアクセスできる「シングルサインオン(SSO)」に対応しています。
本記事の内容は mac OS (Ventura 13.7.6)で実施しており、Keycloak のサーバーは OCI の VM(Canonical Ubuntu 20.04)上に構築しています。なお、KeycloakとOCIにはそれぞれメールアドレスが一致するユーザーが作成されていることを前提としています。
SSO認証の設定は、以下の手順で実施します。
各手順について、順を追って確認していきましょう。
Oracle Cloud コンソールにサインインし、[ アイデンティティとセキュリティ ] > [ ドメイン ] > [( SSO 設定対象のドメイン名)]を選択します。
[ フェデレーション ] > [ SAMLメタデータのエクスポート ] > [ メタデータ・ファイル ] で [ XMLのダウンロード ]を押下し、メタデータ(Metadata.xml)をダウンロードします。
Keycloak に Admin ユーザーでログインし、[ Clients ] > [ Import Client ]を押下します。
[ Resource File ] に、「 1.OCIメタデータの取得 」の手順で Oracle Cloud コンソールから取得したメタデータ(Metadata.xml)をアップロードします。
メタデータのファイルをアップロードすると[ Client ID ]が自動で入力されるので、そのまま[ Save ]を押下します。
[ Realm settings ] > [ SAML 2.0 Identity Provider Metadata ]を右クリックし、[ リンク先を別名で保存 ]でメタデータ(descriptor.xml)をダウンロードします。
Oracle Cloud コンソールに戻って対象のドメインを開き、[ フェデレーション ] > [ アクション ] > [ SAML IdPの追加 ]を押下します。
[ 名前 ]を入力し、[ 次 ]を押下します。
[ IdP メタデータのインポート ] > [ ファイルをドロップするか選択 ]に、先ほど Keycloak からダウンロードしたメタデータ(descriptor.xml)をアップロードし、[ 次 ]を押下します。
[ ユーザー・アイデンティティのマップ ]では以下の通りに設定し、[ 次 ]を押下します。
[ IdPの作成 ]を押下します。
作成したアイデンティティ・プロバイダの行の[ ・・・ ] > [ IdPのアクティブ化 ]を押下します。
[ IdPのアクティブ化 ]を押下します。
[ アイデンティティ・プロバイダ・ポリシー ]を選択します。
[アイデンティティ・プロバイダ・ルール] > [ ・・・ ] > [ IdPルールの編集 ]を押下します。
[ アイデンティティ・プロバイダの割当て ]に先ほど作成したアイデンティティ・プロバイダを追加し、[ 変更の保存 ]を押下します。これで、SSOの設定は完了です。
それでは正しく SSO ができるか動作確認をしましょう。サインイン画面の下部から先ほど設定したアイデンティティ・プロバイダ名が選択できるようになっているので、押下します。
Keycloak のサインイン画面に遷移するので、Keycloak の[ Username or email ]、[ Password ]を入力し、[ Sign In ]を押下します。
Keycloak のユーザーに紐づけられた OCI のユーザーでサインインできていることが確認できたら成功です。
本記事では、Keycloak を SAML IdP として構成し、シングルサインオン(SSO)で Oracle Cloud コンソールにサインインするための設定方法を解説してきました。シングルサインオン(SSO)の設定はSP(サービスプロバイダ)であるOCIと、IdP(アイデンティティプロバイダ)であるKeycloakの間でメタデータのやり取りが必要となり、少し複雑に感じられるかもしれません。この解説がスムーズにSSO環境を構築するための一助となれば幸いです。
Oracle社が提供するクラウドコンピューティングプラットフォームです。OCIは、企業のビジネスニーズに応じた幅広いクラウドサービスを提供し、エンタープライズグレードのパフォーマンス、セキュリティ、信頼性を提供するために設計されています。企業はITインフラストラクチャを効果的に管理し、ビジネスの成果を最大化することができます。
条件に該当するページがございません