Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Enterprise_Seminar_CIAM_1_May_2020.pdf

 Enterprise_Seminar_CIAM_1_May_2020.pdf

hisashiyamaguchi

May 22, 2020
Tweet

More Decks by hisashiyamaguchi

Other Decks in Technology

Transcript

  1. © 2020 Akamai | Confidential 2 Session1の主題 ❏ Enterprise Directory

    Serviceの限界とSAML ❏ Password共有のアンチパターン ❏ OAuth/Open ID Connect ❏ 従来型のWeb Applicationのユースケース ❏ Native, Single Page Applicationのユースケース ❏ Akamai Identity Cloudクイックデモ
  2. © 2020 Akamai | Confidential 3 Enterprise Directoryの限界 User Application

    A Application B Enterprise Directory ❏ 複数のApplicationに同一の Credentialでログイン可能 ❏ Application毎の認証Datastoreは 不要 ログイン画面で ID/Passwordを入力 してLoginをClick 入力された ID/Passwordを検証 ログイン ログイン画面で ID/Passwordを入力 してLoginをClick 入力された ID/Passwordを検証 ログイン ユーザのCredentialを一元管理する手法が一般化したが社内利用に限定
  3. © 2020 Akamai | Confidential 4 SAML - 企業間でのSingle Sign-On

    User Application Enterprise Directory ❏ SAMLで企業間の信頼を確立 ❏ 相手側のEnterprise Directoryに自社の Credentialのコピーを作成することな く運用可能 ログイン画面で LoginをClick ログイン 認証リクエストを送信 Company B (Service Provider) Company A (Identity Provider) Company A Company Aのログイン 画面にRedirect ID/Passwordを入力 してLoginをClick この考え方を企業間だけでなく一般消費者の世界にも適用できないか?
  4. © 2020 Akamai | Confidential 5 Password共有のアンチパターン User Application Resource

    Server ❏ ApplicationからResource Serverの APIを呼び出すために、Userに Resource ServerのCredentialを要求 ❏ UserはApplicationにResource Server のCredentialをパス ❏ Application側でUserから受け取った Credentialを気密性の低いStorageに 保管 ID/Passwordを入力して LoginをClick、ログイン 情報の開示を要求 認証を要求 Resource Serverの ID/Passwordをパス Resource Serverの ID/Passwordを気密性の 低いStorageに保管 Resource Serverの ID/Passwordで認証 情報を開示 ApplicationにUserのCredentialをパスして悪意のある第三者に盗まれる
  5. © 2020 Akamai | Confidential 6 OAuth - 権限移譲型の認可フレームワーク User

    Application Authorization Server Resource Server ❏ Applicationに特定のことだけを 認可する仕組みAccess Token の払い出し方法を標準化したフ レームワーク ❏ UserのCredentialをApplication に渡すこと無いため安全 ❏ Applicationは認可された処理 (例/情報の閲覧)のみを実行 ❏ 認証(Who are you?)は扱わない ログイン画面で LoginをClick Identity Cloud 認証リクエストを 送信 Authorization Serverのログイン画 面にRedirect ID/Passwordを入力 認可コードを送信 Access Tokenを要求 Access Tokenを送信 Access Tokenを添えて情報を要求 情報を開示
  6. © 2020 Akamai | Confidential 7 Open ID Connect -

    OAuthに認証要素を追加 User Application Authorization Server Resource Server ❏ 誰が認証されたのか?を含む ID Tokenが追加 ❏ ApplicaitonはID Tokenを検証 して、一度認証されたユーザ についてはAuthorization Serverに再認証することなく 認証済みと見なすことが可能 ❏ ID Tokenに含まれているユー ザプロファイルをApplication に表示 ログイン画面で LoginをClick Identity Cloud 認証リクエストを 送信 Authorization Serverのログイン画 面にRedirect ID/Passwordを入力 認可コードを送信 Access Token, ID Tokenを要求 Access Token, ID Tokenを送信 Access Tokenを添えて情報を要求 情報を開示
  7. © 2020 Akamai | Confidential 8 従来型のWeb Applicationのユースケース User Application

    Authorization Server Resource Server 1 ログイン画面でLoginをClick Identity Cloud 2 認証リクエストを送信 3 Authorization Serverのログイン画面に Redirect 4 ID/Passwordを入力 5 認可コードを送信 6 認可コード/Application Credentialを 添えてTokenを要求 7 Access Token, ID Tokenを送信 8 Access Tokenを添えて情報を要求 9 情報を開示
  8. © 2020 Akamai | Confidential 9 Native/Single Page Applicationのユースケース User

    Application Authorization Server Resource Server 1 ログイン画面でLoginをClick Identity Cloud 2 Code Challengeを添えて 認証リクエストを送信 3 Authorization Serverのログイン画面に Redirect 4 ID/Passwordを入力 5 認可コードを送信 6 認可コード/Code Verifierを添えて Tokenを要求 7 Access Token, ID Tokenを送信 8 Access Tokenを添えて情報を要求 9 情報を開示