こんにちは、 ネクストモード株式会社 のSaaSおじさん久住です。
はじめに
ネクストモードではID統合管理(IDaaS)のOktaを利用して各SaaSへのシングル・サインオンやプロビジョニングの一元管理しています。 また、ナレッジ共有にオールインワンワークスペースのNotionを利用しています。
NotionのエンタープライズプランではSAML2.0に対応しており、SAML認証でのシングルサインオンの設定が可能なので、今回はNotionへのOktaからのSAML認証でのシングルサインオンを設定してみました。
手順
大まかな手順は下記の通りです。
- メールドメインの検証(Notion)
- Notionアプリ作成(Okta)
- Notion側でのSAML認証設定(Notion)
やってみた
メールドメインの検証(Notion)
OktaとNotionでSAML認証の設定を実施する前にメールドメインの検証をする必要があります。
まず、該当のワークスペースの設定ページのセキュリティと認証
のメールドメイン
という項目でサポートへお問い合わせください
をクリックします。
サポートチャットが起動するのでSAML認証の対象ドメインを伝えつつ依頼すると、DNSに入れる必要があるTXTレコードが送ってもらえるので、DNSにレコードを投入します。
レコード追加から数分で完了しましたが、DNSレコードの伝達で最大72時間ほどかかるそうです。
設定が反映されると、下記のように自動的にメールドメインにドメインが入ります。
Notionアプリ作成(Okta)
Oktaにて、Notionアプリを作成します。Oktaの管理画面よりApplications
-> Browse App Catalog
を選択し、Notionを追加します。
Sign-On Options
にてSAML2.0を選択します。
次に、Advanced Sign-on SettingsにてOrganization IDを入力します。 Organization IDはNotionの設定にあるシングルサインオンのURLのリンクのsso/saml/以降の乱数をコピーして貼り付けます。
最後にユーザーをNotionアプリにアサインします。
こちらでNotionアプリの作成は完了です。
Notion側でのSAML認証設(Notion)
次にNotionでSAML認証の設定をします。
Oktaの管理画面からNotionアプリのSign On
のView Setup Instructions
をクリックします。
IDPメタデータのXMLがコピーできるので、Notionの設定画面のセキュリティと認証
のメタデータのXML
欄にペーストします。
SAMLを有効にする場合はSAMLを有効にする
にチェック、SAMLでのシングルサインオンを強制する場合はSAMLを強制する
にチェックを入れて更新します。
以上で設定は完了です。
接続確認
SP-initiatedの場合
まずはSP-initiated(Notionに直接アクセスする場合)の遷移を見てみます。
Notionページにアクセスすると一番したにSAML SSOでログイン
という記載がありますのでクリックします。
メールアドレスを入力してSAMLでログイン
をクリックします。
OktaにリダイレクトしてサインインするとNotionページにアクセスできました。
IdP-initiatedの場合
つぎにIdP-initiated(Oktaからアクセスする場合)の遷移を見てみます。
OktaでNotionアプリがユーザーにアサインされると、ユーザーダッシュボードにNotionが表示されますので表示されたNotionアプリをクリックします。
クリックするとNotionへSAML認証でログイン出来ます。
SP-initiatedでもIdP-initiatedeでも問題なくNotionへSAML認証でシングルサインオンできることを確認できました!
さいごに
NotionとOktaのSAML認証連携についてご紹介しました。
SAML認証に切り替えることで、IDを集約できるだけでなく、NotionのエンタープライズプランはSCIM APIにも対応しているのでプロビジョニングの設定をすることで入退社に伴うID管理も適切に実施することが可能となります。プロビジョニングについても後日ブログにしようと思います。