• ガイド
  • Enterprise

シングルサインオン(SAML)

Table of contents

概要

Newtでは、SAML認証によるシングルサインオン(Single Sign-on, SSO)およびシングルログアウト(Single Logout, SLO)に対応しています。これらの機能を利用することで、OktaやAzure AD、Auth0といったIDプロバイダ(Identity Provider, IdP)の認証機能を用いて、Newtサービスへのログイン/ログアウトを実現することができます。

シングルサインオンは、Enterpriseプランをご契約中のお客様のみご利用いただけます。

連携の仕組み

Newtのシングルサインオン(SAML)では、IDプロバイダのアプリケーションとNewtのスペースを1対1で連携させることができます。そのため、同一組織に所属するメンバーやチームに対して、それぞれ異なるスペースへのアクセスのみを許可することが可能です。

例えば、部署Aに所属するメンバーに対しては、IdPアプリケーションAを通じてNewtのスペースAにのみアクセスを許可し、部署Bに所属するメンバーに対しては、IdPアプリケーションBを通じてNewtのスペースAにのみアクセスを許可することができます。

SAML認証を用いたシングルサインオンの仕組み

アカウントの新規作成と紐付け

Newtのシングルサインオン(SAML)では、IDプロバイダを通してNewtにログインした際に、2つのパターンでアカウント情報を取り扱います。

アカウントの新規作成(ジャストインタイム・プロビジョニング)

IDプロバイダを経由してNewtにログインを行った場合、NewtはIDプロバイダから送信されたメールアドレス(email属性)がNewtサービス上に存在するかどうかを確認します。メールアドレスが存在しなかった場合、Newtはそのメールアドレスを使ってNewtアカウントを自動的に新規作成し、スペースのメンバーに追加します(ジャストインタイムプロビジョニング)。

SAML認証 - ジャストインタイム・プロビジョニング

既存アカウントへの認証情報の紐付け

ID経由でのログイン時に、IDプロバイダから送信されたメールアドレス(email属性)がNewtサービス上に存在した場合、Newtは既存のNewtアカウントとIDプロバイダとの認証情報の紐付けを試みます。Newtアカウントとの紐付けは、Newtが当該メールアドレスに対して送信した本人確認メールに記載されたリンクを、ユーザーが当該メールアドレスを有するNewtアカウントにログインした状態でアクセスすることで完了されます。

SAML認証 - 既存アカウントとの連携

シングルサインオン(Single Sign-on, SSO)

Newtのシングルサインオン機能では、IdP-initiated(IDプロバイダ起点)のログインと、SP-initiated(サービスプロバイダ起点)のログインの2つのログイン方法に対応しています。

IdP-initiatedのログインは、IDプロバイダ側のアプリケーション画面一覧等から、Newt用のアプリケーションにアクセスすることで実施します。

SP-initiatedのログインは、スペースのシングルサインオン設定が有効な場合、シングルサインオン用のログイン画面から実施できます。ログイン先のスペースUIDを入力してログインボタンをクリックすると、IDプロバイダの認証画面へとリダイレクトされ、認証後スペースのトップページへと再びリダイレクトが行われます。

シングルサインオン用のログイン画面

また、シングルサインオン用のURLに spaceUid パラメータと status パラメータを付与することで、特定スペースで利用することを想定したログイン画面を作成することが可能です。

URLの例: https://app.newt.so/sso/login?spaceUid=sso-demo-space&status=fixed

クエリキー概要
spaceUidログイン先となるスペースのスペースUID
statusログイン画面のステータス
fixed を設定することで、スペースUIDを編集不可にすることができる

シングルログアウト(Single Logout)

Newtのシングルサインオン機能では、IdP-initiated(IDプロバイダ起点)のログインと、SP-initiated(サービスプロバイダ起点)のログインの2つのログイン方法に対応しています。

IdP-initiatedのログアウトは、IDプロバイダ管理画面よりNewtアプリケーションのログアウトを行うことにより実施できます。

SP-initiatedのログアウトは、管理画面のログアウトボタンよりログアウトすることにより実施できます。ただし、セッション切れによって自動的にログアウト状態へと移行した際には、IDプロバイダ側のログアウトは実施されません。

SAML連携の設定

SAML(SAML 2.0)によってIDプロバイダと認証情報の連携を行うためには、IDプロバイダとNewtがお互いが持つ連携のためのいくつかの情報を交換する必要があります。

サービスプロバイダの設定情報

SAML認証を成立させるための、Newt(サービスプロバイダ)側の設定情報です。ここに記載されている内容をIDプロバイダの入力欄にコピー&ペーストします。

サービスプロバイダの設定情報

項目概要
メタデータURLサービスプロバイダの設定情報やSAMLレスポンスとして要求する情報が記述されたXML文書(メタデータ)のURL。IdPによっては、このURLやXMLファイルを使ってSPの設定情報入力を簡略化することが可能になります。
エンティティIDSAMLリクエスト(AuthnRequest)の送信元サービスプロバイダを識別するための識別子です。NewtスペースとIdPアプリケーションが1対1となるため、スペースUIDを含んだURLとなっています。
サインオンURLIDプロバイダからのSAMLレスポンス(Response)を受信するエンドポイントです。IDプロバイダによって、Assertion Consumer Service URLやSingle sign-on URLなどと呼ばれることもあります。
サインアウトURLIDプロバイダからのログアウトレスポンス(LogoutResponse)を受信するエンドポイントです。
X.509証明書IDプロバイダがサービスプロバイダ(Newt)からの署名付きリクエスト(AuthnRequestまたはLogoutRequest)を検証する際に利用します。署名にはSHA-256アルゴリズムが使用されます。
証明書の有効期限は作成から365日となります。

IDプロバイダの設定情報

SAML認証を成立させるためのIDプロバイダ側の設定情報です。IDプロバイダのアプリケーション設定画面から必要な値をコピー&ペーストします。

IDプロバイダの設定情報

項目概要
エンティティIDSAMLレスポンス(Response)の送信元IDプロバイダを識別するための識別子です。
サインオンURLIDプロバイダによって発行されるSAMLリクエスト(AuthnRequest)の送信先URLです。IDプロバイダに作成したアプリケーション毎にユニークなURLが発行されます。
サインアウトURLIDプロバイダによって発行されるログアウトリクエスト(LogoutRequest)の送信先URLです。IDプロバイダに作成したアプリケーション毎にユニークなURLが発行されます。
X.509証明書サービスプロバイダ(Newt)がIDプロバイダから受信した署名付きレスポンス(ResponseまたはLogoutResponse)を検証する際に利用します。

Newtの設定

SAML認証時、またはSAML認証後のNewtの挙動を設定します。

Newtの設定

項目概要
デフォルトのロールIDプロバイダ起点(IdP-initiated)で新たにスペースに参加した際に、アカウントにデフォルトで付与されるスペースロール。
デフォルトの参加AppIDプロバイダ起点(IdP-initiated)で新たにスペースに参加した際に、デフォルトで参加するApp。App参加時には、Appに設定された「デフォルトのAppロール」が割り当てられます。
制限モードこのスペースに参加しているメンバーに対して、メールアドレスとパスワードでのログインや、Googleログイン、他のSSOによるログインを禁止します。

動作確認済みのIDプロバイダ

Newt社で連携設定の動作確認ができているIDプロバイダは下記となります。下記リストに記載されていないIDプロバイダでもご利用いただくことが可能です。

  • Okta
  • Auth0
  • Azure Active Directory
  • miniOrange
  • OneLogin
NewtMade in Newt