Azure Active Directory(Azure AD)を含むSAML IdPを構築していると、どうやってテストするかに悩みますよね。
以前、simpleSAMLphpをAzure Web Appにデプロイしてテストする方法を紹介しましたが、今回はもっと簡単な方法を紹介したいと思います。
使うのは、RSAが提供しているSAML 2.0 Test Service Providerです。そのまんまの名前です。
RSA SAML 2.0 Test Service Provider
https://sptest.iamshowcase.com/
サイトの説明を読んでいると出来ること、出来ないことはあるようですが簡単なテストであればすぐで出来そうです。
出来ることは以下の通りです。
- IdP Initiated SSO
- SP Initiated SSO
- AuthenticationContextClassRefを指定することによる認証方式の指定
- アサーション内の属性の表示
- 認証状態の表示
- 特定ユーザに指定した認証方式を要求する
逆に出来ないことは、こちらです。
- 署名付きの認証リクエストを送る
- 暗号化されたSAMLアサーションを受け取る
普通にテストする分には十分です。
ということで使ってみました。IdPはAzure ADを使っています。試したのはSP Initiated SSOです。
◆SPの情報を確認する
まずはテストサイト側でシナリオを選びます。InstructionメニューからSP Initiated SSOを選択します。
するとDOWNLOAD METADATAというボタンが表示されるので、ダウンロードしておきます。これはSP側のMetadataなので、この中にあるSP EntityIDやAssertion Consumer Service(ACS)のURLを、IdPであるAzure AD側へ設定します。
ダウンロードしたMETADATAを開くとこんな感じでEntityIDとACSのURLがありますのでコピーしておきましょう。
◆Azure ADにアプリケーション(SP)を登録する
Azure ADを開き、エンタープライズ・アプリケーションよりギャラリーにないアプリケーションを選択してアプリケーションを作成します。(SAML系のアプリケーションは、アプリケーション登録のメニューではなく、エンタープライズ・アプリケーションを使いますので注意してください)
適当な名前でアプリケーションを作り、シングルサインオン設定でモードにSAMLベースのSSOを設定、Identifierに先ほどのSP Metadata内のEntityIDを、Reply URLにACS URLを張り付けます。
次に、同じ画面の中からAzure AD側のMETADATA(IdP Metadata)をダウンロードしておきます。
これでAzure AD側のSAML設定はおしまいです。
◆SPにIdP(Azure AD)の情報を登録する
このファイルを先ほどのテストサイトへアップロードします。アップロードが上手くいくと、ログイン用のURLが払い出されます。
SAML関係の設定はこれで完了です。
本当に簡単です。
◆テストする
あとは先ほど表示されたURLへアクセスすればAzure ADへリダイレクトされるのでログインすればOKなんですが、初期状態のAzure ADはアプリケーションを使えるユーザを割り当てないとログインできないので、アプリケーションへのユーザ割り当てを無効化しておきます。(もちろん明示的にユーザを割り当ててもOKです)これで本当に準備OKです。
早速先ほど生成されたログインURLへアクセスしてみます。するとAzure ADへリダイレクトされてログインできます。
上手くいくとログインしたユーザのIDが表示されます。
画面をスクロールしていくとSAMLアサーション内の情報が順番に表示されるので意図した通りの情報がSP側へ伝わっているかどうかの確認ができます。
Subjectの情報
認証状態の情報
属性の情報
もちろんアサーション全体を表示することも可能です。
本当に簡単にテストが出来てしまうので非常に便利です。
IdPを構築してもSPがないのでテストがやりにくい、、、という方はぜひお試しください。
0 件のコメント:
コメントを投稿