シングルサインオンをSAMLで連携してみた

2024年3月23日検証してみた

WebFOCUSは、シングルサインオン(以下、SSO)に対応しており、連携方式のひとつとしてSAML認証方式をサポートしています。
今回は、米国のIDaaS業界でリーダー的存在である、Oktaとの連携でSSO連携をしてみました。

SaaS、PaaS、IaaSなどのサービス化が進む中、最近最も注目されているのが、IDの管理をサービス化してくれるIDaaSです。

IDaaSで一度ユーザ認証を行えば、IDaaSに登録したアプリケーションは全てSSOが可能になります。また、IDaaSにログインすると、利用できるアプリケーションの一覧が表示されるため、アプリケーションポータルとしても利用できます。

引用元: ITセキュリティ女子のブログ

SAML認証方式とは、主に、クラウドのリソースを含めたSSO実装に使う仕組みです。SAML(Security Assertion Markup Language)とは、異なるインターネットドメイン間でユーザー認証を行うための標準規格です。SAMLは、IdP(Identity Provider)とSP(Service Provider)の2つの要素で構成されます。Webサービスを提供するSP側がSAMLに対応していれば、IdPが提供する認証情報を利用しSSOを実現できます。

引用元:シングルサインオン(SSO)の選び方と仕組みの解説

アイデンティティ・プロバイダ、IDプロバイダ(英: Identity provider、略してIdPまたはIDP )は、プリンシパルのID情報を作成、維持、および管理し、フェデレーションまたは分散ネットワーク内の依存アプリケーションに認証サービスを提供するシステムエンティティである

引用元:ウィキペディア

IdPに対して、サービスを提供するプロバイダをサービス・プロバイダ(略してSP)と称します。今回の場合は、WebFOCUSがサービス・プロバイダとなります。

今回連携に利用したIdP

Okta Identity Cloud

Oktaは、すべてのアイデンティティを保護する単一の信頼できるプラットフォームです。9,400社を超える組織がOktaのソフトウェアとAPIを信頼し、ユーザーのサインイン、認証、管理に活用しています。

引用元:Okta製品サイト

IDaaSとして提供されているサービスですので、トライアル環境も10分で使い始めることもできます。


SAML認証連携設定の流れ

Oktaとの連携設定の流れについて整理します。
Okta(IdP)とWebFOCUS(SP)は、直接通信することはありません。
ウェブブラウザ(クライアントPC)を経由して、認証に必要な情報をやりとりして、連携することとなります。
Okta(IdP)とWebFOCUS(SP)に対して、相互の情報を教え合うために、双方に対して連携先情報を設定していきます。

WebFOCUS側手順

SAML連携用証明書作成

SAMLアサーション内で使用する証明書を作成します。

WebFOCUS側手順
WebFOCUS側手順

SPメタデータの生成

WebFOCUSのエンティティ情報など含まれたメタデータを作成します。

WebFOCUS側手順
Okta側手順

IdPへWebFOCUSアプリ登録

OktaへWebFOCUSをアプリケーションとして登録します。

Okta側手順
Okta側手順

IdPメタデータの入手

Oktaの連携用情報をメタデータとして入手します。

Okta側手順
Okta側手順、WebFOCUS側手順

SSO連携用ユーザーの作成

OktaとWebFOCUSで連携するためのユーザーを登録します。

Okta側手順、WebFOCUS側手順
WebFOCUS側手順

IdPメタデータの配置

Oktaの連携用メタデータをWebFOCUS側へ配置します。

WebFOCUS側手順
WebFOCUS側手順

SAML認証設定と認証方式変更

WebFOCUSのSAML認証設定と認証方式をSAML認証へ変更します。

WebFOCUS側手順