36
ははははは Bluemix ははは ははははははは 雲雲雲雲雲雲 雲雲雲雲雲 ははは !

はじめてのBluemixでシングルサインオン ~ 希望編!

Embed Size (px)

Citation preview

はじめての Bluemix でシングルサインオン

雲間を越えて、つなげたい 希望編 !

自己紹介Self Introduction

大平かづみ

現職 : アイレット株式会社 cloudpack事業部 クラウドエンジニア見習い中!

過去の経歴 SIer でガラケーやカーナビのミドルウェア開発 (C/C++)

Web 系開発 (Ruby on Rails, Phalcon PHP Framework)

お世話になっているコミュニティ Japan AWS User Group (JAWSUG)

Japan Azure User Group (JAZUG) や qpstudy 、 DevLOVE 、 PHP 界隈 など、他多数

[JAWSUG では恒例 ] 好きな AWS サービス AWS Lambda もしくは Amazon Cognito と言えるようになりたい!(語感が好き)

クラウドエンジニア修行中!

仕事は、 Amazon Web Services

趣味で、 Microsoft Azure

今日は、 IBM Cloud / SoftLayer / Bluemix !

SoftLayer はなぜか 10% ディスカウントクーポンが発行される Bluemix は引き続き利用中!

理想と挫折の記憶Ideals and setbacks

理想の夢Ideals

理想「ふたつのクラウドをつなげたい」

IBM Cloud

どうやって ? 実現への道のりHow?

シングルサインオンとは? “ 一度の認証処理によって複数のコンピュータ上のリソースが利用可能になる認証機

能である。” (Wikipediaより引用 )

実現方法 SAML

OpenID Connect

OAuth

WS-Federation

シングルサインオンでつなげよう

シングルサインオンの実装計画Bluemix の Single Sign On サービス

Bluemix の Single Sign On サービスとは

Single Sign On サービス概要

Bluemix のアプリにポリシーベースの認証サービスを提供してくれる 扱える言語

Node.js

Liberty for Java

公式ドキュメント

Single Sign On サービスで扱える連携先 SAML Enterprise

SAML 2.0 で ID 連携 ID プロバイダーのフェデレーション情報を登録し、連携させる

Cloud Directory

Bluemix 側に ID 情報を保存する ソーシャル連携

Facebook, LinkedIn, Google+

つなげる先は?

SAML の ID プロバイダーの検討

ID プロバイダーとして Azure AD を使いたい

Azure Active Directory とは

ID やアクセス管理ができる Microsoft Active Directory のクラウド版 が、製品版の Active Directory とはちょっと異なる立ち位置 Azure AD で ID ディレクトリを作成することもできる オンプレミスの Active Directory や OpenID を組み合わせて使える シングルサインオン機能の提供 他要素認証( MFA )によるアクセス管理も可能 ID プロバイダーにもなれる

結論から言いますと…

まだ理想のシングルサインオンはできていません 現時点では、 Bluemix でシングルサインオンサービスと連携するところまで

はできました。 Node.js の Web フレームワーク Express 上で、配布される passport-idaas-

openidconnect モジュールを用いて、 Single Sign On サービスと連携するところまではできました。

残す課題は、 Single Sign On サービスに SAML プロトコルで連結できてない。 Single Sign On サービスが要求する NameIDFormat を扱える ID プロバイダーが

用意できていない。

挫折の分析Setbacks

必要なもの

必要なもの

Bluemix アプリ OK !

Bluemix Single Sign On サービス OK !

Bluemix アプリに Single Sign On サービスを組込む実装 OK !

SAML 2.0 プロトコルを扱える ID プロバイダー これが問題…

Azure AD を準備もしたものの…

挫折「 ID 連携は難しかった…」

Azure AD が発行した SAML 2.0 のメタデータが、エラーでインポートできませんでした。 「 emailAddress をもつ NameIDFormat タグが規約に沿っていません。」

すれ違う君たち

すれ違う君たちの事情

Bluemix ドキュメント「 Single Sign On - SAML概要」 “The SAML Enterprise Identity Source supports only the

urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress name identifier format, HTTP POST binding, and identity provider initiated SAML SSO flow.”

Azure ドキュメント (technet)「 Use a SAML 2.0 identity provider to implement single sign-on」 “Azure AD currently supports the following NameID Format URI for SAML

2.0:urn:oasis:names:tc:SAML:2.0:nameid-format:persistent.”

繋げてみせようじゃないかぁー!

次の策

SAML 2.0 プロトコルを扱える製品 Windows Server Active Directory

Shibboleth

IDaaS と呼ばれる ID 連携・管理を提供するサービス Azure Active Directory ( 既出 )

PingFederate ( 調査中 )

OneLogin ( 調査中 )

… 次回乞うご期待!

デモいってみよーっ!

デモ

Bluemix コンソール https://console.ng.bluemix.net/

デモアプリ http://bluemix-sso-service-demo.mybluemix.net/login

http://bluemix-sso-service-demo.mybluemix.net/logout

おまけSomething Else

実はアプリをデプロイするまでにも壮絶な戦いがありました CLI を使うと Node.js アプリ配下の node_modules のモジュールがデプロ

イできない Liberty for Java に切り替えるも、デフォルトでは使わない server.xml の

編集が必要らしい server.xml は、 IBM WebSphere Liberty Server でアプリを Packaged

Server としてデプロイするらしい Eclipse に Liberty Server の環境として、 Liberty Profile プラグインをイ

ンストールしようにも、リポジトリにアクセスできない IBM Bluemix Tools for Eclipse も同上… (どうやらメンテ中だったらしいで

す、返して私の半日…!) Packaged Server でなんとかデプロイしてみたものの、シングルサインオン

の処理はサンプルコードなし…? (Node.js ではサンプルが提供されている)

前回 LT も… 災難の嵐 ww

Amazon.co.jp で頼んだ、プロジェクタ接続用の DVI 変換ケーブルが来ない!(配送中だったのに、管理画面上でエラー発生…(しかもプライム会員 orz ) 会社のを借りてなんとか… 次の日届いていた w

早めに行って、スライドを完成させなければ! 会場を間違えるという最大の過ち…!!! 今日の会場に来ました w

なんとか、京橋着… ぜーはーぜーはー

またもや接続ケーブル相違事件

「こっちじゃない、 RGB だ……」 詳しくは「クラウド女子の理想と挫折――SoftLayer×Bluemix

Girls Group Meetup (3/3)」EnterpriseZine (エンタープライズジン)

今日も元気に生きてます! (/ ・ ω ・ )/