3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Entra ID ハンズオン】無料でできるEntra IDによるSSO手順 (1/3)

Last updated at Posted at 2024-06-20

1.はじめに

Entra ID (旧名:AzureAD)をIdP(Identity Provider)としたSSO(Single Sign On)のハンズオンに関する記事です。
SSOというとSP(Service Provider)側が対応していても有償プランのみでしかサポートしていないことがよくあります。そこで今回は、無料でSSO連携も可能なSaaSを探して、実際にEntra IDとSSO連携をやってみました(2024年6月時点)。 SaaS側の仕様が変わっていなければ、皆さんも試しにSSO連携をテストいただくことが可能です!

2.無料で、Entra ID とSSO連携可能なSaaS

今回Entra IDとSSO連携を実施することができたWEBサイトやSaaSは、以下の3つとなります。
今回の記事では、RSA Test Service ProviderとEntra IDとのSSOに関して、説明していきます。

  • RSA Test Service Provider
  • Saleforce Developer Edition
  • DocuSign Developer Edition

2-1.RSA Test Service Providerとは

RSA Test Service Providerとは、アメリカのRSAセキュリティ社が運営しているWEBサイトです。有名なRSA暗号を開発したメンバーによって創立されているそうです。
RSA Test Service ProviderのWEBサイトに加えて、IdPを用意すれば、SAMLのテストを実施することができます。本WEBサイトを利用することで、IdPからACS(Assertion Consumption Service) URLに送信されたSAMLアサーション情報を表示することができます。さらに、SP Initiated SSO(SP側からの認証を起点としたSSO)とIdP Initiated SSO(IdP側からの認証を起点としたSSO)の両方をサポートしています。
特に、アカウント作成などは不要で、SP側の設定もほぼないため、簡単にSAMLテストを実現することができます。
ただし、SCIM(System for Cross-domain Identity Management)は、サポートしていないので、IPプロビジョニングまでテストしたい場合は、他のWEBサイトやSaaSを利用する必要があります。

image.png

2-2.Saleforce Developer Editionとは

Salesforce Developer Editionとは、CRM(Customer Relationship Management)で有名なSalesforce社が提供している無料の開発環境です。
先ほどのRSA Test Service Providerでは、実現できなかったSCIMの動作確認も実施することができます。

image.png

2-3.DocuSign Developer Editionとは

DocuSign Developer Editionとは、脱アナログハンコを実現する電子署名で有名なSaaSの開発者向け環境です。こちらのDeveloper EditionもSSOまで設定することが可能となっています。さらに、JIT (ジャスト イン タイム) プロビジョニングに対応しています。JITプロビジョニングとは、SAML連携したユーザーが DocuSignにシングルサインオンすると、Entra ID側が発行した SAML Responseに含まれるユーザー属性を使って、DocuSign側にユーザーを自動的に作成してくれます。これにより DocuSign 側で個別にユーザーを作成する必要もありません。

image.png

3.SAML設定:RSA Test Service Provider編

ここからは、RSA Test Service ProviderをSPとして、Entra IDをIDPとした場合のSAMLによるSSOを設定していきます。

3-1.ちょっと補足:SP Initiated SSOとIdP Initiated SSO

実際の設定に入る前に、少し説明を入れます。ご存じの方は読み飛ばしてください。
SAMLの動作は、SP Initiated SSOとIdP Initiated SSOの2つあります。以下図のように、SP側との認証を起点とした場合をSP Initiated SSOと呼び、IdP側からの認証を起点としたSSOをIdP Initiated SSOと呼びます。
エンドポイント(図ではPC)を中心として、SAML AuthnRequestとSAML Response(Assertionを含む)のリレーをしています。

SAML AuthnRequestは、認証要求であり、認証が必要なIdPの宛先URL情報(Destination)とSP側へのAssertionを提出するURL情報(ACS URL:Assertion Consumer Service URL)、SP側の情報(Issuer)などを含んでいます。
SAML Responseは、Assertionを含んでいます。このAssertionの中には、ユーザ情報(Subject)、属性情報(AttributeStatement)が含まれています。

