Mais conteúdo relacionado
Semelhante a ID連携のあるとき~、ないとき~ #エンプラ編 (20)
ID連携のあるとき~、ないとき~ #エンプラ編
- 2. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 1
IDとは?
Identifier
Identity ← 今日はこっちの話
OpenID TechNight Vol.13
- 3. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 2
Identityとは?
主体 (Entity | Subject)
人とかPCとかサービスとか、...
Identity
主体にかかわる属性の集合体
ひとつの主体に、コンテキスト毎のIdentity
OpenID TechNight Vol.13
- 4. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 3
認証とは?
主体(人)を Identity に紐付けること
アクセスをしている主体は、
サービス・システムが認識している、どの Identity と
紐付いているか、
本人だけが知り得る、所有する情報をもって確認する
OpenID TechNight Vol.13
- 6. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 5
① システム毎に管理をしていた時代
OpenID TechNight Vol.13
勤務管理システム
経理システム
PCログオン
(Active Directory)
社内に広がったたくさんのシステム
システム毎の担当者がIDを登録管理
システム毎の認証方法で
システムを利用
Identity
Identity
Identity
認証
認証
認証
- 7. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 6
② 個人情報保護法、J-SOXへの対応
OpenID TechNight Vol.13
勤務管理システム
経理システム
PCログオン
(Active Directory)
社内に広がったたくさんのシステム
信頼できる
源泉情報を使って
IDを適正に更新SSOシステムで
認証を受けて
システムを利用
シ
ン
グ
ル
サ
イ
ン
オ
ン
シ
ス
テ
ム
I
D
管
理
シ
ス
テ
ム
認
証
結
果
の
連
携
Identity
の
自
動
更
新
認証
人事
システム
ワークフロー
システム
- 8. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 7
② 個人情報保護法、J-SOXへの対応
ID管理システムによるIDの一元管理
独自プロトコル or LDAP or CSV
シングルサインオンによる認証の一元管理
リバプロ or エージェント
ヘッダー連携 or 代理認証
OpenID TechNight Vol.13
製品毎、システム毎の
独自実装を使ったID連携
- 9. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 8
③ クラウドアプリの利用が進む
OpenID TechNight Vol.13
SSOシステムで認証を受けて
クラウドアプリを利用
シングルサインオン
システム
認証
ドメインを越えた
認証結果の連携
企業内ネットワーク
業務にクラウド
アプリを利用
- 10. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved.
③ クラウドアプリの利用が進む
シングルサインオンの実現、認証強化が目的
企業が要求する認証方式、認証強度を適用する
SAMLを使った認証連携の実装が進む
標準技術を使った
ID連携(認証連携)
OpenID TechNight Vol.13 9
- 12. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 11
クラウドアプリへのSSOをSAMLで実現する
Office365
Salesforce
cybozu.com
Google Apps for Work
…
OpenID TechNight Vol.13
- 13. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 12
SAMLを使った認証フロー
OpenID TechNight Vol.13
シングルサインオン
システム
(SAML IdP)
クラウドサービス
(SAML SP)
ユーザー
① サービスへアクセス
② ブラウザを介してIdPに認証要求
③ IdPがユーザーを認証
④ ブラウザを介してIDを連携
⑤ サービスの利用開始
①
②
② ③ ④
④
⑤
- 14. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 13
SAML認証リクエスト
OpenID TechNight Vol.13
<?xml version="1.0" encoding="UTF-8"?>
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID=“epennhbfejbampfendcclkjddlpkiinbnhkeeige” Version="2.0"
IssueInstant="2015-08-25T12:00:00Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
ProviderName=“google.com” IsPassive="false"
AssertionConsumerServiceURL="https://www.google.com/a/app.example.jp/acs">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
google.com/a/app.example.jp
</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" />
</samlp:AuthnRequest>
誰がリクエストしたか
認証結果をどんな方法で
返してほしいか
どんな識別子を返してほしいか
- 15. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 14
SAML認証レスポンス
OpenID TechNight Vol.13
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="s2c966514cd70b650ab89cc4508e3144ddcf72f675"
InResponseTo="epennhbfejbampfendcclkjddlpkiinbnhkeeige"
Version="2.0" IssueInstant="2015-08-25T12:00:00Z"
Destination="https://www.google.com/a/app.example.jp/acs">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
https://idp.example.jp:443
</saml:Issuer>
<samlp:Status xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<samlp:StatusCode xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
Value="urn:oasis:names:tc:SAML:2.0:status:Success">
</samlp:StatusCode>
</samlp:Status>
<saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="s2add3dd35b253a41e21e07cd618dda6ede9e17083"
IssueInstant="2015-08-25T12:00:00Z"
Version="2.0">
<saml:Issuer>
https://idp.example.jp:443
</saml:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#s2add3dd35b253a41e21e07cd618dda6ede9e17083">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>F73al5lkJ4ABW88OnwgMGNn7y5k=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
pSH9 bBo/ tx ... YtRbgvFTQ=
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MIICQDCCAa ... gmrW0Y0Q==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
NameQualifier="https://idp.example.jp:443"
SPNameQualifier="google.com/a/app.example.jp">
e1234567
</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData
InResponseTo="epennhbfejbampfendcclkjddlpkiinbnhkeeige"
NotOnOrAfter="2015-08-25T12:10:00Z"
Recipient="https://www.google.com/a/app.example.jp/acs"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions NotBefore="2015-08-25T11:50:00Z" NotOnOrAfter="2015-08-25T12:10:00Z">
<saml:AudienceRestriction>
<saml:Audience>google.com/a/app.example.jp</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2015-08-25T12:00:00Z"
SessionIndex="s246d5c5763195b88d38bc31528e1c77cb9259e501">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
<saml:Issuer>
https://idp.example.jp:443
</saml:Issuer>
<ds:Signature ...>
...
<ds:SignedInfo>
<saml:Subject>
<saml:NameID Format=...>
e1234567
</saml:NameID>
...
</saml:Subject>
<saml:Conditions
NotBefore="2015-08-25T11:50:00Z“
NotOnOrAfter="2015-08-25T12:10:00Z">
<saml:AudienceRestriction>
<saml:Audience>
google.com/a/app.example.jp
</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
どのIdPで
誰を
いつどのSPのために
確かにIdPが
認証したもの
- 17. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 16
ID連携とは?
認証連携 + 属性連携 = ID連携
クラウドアプリへの認証連携は、活用の一側面に
過ぎない
OpenID TechNight Vol.13
- 18. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 17
エンプラIDとITの特性
異動により Identity が変化
グループウェア、コラボレーションアプリなど、利用
する全ユーザーの Identity が必要なアプリも多い
ID連携には フェデレーション(オンライン)と
プロビジョニング(バッチ)が必要
OpenID TechNight Vol.13
- 19. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 18
エンプラITを取り巻く状況
クラウドサービスの利用が拡大
ユーザーが使うデバイスが多様化
ネイティブ、SPAなどへの対応
多様なワークスタイルの出現
いつでもどこでも使えるITの提供
OpenID TechNight Vol.13
- 20. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 19
エンプラ認証基盤の目指す方向性
フェデレーション標準技術への対応
クラウド向けプロビジョニング標準技術への対応
JSON/RESTベースの認証技術への対応
OpenID Connect, SCIMへ対応していく必要がある
OpenID TechNight Vol.13
- 21. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 20
エンプラID連携のユースケース
クラウドアプリの活用
グループ、グローバルでのIT活用
OpenID TechNight Vol.13
- 22. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 21
クラウドアプリの活用
ID連携のないとき...
クラウドサービス毎に異なる認証機能
クラウドサービス毎のパスワード管理
認証強化はユーザー主導、ユーザー依存
Office 365
Salesforce
cybozu.com
強いパスワード
MFAの利用
弱いパスワード
OpenID TechNight Vol.13
- 23. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 22
クラウドアプリの活用
シングルサインオン
システム
ID管理システム
Office 365
Salesforce
cybozu.com
多要素認証
リスクベース
認証
認証
企業内ネットワーク
認証連携
JITプロビジョニング
IDのプロビジョニング
IDのデプロビジョニング
モバイル・
テレワーク
ID連携のあるとき~!
認証
統一された認証機能の利用
企業の定めた認証ポリシーを適用
クラウドサービスへのパスワード提供、
パスワード管理が不要
OpenID TechNight Vol.13
- 24. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 23
グループ、グローバルでのIT活用
OpenID TechNight Vol.13
企業内ネットワーク グループ企業・海外拠点
自社システム
グループ企業
のシステム
ID連携のないとき...
ID体系の統一(片寄せ)
認証基盤の統合(片寄せ)と移行
集中管理、権限委譲のための業務設計
グループ企業ネットワークの敷設
シングルサインオン
システム
ID管理システム
シングルサインオン
システム
ID管理システム
シングルサインオン
システム
ID管理システム
- 25. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 24
グループ、グローバルでのIT活用
OpenID TechNight Vol.13
シングルサインオン
システム
ID管理システム
企業内ネットワーク グループ企業・海外拠点
シングルサインオン
システム
ID管理システム
自社システム
グループ企業
のシステム
単一のIDでの自社システム、グループ企
業システムの相互利用
グループ、拠点毎の自立的管理・運用
M&Aでの迅速なシステム統合の実現
ID連携のあるとき~!
- 26. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 25
エンプラID連携のさらなる可能性
取引先とのIT相互利用
企業向けサービスとの連携
OpenID TechNight Vol.13
- 27. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 26
取引先とのIT相互利用
OpenID TechNight Vol.13
独自の認証機能
HUB企業B
EDI
SPOKE企業
SCM
SPOKE企業
独自の認証機能
HUB企業A
EDI
SCM
ID連携のないとき...
SPOKE企業向けのID管理、パスワード管理、
認証強化策の提供。
そのためのヘルプデスク機能も提供
取引先HUB企業毎に異なる認証方式の受容
証明書認証
OTPの利用
HUB企業A用
ID/パスワード
HUB企業Aの
証明書
HUB企業B用
ID/パスワード
HUB企業Bの
OTPトークン
HUB企業A用
ID/パスワード
HUB企業Aの
証明書
HUB企業B用
ID/パスワード
HUB企業Bの
OTPトークン
- 28. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 27
取引先とのIT相互利用
OpenID TechNight Vol.13
シングルサインオン
システム
HUB企業
シングルサインオン
システム
EDI
SPOKE企業
シングルサインオン
システムSCM
SPOKE企業
シングルサインオン
システム
HUB企業
EDI
SCM
ID連携のあるとき~!
接続してくるSPOKE企業のID管理、パス
ワード管理からの開放
取引先HUB企業毎に異なる認証方法、認証
強化策からの開放
担当者交代時の手続きの簡略化
- 29. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 28
企業向けサービスとの連携
OpenID TechNight Vol.13
ID連携のないとき...
企業によるサービサーへの従業員情報の
一括提供が必要
サービス利用のための会員番号、初期パ
スワードなどの発行、連絡が必要
企業
福利厚生
サービス
○○サービス
従業員情報の
一括提供
人事・総務担当
利用のための情報
と手順の連絡
サービスへの登録
サービスの利用
- 30. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 29
企業向けサービスとの連携
OpenID TechNight Vol.13
シングルサインオン
システム
企業
福利厚生
サービス
○○サービス
仮名を用いた
企業所属の確認
サービスへの登録
サービスの利用
ID連携のあるとき~!
サービサーは、利用者が契約企業に属し
ていること確認してサービスを提供
企業は従業員情報を提供せずに、従業員
向けサービスを契約可能
利用者は自分情報を自分で選んでサービ
サーに提供
初期登録に特別な手続きや情報は不要。
いつでもすぐに使い始められる
- 32. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 31
OIDF-J EIWG 技術TFの活動テーマ
エンタープライズITとクラウドサービスを相互連携するため
のOIDC OP/RPおよびSCIMのサンプル実装を行なう。
実装により明らかとなった課題と解決策をまとめる。
以上の結果を「OpenID ConnectとSCIMのエンタープライ
ズ実装ガイドライン」としてまとめ、発行する。
OpenID TechNight Vol.13
- 33. Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 32
実装ガイドが目指すところ
OpenID Connect, SCIMの標準仕様に基づいて
最低限実装すべき事項と、実装方法を提示
クラウド事業者と利用企業がそれぞれ実装
エンプラ分野でのID連携活用を広める
OpenID TechNight Vol.13