OCIでKeycloakを使ったSSO認証の設定をしてみた

2025年7月15日掲載

【Looker x GenAI】Looker と生成 AI で実現するパーソナライズドマーケティング:カスタム Action で顧客体験を向上

本記事では Oracle Cloud Infrastructure(OCI)の Oracle Cloud コンソールに、Keycloakを SAML IdP として構成し、シングルサインオン(SSO)でサインインするための手順を解説します。

目次

Oracle Cloud Infrastructure(OCI) について

Oracle Cloud Infrastructure(OCI)は、オラクル社が提供している高性能・高セキュリティな IaaS / PaaS クラウド基盤で、仮想マシンやベアメタル、ストレージ、データベース、Kubernetes など多様なインフラを低コストかつ柔軟に提供しています。

Keycloak について

Keycloak は、企業や開発者が自分のアプリやサービスに安全なログイン機能を簡単に追加できる無料のOSSツールです。ユーザー登録やログイン、パスワード管理、多要素認証、Google など他のサービスとのログイン連携も可能で、1度のログインで複数のサービスにアクセスできる「シングルサインオン(SSO)」に対応しています。

構築環境

本記事の内容は mac OS (Ventura 13.7.6)で実施しており、Keycloak のサーバーは OCI の VM(Canonical Ubuntu 20.04)上に構築しています。なお、KeycloakとOCIにはそれぞれメールアドレスが一致するユーザーが作成されていることを前提としています。

SSO認証の設定の流れ

SSO認証の設定は、以下の手順で実施します。

  1. OCI メタデータの取得
    OCI から、Keycloak に登録するメタデータを取得します。
  2. Keycloak の Clients を設定
    Keycloak に、OCIの情報を登録します。
  3. Keycloak メタデータの取得
    Keycloak から、OCI に登録するメタデータを取得します。
  4. IdP の設定
    OCIに、Keycloak を IdP(アイデンティティ・プロバイダ)として設定します。

各手順について、順を追って確認していきましょう。

1.OCIメタデータの取得

Oracle Cloud コンソールにサインインし、[ アイデンティティとセキュリティ ] > [ ドメイン ] > [( SSO 設定対象のドメイン名)]を選択します。

 [ フェデレーション ] > [ SAMLメタデータのエクスポート ] > [ メタデータ・ファイル ] で [ XMLのダウンロード ]を押下し、メタデータ(Metadata.xml)をダウンロードします。

2.Keycloak の Clients を設定

Keycloak に Admin ユーザーでログインし、[ Clients ] > [ Import Client ]を押下します。

[ Resource File ] に、「 1.OCIメタデータの取得 」の手順で Oracle Cloud コンソールから取得したメタデータ(Metadata.xml)をアップロードします。

メタデータのファイルをアップロードすると[ Client ID ]が自動で入力されるので、そのまま[ Save ]を押下します。

3.Keycloak メタデータの取得

[ Realm settings ] > [ SAML 2.0 Identity Provider Metadata ]を右クリックし、[ リンク先を別名で保存 ]でメタデータ(descriptor.xml)をダウンロードします。 

4.IdP の設定

Oracle Cloud コンソールに戻って対象のドメインを開き、[ フェデレーション ] > [ アクション ] > [ SAML IdPの追加 ]を押下します。

[ 名前 ]を入力し、[ 次 ]を押下します。

[ IdP メタデータのインポート ] > [ ファイルをドロップするか選択 ]に、先ほど Keycloak からダウンロードしたメタデータ(descriptor.xml)をアップロードし、[ 次 ]を押下します。

[ ユーザー・アイデンティティのマップ ]では以下の通りに設定し、[ 次 ]を押下します。

  • リクエストされた名前IDフォーマット:電子メール・アドレス
  • アイデンティティ・プロバイダ・ユーザー属性:SAML アサーション名 ID
  • アイデンティティ・ドメイン・ユーザー属性:プライマリ電子メール・アドレス

[ 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インフラストラクチャを効果的に管理し、ビジネスの成果を最大化することができます。

おすすめの記事

条件に該当するページがございません