Ncloud Single Sign-On とは
    • PDF

    Ncloud Single Sign-On とは

    • PDF

    Article Summary

    Classic/VPC環境で利用できます。

    Ncloud Single Sign-Onを連携する方法を学習する前に、Ncloud Single Sign-Onの連携に必要ないくつかの重要な概念を説明します。ここで説明する主な概念は、次の通りです。

    OAuth 2.0の定義

    OAuth 2.0は、権限付与のためのオープン型認証プロトコルです。OAuth 2.0はリソースサーバにアクセスできる権限を、リソースを所有しているユーザーの代わりにアプリケーションに委任します。

    OAuth 2.0のロール

    OAuth 2.0で定義するロールは次の通りです。

    ロール定義
    Resource Owner保護されているリソースに対するアクセス資格を承認できるユーザー。Resource Ownerは保護されているリソースを所有し、アクセス権を持つ Clientが Resource Ownerに代わってリソースにアクセス。
    ClientResource Ownerの代わりに認証情報である Access Tokenを発行され、保護されているリソースにアクセスするアプリケーション
    Identity ProviderResource Ownerを認証し、Resource Ownerの権限承認により、Clientに Access Tokenを発行するサーバ
    Resource ServerClientが Access Tokenを利用してリソースにアクセスする時、アクセスのリクエストを確認およびレスポンスし、保護されているリソースを提供するサーバ

    OpenID Connect

    OpenID Connectは、OAuth 2.0ベースで Token発行時に IdPでユーザー情報を持つ ID Tokenを発行するプロトコルです。

    Access Token

    Access Tokenは、Clientが保護されているリソースにアクセスするため、権限が許可されたことを示す認証情報であり、IdPで発行された文字列です。Clientは、Access Tokenを利用して Resource Serverにアクセスできます。

    Refresh Token

    Refresh Tokenは、IdPで発行される Tokenで、期限切れの Access Tokenの期限を延長して発行する場合または同じか狭い Scopeの追加 Access Token発行時に使用されます。Clientが Refresh Tokenを含め、Access Token発行 APIを IdPに送ると、偽造または改ざんされていないかを確認してから Access Tokenを発行します。

    ID Token

    ID Tokenは、ユーザー情報を持つ JWTタイプの Tokenで、Token発行リクエスト時、scopeid_tokenを含む場合、Access Tokenと一緒に IdPで発行されます。

    OAuth 2.0の認証フロー

    OAuth 2.0認証プロトコルのフローは次の通りです。

    参考

    ここでは Resource Ownerがフローを開始し、Clientが保護されているリソースにアクセスするまでの OAuth 2.0のフローについて説明します。フローに使用される APIに関する詳細は、Ncloud Single Sign-On連携 APIをご参照ください。

    Authorization Codeフロー

    Authorization Codeフローは最も一般的な認証フローであり、説明は次の通りです。
    sso-integration-info_scenario1_ko

    1. Resource Ownerがログインボタンをクリックしてフローを開始します。
    2. Clientが保護されているリソースにアクセスするため、レスポンス方式をコードに設定してから権限付与をリクエストします。
    3. IdPが Resource Ownerに個人情報の提供に対する同意ページとログインページを送信します。
    4. Resource Ownerが同意とログインにて権限付与を承認します。
    5. IdPが Authorization codeを Clientに送信します。
    6. Clientが Authorization codeを利用して IdPに Access Tokenの発行をリクエストします。
    7. IdPで Authorization codeを確認してから Tokenを発行します。
    8. Access Tokenを持つ Clientが Resource Serverにアクセスして保護されているリソースをリクエストします。
    9. Resource Serveがリクエストされたリソースを Clientに送信します。

    PKCEフロー

    PKCEフローは、Authorization Codeフローで行うときにセキュリティを強化する機能であり、PKCEを含むフローに対する説明は次の通りです。
    sso-integration-info_scenario2_ko

    1. Resource Ownerがログインボタンをクリックしてフローを開始します。
    2. Clientが Code Verifierと Code Challengeを作成します。
    3. 権限付与のリクエスト時に Clientが作成した Code Challengeと Code Challenge Methodを一緒に送信すると、その値が IdPに保存されます。
    4. IdPが Resource Ownerに個人情報の提供に対する同意ページとログインページを送信します。
    5. Resource Ownerが同意とログインにて権限付与を承認します。
    6. IdPが Authorization codeを Clientに送信します。
    7. Clientが Code Verifierと Authorization codeを含めて IdPに Access Tokenの発行をリクエストします。
    8. IdPが保存された Code Challengeと Code Verifierを比較して一致有無を確認します。
    9. 2つの値が一致する場合、IdPから Access Tokenを発行します。
    10. Access Tokenを持つ Clientが Resource Serverにアクセスして保護されているリソースをリクエストします。
    11. Resource Serveがリクエストされたリソースを Clientに送信します。

    Implicitフロー

    Implicitフローは、認証情報を安全に保存・管理することが難しい Client環境に適しているフローで、説明は次の通りです。
    sso-integration-info_scenario3_ko

    1. Resource Ownerがログインボタンをクリックしてフローを開始します。
    2. Clientがレスポンス方式を Tokenに設定してから権限付与をリクエストします。
    3. IdPが Resource Ownerに個人情報の提供に対する同意ページとログインページを送信します。
    4. Resource Ownerが同意とログインにて権限付与を承認します。
    5. IdPから Access Tokenを発行します。
    6. Access Tokenを持つ Clientが Resource Serverにアクセスして保護されているリソースをリクエストします。
    7. Resource Serveがリクエストされたリソースを Clientに送信します。

    SAML 2.0の定義

    SAML 2.0は、ウェブベースのオープン型認証プロトコルです。アプリケーション間でユーザー認証と権限情報をやり取りする際に使用される標準情報形式である SAML 2.0により、IdPと SPがユーザーの情報を安全に交換して認証することができます。

    SAML 2.0のロール

    SAML 2.0で定義するロールは、次の通りです。

    ロール定義
    Service Provider (SP)サービスを提供する主体。主に SSOユーザーが利用しようとするアプリケーションやサービスを意味し、Identity Provider(IdP)にユーザーの認証情報をリクエスト
    Identify Provider (IdP)Service Provider(SP)がリクエストしたユーザーの認証情報を検証し、Service Provider(SP)にユーザーの認証情報を提供するシステム
    SAML RequestIdentity Provider(IdP)と Service Provider(SP)間で認証情報を交換するためのリクエストメッセージを意味し、SAML Assertion(認証情報)を作成するための情報を含む
    SAML ResponseIdentity Provider(IdP)と Service Provider(SP)間で認証情報を交換するためのレスポンスメッセージを意味し、SAML Assertion(認証情報)およびその他必要なメタデータを含む。これにより、IdPがユーザーの認証情報を検証した後、SPに認証結果を提供
    SAML AssertionId、認証時間、認証方法などユーザーの認証情報を含む XML文書を Identity Provider(IdP)から Service Provider(SP)に送信。これにより、SPはユーザーの認証を検証
    ACS URLService Provider(SP)が Assertion Consumer Service(ACS)を提供するために使用する URL

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.