- ガイド
- Enterprise
シングルサインオン(SAML)
Table of contents
概要
Newtでは、SAML認証によるシングルサインオン(Single Sign-on, SSO)およびシングルログアウト(Single Logout, SLO)に対応しています。これらの機能を利用することで、OktaやAzure AD、Auth0といったIDプロバイダ(Identity Provider, IdP)の認証機能を用いて、Newtサービスへのログイン/ログアウトを実現することができます。
連携の仕組み
Newtのシングルサインオン(SAML)では、IDプロバイダのアプリケーションとNewtのスペースを1対1で連携させることができます。そのため、同一組織に所属するメンバーやチームに対して、それぞれ異なるスペースへのアクセスのみを許可することが可能です。
例えば、部署Aに所属するメンバーに対しては、IdPアプリケーションAを通じてNewtのスペースAにのみアクセスを許可し、部署Bに所属するメンバーに対しては、IdPアプリケーションBを通じてNewtのスペースAにのみアクセスを許可することができます。
アカウントの新規作成と紐付け
Newtのシングルサインオン(SAML)では、IDプロバイダを通してNewtにログインした際に、2つのパターンでアカウント情報を取り扱います。
アカウントの新規作成(ジャストインタイム・プロビジョニング)
IDプロバイダを経由してNewtにログインを行った場合、NewtはIDプロバイダから送信されたメールアドレス(email
属性)がNewtサービス上に存在するかどうかを確認します。メールアドレスが存在しなかった場合、Newtはそのメールアドレスを使ってNewtアカウントを自動的に新規作成し、スペースのメンバーに追加します(ジャストインタイムプロビジョニング)。
既存アカウントへの認証情報の紐付け
ID経由でのログイン時に、IDプロバイダから送信されたメールアドレス(email
属性)がNewtサービス上に存在した場合、Newtは既存のNewtアカウントとIDプロバイダとの認証情報の紐付けを試みます。Newtアカウントとの紐付けは、Newtが当該メールアドレスに対して送信した本人確認メールに記載されたリンクを、ユーザーが当該メールアドレスを有するNewtアカウントにログインした状態でアクセスすることで完了されます。
シングルサインオン(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の設定情報入力を簡略化することが可能になります。 |
エンティティID | SAMLリクエスト(AuthnRequest)の送信元サービスプロバイダを識別するための識別子です。NewtスペースとIdPアプリケーションが1対1となるため、スペースUIDを含んだURLとなっています。 |
サインオンURL | IDプロバイダからのSAMLレスポンス(Response)を受信するエンドポイントです。IDプロバイダによって、Assertion Consumer Service URLやSingle sign-on URLなどと呼ばれることもあります。 |
サインアウトURL | IDプロバイダからのログアウトレスポンス(LogoutResponse)を受信するエンドポイントです。 |
X.509証明書 | IDプロバイダがサービスプロバイダ(Newt)からの署名付きリクエスト(AuthnRequestまたはLogoutRequest)を検証する際に利用します。署名にはSHA-256アルゴリズムが使用されます。 証明書の有効期限は作成から365日となります。 |
IDプロバイダの設定情報
SAML認証を成立させるためのIDプロバイダ側の設定情報です。IDプロバイダのアプリケーション設定画面から必要な値をコピー&ペーストします。
項目 | 概要 |
---|---|
エンティティID | SAMLレスポンス(Response)の送信元IDプロバイダを識別するための識別子です。 |
サインオンURL | IDプロバイダによって発行されるSAMLリクエスト(AuthnRequest)の送信先URLです。IDプロバイダに作成したアプリケーション毎にユニークなURLが発行されます。 |
サインアウトURL | IDプロバイダによって発行されるログアウトリクエスト(LogoutRequest)の送信先URLです。IDプロバイダに作成したアプリケーション毎にユニークなURLが発行されます。 |
X.509証明書 | サービスプロバイダ(Newt)がIDプロバイダから受信した署名付きレスポンス(ResponseまたはLogoutResponse)を検証する際に利用します。 |
Newtの設定
SAML認証時、またはSAML認証後のNewtの挙動を設定します。
項目 | 概要 |
---|---|
デフォルトのロール | IDプロバイダ起点(IdP-initiated)で新たにスペースに参加した際に、アカウントにデフォルトで付与されるスペースロール。 |
デフォルトの参加App | IDプロバイダ起点(IdP-initiated)で新たにスペースに参加した際に、デフォルトで参加するApp。App参加時には、Appに設定された「デフォルトのAppロール」が割り当てられます。 |
制限モード | このスペースに参加しているメンバーに対して、メールアドレスとパスワードでのログインや、Googleログイン、他のSSOによるログインを禁止します。 |
動作確認済みのIDプロバイダ
Newt社で連携設定の動作確認ができているIDプロバイダは下記となります。下記リストに記載されていないIDプロバイダでもご利用いただくことが可能です。