image.png

image.png

3-2.RSA Test Service Provider側のメタデータ取得

Entra IDとRSA Test Service ProviderのSAML連携手順を記載していきます。
まずは、下記URLにアクセスしましょう。

URLにアクセスした後、「Instructions > SP initiated SSO」を選択し、「DOWNLOAD METADATA」から、XMLファイルとして、メタデータを保存します。
なお、ここでSP initiated SSOを選んでいても、IdP initiated SSOも利用することができました。

image.png

ダウンロードしたメタデータをメモ帳などで開きます。(私はVisual Studio Codeを利用しています。)

image.png

メタデータの中のentityIDと、Locationをメモします。今回は以下のようになっていました。

entityID
IAMShowcase
Location
https://sptest.iamshowcase.com/acs

補足
entityIDとは、メタデータファイル内のmd:EntityDescriptorタグ内で確認でき、SPまたはIdPを識別するためのIDです。
Locationとは、メタデータファイル内のmd:AssertionConsumerServiceタグ内で確認でき、IdPによってSAML認証が完了した旨をSPに伝えるURLです。ACS URL(Assertion Consumer Service URL) とも呼ばれます。 

3-3.RSA Test Service ProviderをSPとして登録

Entra管理センターに移動し、「アプリケーション>エンタープライズアプリケーション>+新しいアプリケーション」を選択し、「+独自のアプリケーションの作成」を選択します。
なお、Entra IDには事前に数多くのSaaSが登録されています。登録されているSaaSがある場合は、独自のアプリケーションの作成ではなく、登録されているSaaSを選択しましょう。

image.png

任意の名前(管理しやすい名前)を入力して、「作成」をクリックします。

image.png

「ユーザとグループ」で、テスト用のユーザを登録します。このユーザを利用して、SSOのテストを行います。

image.png

「シングルサインオン > SAML」を選択します。

image.png

基本的なSAML構成の「編集」を選択し、先ほどメモしたエンティティIDと応答URLを入力し、保存します。
image.png

3-4.RSA Test Service Provideにメタデータを登録

Entra ID側では、最後に、SAML証明書のフェデレーションメタデータXMLの「ダウンロード」をクリックし、xmlファイルをダウンロードします。このフェデレーションメタデータXMLをRSA Test Service Provideにアップロードすれば完了です。

image.png

RSA Test Service Providerサイトに戻り、先ほどのXMLファイルをアップロードします。
アップロードすると、URLが発行されますので、こちらのURLにアクセスすることで、SSOをすることが可能となります。

image.png

3-5.動作確認

まずはSP Initiated SSOの動作確認をするために、先ほどのURLにアクセスします。すると、Entra IDの認証が発生します。認証後、以下のように、ユーザ認証を反映したサイトにアクセスすることができます。サイト内では、属性情報やAsssertionを確認することも可能となっています。

image.png

次に、IdP Initiated SSOを利用するため、Entra IDのマイアプリにアクセスしてみましょう。マイアプリのURLは以下となっています。

念のため、Edgeの場合は、inPrivavteウィンドウを立ち上げて、URLにアクセスしましょう。inPrivateウィンドウを利用するのは、先の認証情報が残っていない状態でアクセスさせるためです。マイアプリで、RSA Test Service Providerのアイコンをクリックしてみると、先ほどと同様のRSA Test Service Providerの認証後画面にアクセスすることが可能となります。

image.png

4.おわりに

SAMLといったSSOは、用語も多く混乱しがちですが、今回のRSA Test Service Providerで、SAMLによるSSOを実現するだけでしたら、簡単にできることが分かったのではないでしょうか。Entra IDを利用する場合は、条件付きアクセスなどもできますので、その際のテスト用SaaSにも使えたりしますので、便利です。

次回は、SalesforceとEntra IDのSAMLの記事です。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?