Salesforce as an IDaaS (Identity as a Service) / Salesforce with IDaaS SalesforceのIDaaSとしての活用とIDaaSとの連携 池部 敦巳 河村 嘉之 Customer Centric Engineering
Forward-Looking Statement Statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. he risks and uncertainties referred to above include but are not limited to risks associated with developing and delivering new functionality for our T service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
本日のアジェンダ 1 Salesforceの認証と認可 Salesforceの認証 認可に関する基礎を理解する 2 IDaaS Identity as a Service 3 Single Sign On (SAML SSO) Salesforceと他のクラウドサービスを一回の認証で使いたい 4 OpenID Connect 普段使うサービスのログイン情報を使ってSalesforceにログインする 5 ログインのSecurity強化 SalesforceのログインをもっとSecureに行いたい
Salesforceの 認証と認可 Salesforceの認証 認可に関する基礎を理解する
認証 認可 概要 外部サービス (Service Provider) 外部サービス (ID Provider) Single Sign On (Salesforce: SP) Single Sign On (Salesforce: IdP) フォーム認証 二要素認証 代理認証 OAuth OpenID Connect
フォーム認証 認証方式 Webブラウザでユーザ名とパスワードを入力する 最も基本的な認証方式 ユーザ名 パスワードなどの情報はSalesforce内にソルト付きハッシュ化されて格納 セキュリティ対策 ログイン可能なIPアドレスの範囲をプロファイル単位で指定 ログイン可能な時間をプロファイル単位で指定 パスワードの長さ 含まれる文字 有効期限などを組織 プロファイル単位で指定
代理認証 認証方式 ユーザの認証を外部サービスで行う 外部サービスはSalesforceが指定するWSDLに合わせたインターフェースを実装する必要がある 対象ユーザ 対象ユーザは指定されたプロファイルのユーザとなる 対象ユーザのパスワード情報はSalesforce上では管理されない 対象ユーザのパスワードはSalesforceから変更不可
SAMLによるSingle Sign On Salesforceと他のアプリケーションの間で認証を共有する Salesforceで認証を行い 他のサービスへ再度ログインすることなくアクセスする 他のサービスで認証し Salesforceへ再度ログインすることなくアクセスする 認証情報はSAMLと呼ばれるXMLベースの標準仕様に基づいてやりとりされる 詳細は後述
OAuth ユーザが外部アプリケーションからSalesforceのデータにアクセスする際に その認可を与える仕組み 外部アプリケーションは接続アプリケーションとして管理される 認証プロトコル IPアドレス範囲制限の緩和 モバイルポリシーなどが設定可能
OpenID Connect Googleで認証 Facebookで認証のようなサードパーティを認証プロバイダとしてログインする OAuth 2.0を拡張し 認証 認可 ユーザの属性情報の取得が可能 Salesforceは 認証プロバイダ ログイン先として利用可能 詳細は後述
いつ何を使う SAML Single Sign On API Access Mobile OAuth OpenID Connect (Mobile SDK) (Mobile SDK)
IDaaS Identity as a Service
IDaaS (Identity as a Service) エンタープライズシステムの変化 イントラに あったものが クラウドへ移行 最近の傾向 従来 Salesforceも IDaaSとして 利用可能 FW 経費精算 認証 顧客管理 人事情報 ファイル 管理 イントラネット エンタープライズシ ステムの変化 認証基盤も クラウドへ IDaaS (Identity as a Service) シングルサインオン プロビジョニングなどをクラウド上 で提供するサービス サブスクリプション形式のライセンス提供で初期費用 インフラ構築費用 メンテナンス費を抑える
Single Sign On (SAML SSO) Salesforceと他のクラウドサービスを 一回の認証で使いたい
Single Sign On のメリット 利用者の利便性 1度ログインすれば 複数のアプリケーション サービスを利用可能 セキュリティ強化 ログインできるサービスを限定する 認証サーバでの認証をワンタイムパスワード SMS認証などの複数要素認証を組み合わせ強化す る 他のサービスは認証サーバー以外のサービスでパスワードによる認証を許可しない パスワードによる認証を許可しないサービスには基本的にログイン攻撃が出来なくなる 弱いパスワードを利用可能にしておくリスクを排除出来る 利用者が多くのサービスのパスワードを適切に管理するのは難しいので 利用するパスワードが減 ることはリスク低減になる
Single Sign On (SAML SSO) 認証方式 SAMLのAssertionをサービス間でやりとりすることにより ログイン情報を共有する SSOの構成要素 Identity Provider (IdP): ここで認証を行うことにより 他のSPへ認証なしでログインすることができる Service Provider (SP): IdPで認証された認証情報を元にログインを受け付ける SalesforceはIdP SPになることが可能 CommunityユーザもSSOを利用可能
IdP-initiated Flow IdP 1. SP ログイン 2. サービスを選択 3. SAMLアサーションが返る 4. SAMLアサーションを送り込む 5. ログイン状態となる
SP-initiated Flow IdP SP 1.SPのリソースにアクセス SPはまだ ログイン状態 ではない 2. IdPのログインページへリダイレクト 3.ログイン 4. SAMLアサーションが返る 5. SAMLアサーションを送り込む 6. ログイン状態となる
IdP (Identity Provider) Salesforceから他のサービスをシームレスに利用する
IdP設定 SalesforceをIdPとして利用するための設定 My Domainの有効化 Identity Provider Setup MyDomainを有効化すると自動的に設定されている SPに設定する際に必要な情報 証明書などをここから入手 Connected Apps 接続するSPをConnected Appとして設定する 権限セット 利用可能な権限セットをConnected Appに登録する SPを利用したいユーザに権限セットを割り振る ライセンス Salesforce Identity ( http://www.salesforce.com/jp/platform/identity/ )
SP (Service Provider) 他のサービスからSalesforceにシームレスに移動する
SP設定 SalesforceをSPとして利用するための設定 Single Sign On 設定 SAMLの有効化 SAML Single Sign On設定 IdP情報の登録 SPログイン時に存在しないユーザを動的に作成したい JIT Provisioningの有効化 SP-initiated Flow時にIdPのログインページに遷移させるためには Identity Provider Login URLを設定 My Domainの有効化 (推奨) SPからログアウト時にIdPもログアウトするためには Identity Provider Logout URLにIdPのログアウトURLを指定する
SAMLを使用して Office 365 から シームレスに Salesforceにログイン Demo
OpenID Connect 普段使うサービスのログイン情報を使って Salesforceにログインしたい
OpenID Connect 認証方式 Googleで認証 Facebookで認証のようなサードパーティを認証プロバイダとしてログインする OpenID ConnectのID Tokenをサービス間でやりとりすることにより ログイン情報を共有する SSOの構成要素 OpenID Provider: 認証サービスを提供する Relying Party(RP): OpenIDによる認証を受け付ける SalesforceはOpenID Provider RPになることが可能
OpenID Connect Flow OpenID Provider RP 1.RPにアクセス 2. OpenID Providerのログインページへリダイレクト 3.ログイン 4.ユーザ情報へのアクセス認可 5. RPへリダイレクト 6. ID/アクセストークンの取得 7. ユーザ情報の取得 8. ログイン状態となる
OpenID Connect 設定 外部の認証プロバイダを利用してSalesforceにログインするための設定 外部サービス側の設定 外部サービスの提供する手順に従って作成(Consumer Key Consumer Secretを入手) 認証プロバイダの作成 上記で入手したConsumer Key Consumer Secretを設定 Registration Handlerクラスを作成し 外部サービスで認証された後にSalesforceでユーザ情報を受け取った時の処理を実装す る ここで作成されたCallback URLを外部サービス側に登録する Salesforceログイン時に外部プロバイダでの認証を利用するための設定 Salesforceユーザ My Domainの有効化 My Domain設定の認証サービスに作成した認証プロバイダを追加 My DomainのURLでログインした際に外部サービスでログインするボタンが表示される Communityユーザ コミュニティの Login & Registration設定のLogin項目に作成した認証プロバイダを追加 Communityのログインページに外部サービスでログインするボタンが表示される
OpenID Connect を 使用してGoogleアカウン トからシームレスに Salesforceにログイン Demo
ログインの Security強化 SalesforceのログインをもっとSecureに行いたい
2要素認証
2要素認証 2要素認証とは システム管理者として Salesforce 組織の安全を確保することと ユーザが迅速かつ簡単にログイン できるようにすることのバランスをとることは大切 認証に 2 つ目の要素を追加することで組織のセキュリティを強化する ここで言う2 要素とは次の 2 種類の情報 ユーザが知っていること (本人のパスワードなど) ユーザが所有しているもの (認証アプリケーションがインストールされたモバイルデバイスなど) 他にはユーザー自身 生体認証 を使用する等がある ログイン
2要素認証 TOTP(Time-based One-time Password)の規格に沿って実装されているためSalesforce Authenticator でなくて も同じQRコードを読み込ませれば同じキーが生成される 例 Google Authenticator, Microsoft Authenticator等 Salesforce AuthenticatorではTOTP以外にも転送通知 ロケーションベースの自動検証 確認コードの使用 Lightning Login(後述)といった機能が利用出来る Salesforce Authenticator 転送通知 Google Authenticator Microsoft Authenticator
Lightning Login
Lightning Login - 概要 パスワードを必要としないログイン
Lightning Login - 概要 Lightning Login は2要素認証の採用を後押しする パスワードを必要としないLightning Loginでログインする 指紋またはPINでログインを確認するために Salesforce Authenticator(モバイルアプリ) を使用してパス ワードフリーでログインする そしてユーザーは パスワードの不便さから解放される 注: Winter 17 では コミュニティでのLightning Loginをサポートしていない
Lightning Login - セットアップ 登録 X ユーザーレベル設定 デフォルトOFF プロファイル 権限セット 組織レベル設定 デフォルトON
Lightning Login - 動作 説明 1. ユーザーがLightning Loginする LLヒントまたはユーザ名のみから 2. SalesforceはユーザーがLightning Loginの使用を許可されているかどうか検証する そしてユー ザは Salesforce Authenticator Toopher 承認ページにリダイレクトされる 3. Salesforceサーバーはプッシュ通知+指紋/ PINを使用してユーザーを認証するためにToopher サーバーに依頼する 4. Toopherサーバーはユーザーに登録アプリを認証プッシュを要求する 5. ToopherサーバのSalesforce Authenticator Toopher 承認ページはユーザからの応答を待つ 6. ユーザーのモバイルアプリ上の 承認 押下によりToopherサーバーを更新する 7. SalesforceはユーザーがToopherサーバーで承認されてた後にアクセスを許可する
Lightning Login - 動作 XXXXX XXXXX
Lightning Login - ログ 登録ログ - ユーザーの管 理 -> ID 検証履歴 LL ログイン - ユーザー の管理 ログイン履歴 LL ログイン - ユーザーの管理 ID 検証履歴
Lightning Login Demo
U2F Security Key
U2F Security Key - 概要 U2F Security Keyを用いた2要素認証 Salesforceの管理者が携帯電話に依存しない検証方法で 例 えばSalesforce AuthenticatorやOTPアプリ ユーザーに自分 の身元を確認できるようにすることが出来る BYODを許可していない会社や社用携帯電話がスマートフォ ンではない従来の携帯電話の会社でもセキュアな2要素認証 を使用することができる U2Fとは Universal Second Factorの略称 既存の認証方式 を導入しているWebサービスなどが 二段階認証を 導入する際に用いる方式 利用者は 従来通りのアカウントIDとパスワードによ る認証後 U2Fに対応したUSB端末やNFC端末を使 う事でログインが可能になる (Wikipedia より https://ja.wikipedia.org/wiki/fido_alliance)
U2F Security Key - セットアップ 登録 ユーザーレベル設定 デフォルトOFF - プロ ファイル 権限セット 組織レベル設定 デフォルトOFF
U2F Security Key - 動作 XXXXX XXXXX
U2F Security Key - ログ U2F - ユーザーの管理 ID 検証履歴
U2F Security Key - 制限 MyDomainが有効になっていないと 組織の設定でU2Fを有効化することが出来ない U2FはChrome 47以降で動作する Firefoxでは U2F Extensionを導入することで動作する
Q&A
アンケートへのご協力のお願い 2問のみです http://bit.ly/swtt16_96 48 2016 Salesforce
付録
リンク集 How-To https://developer.salesforce.com/page/identity Trailhead https://trailhead.salesforce.com/trail/identity Inside OpenID Connect on Force.com https://developer.salesforce.com/page/inside_openid_connect_on_force.com Salesforce.comのOAuth 2.0を掘り下げてみよう https://developer.salesforce.com/page/jp:digging_deeper_into_oauth_2.0_at_salesforce.com Tryout Axiom http://axiomsso.herokuapp.com/ OpenID Connect Playground https://openidconnect.herokuapp.com/ SAML Service Provider https://samltester.herokuapp.com/ U2F(yubico's site) https://developers.yubico.com/u2f/
Thank Y u