みなさん、こんにちは。
今回はタイトルにもあります通り、Notionのセキュリティ対策についてお話ししたいと思います。
目次
SSOを行う目的
SSOはシングルサインオンの略称で認証先のシステムを統合し、一度ログインすれば他連携しているサービスにもシームレスにサインオンすることが可能になります。SSOを構成することで利用者は一つのIDとパスワードを管理するだけでサービスを利用することができます。つまりID管理の複雑性が解消されることになります。
![](https://sec.atd-net.com/wp-content/uploads/2022/09/image-17.png)
さらに、認証基盤を統一することでアクセス制御を連携しているサービスも適用することができます。クラウド化が進み、これまで社内で保管してきていた電子データは、いまではクラウド(インターネット)上に保存されている状態が当たり前になりました。
インターネットを介して誰でもアクセスできてしまうような状況は、不正アクセスによるデータ漏洩や盗難などのセキュリティリスクが課題になります。
このSSOの仕組みを利用し、認証システムを一つにまとめてしまえば、社内で定義したアクセス制御ルールを利用しているサービスにも幅広く適用することができるので、不正アクセスに対す流セキュリティ対策につながります。
Notionとは
一言で伝えると、組織内でナレッジ管理、タスク管理、スケジュール管理ができるとても優秀なツールです。
![](https://sec.atd-net.com/wp-content/uploads/2022/09/image-1024x636.png)
さらに、Slack、Youtube、Figmaなどの外部ツールとの連携性も優れています。
本日の記事ではNotionをより安全かつ堅牢に使用するための手法を紹介します。
AzureAD(Azure Active Directory)とは
Microsoft が提供するクラウドベースの ID およびアクセス管理サービス。現在では認証以外にも特権管理やアクセス制御など様々な機能も追加されている。本記事ではこのAzureADとNotionを認証連携し、Notionへアクセスする際に必ずAzureADの認証を行わせるように設定する。
SAMLとは
SAML 2.0(Security Assertion Markup Language)の略称。OASISで定義された異なるインターネット上でユーザー認証を行うためのXMLをベースにした認証プロトコル。
SAMLを使うにあたり、以下の用語については押さえておく必要がある。
IDP
SP
導入手順
エンタープライズプランへの切り替え
NotionにSSO導入するためには「エンタープライズ」プランに変更する必要があります。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-1-1024x218.png)
月額払いだと「25ドル」、年額一括払いだと月額換算「20ドル」となり少しお得になります。
支払いが完了すると下記のようなエンタープライズ管理者のページになります。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-2-1024x576.png)
Notionにドメイン設定を追加
ここから、本日のメインパートとなります!
管理者設定画面の「認証とプロビジョニング」をクリックします。エンタープライズ切り替え後はドメイン設定などは初期値です。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-3-1024x403.png)
「ドメインの追加」ボタンをクリックし管理対象のドメインを追加します。ドメインを入力後「次へ」をクリックします。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-4-1024x474.png)
続いてドメインホストのDNSにTXTレコードを追加します。表示されている認証コードをコピーしてお使いの管理サービス上で設定を実施します。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-5-1024x629.png)
参考)私たちは「お名前.com」でドメイン購入してますので、管理ページで下記のように認証コードをTXTレコードとして追加しています。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-6-1024x383.png)
レコード追加後、Notion画面の「検証する」をクリックして確認が完了するとドメイン追加が完了となります。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-7-1024x412.png)
ドメイン追加が正常に完了すると検証済みドメインに表示されます。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-8-1024x169.png)
SAML SSOの有効化
Azure AD エンタープライズアプリケーションページより「Notion」を追加します。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-9-1024x408.png)
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-10-1024x475.png)
これでAzure AD側の事前準備が完了で、再びNotionに戻ります。「SAML SSOを有効にする」をクリックすると下記画面が表示されます。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-11-1024x602.png)
「基本的なSAML構成」->「応答URL」に上記NotionのACS URLを貼り付けます。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-16-1024x460.png)
続いてメタデータURLを設定します。Azure ADの下記画面で表示される「アプリのフェデレーション メタデータURL」をコピーします。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-13-1024x359.png)
Azure ADでコピーしてきたメタデータURLを、Notionの「IDプロバイダーのURL」項目に入力します。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-14-1024x599.png)
以上で、Notion側でのSSOが有効となります。設定後、ログイン方法を「SAML SSOのみ」に変更します。
![](http://sec.atd-net.com/wp-content/uploads/2022/09/image-15-1024x322.png)
ココがポイント
ログイン方法を「SAML SSOのみ」に変更すると先ほどドメイン登録したドメイン名(本記事でいうとatd-net.com)のアカウントでしかログインすることができなくなってしまいます。
従って、この設定を行う前に自分自身のアカウントのメールアドレスを登録したドメインに変更しておく必要があります。
まとめ
いかがでしたでしょうか? 私たちは普段よりDXにつながるサービスのセキュリティ検証をしております。
Notionに限らずご用命があればどんなツールも検証しますので是非お声がけください!