当サイトではアフィリエイトプログラムを利用して商品を紹介しています。掲載リンクからご購入いただいた場合、当サイトに報酬が発生することがあります。

Notionのページロックは、外からの削除まで通します|守れるのは渡す権限だけ

古い木の戸にかかった南京錠。Notionのロックが外からの操作を止めないことを表した記事のアイキャッチ

大事なページを、誰にも触られないようにしたい。Notionには、ページをロックする機能があります。

これをかけておけば安心か。外から操作する場合には、そうではありませんでした。

ロックと、Web公開。この2つを外から触って測った結果を書きます。

ロックしても、外からは削除まで通ります

結論から書きます。

ロックはかかります

まず、外からロックをかけられるかを試しました。かかりました。

読み直すと、ちゃんと「ロック中」になっています。ここまでは期待どおりです。

ところが、何でもできました

ロックをかけた状態で、いろいろ試しました。

ロック中にやったこと 結果
タイトルを変える 変わる
本文を追加する 入る
ページを削除する 消える

全部通りました。エラーは1つも出ていません。

削除まで通るのが驚きでした。ロックをかけても、外からは何の制限にもなっていません。

データベースの行でも同じでした

データベースの1行にもロックをかけられます。こちらも同じで、ロック中に値を変えられました。

行ごとにロックして守る、という使い方も、外からの操作には効きません。

画面での効き方は、確かめていません

1つ断っておきます。画面上でロックがどう効くかは、今回検証できていません。外から画面の操作を再現できないためです。

分かったのは、「外からの操作は止まらない」という一点です。画面で人が触るのを止める効果はあるかもしれません。

ただ、外部ツールをつないでいるなら、ロックは防御になりません。ここは押さえておいてください。

誤解しやすい場面があります

こういう思い違いが起きます。

思っていること 実際
ロックしたから、同期で上書きされない 上書きされる
ロックしたから、誤って消えることはない 消える
ロックが外れていたら気づける ロックは外れない。かかったまま書き換わる

3つ目がとくに厄介です。ロックは外れません。「ロック中」のまま中身だけが変わります。

あとから見ても、ロックは正しくかかっています。設定を見ても、何が起きたか分かりません。

ロックできるのは、ページと行だけです

そもそも、どこにロックをかけられるのかも確かめました。

4つのうち、2つだけです

対象 ロック
ページ かけられる
データベースの行 かけられる
データベース本体 そもそも項目が無い
本文のブロック 項目が無い

データベース本体にロックをかけようとすると、200が返ってきます。ところが読み直しても、何も変わっていません。

列の構成は守れません

つまり、データベースの列を勝手に増やされたり消されたりするのは、ロックでは防げません。

行の中身は守れそうに見えて、実際は外からなら変えられる。データベースの作りそのものは、守る手段がありません。

守りたいもの ロックで守れるか
行の値 守れない(ロック中でも変わる)
行そのもの 守れない(削除が通る)
列の追加・削除 ロックをかけられない
列の型の変更 ロックをかけられない

列を消されると、その列の値も一緒に消えます。いちばん被害が大きいのがここです。それなのに、守る手段だけがありません。

Web公開は、逆でした

もう1つ、似た設定を試しました。

読めるけれど、切り替えられません

Notionのページは、Webに公開して誰でも見られる状態にできます。この状態は、外から読み取れました。

公開していないページは「なし」として返ってきます。公開していれば、そのアドレスが入るという作りです。

では、外から公開に切り替えられるか。できませんでした。

断られ方が2通りありました

送ったもの 結果
公開アドレスの欄に値を入れる 200。だが何も変わらない
「公開する」という指定 400。はっきり断られる

1つ目が厄介です。成功の返事が返ってくるのに、何も起きていません。読み直すまで気づけません。

ロックと逆の形です

外から
ロック かけられる。でも効かない
Web公開 読める。でも切り替えられない

どちらも、画面の設定と、外からの操作が食い違っています。

画面で設定したことが、外からの操作にそのまま効くとは限りません。これが今回いちばんの教訓です。

図にすると、こういう食い違いです

画面の設定と、外からの操作は別物だった ロック 外からかけられる。読み直すとロック中。 なのに編集も削除も通る 守りにはならない ウェブ公開 公開しているかどうかは読める。 外からは切り替えられない 値を送ると200が返るのに変わらない ロックをかけられるのは、ページと行だけ データベース本体には項目が無く、送っても無視される。列の構成は守れない。 できるのは棚卸し 1,607件を17回・13.6秒で走査できた。公開されたままのページを探すのに使える。 ※ 画面でのロックの効き方と、公開中のアドレスの中身は確かめていません。
ロックとウェブ公開を外から操作して、返りと読み直しを記録した結果です。

権限そのものは、まったく見えません

では、誰が何を見られるのかは分かるのか。

ページの情報に、権限の項目がありません

ページを読むと返ってくる項目を全部並べてみました。権限や共有相手に関するものは、1つもありませんでした。

返ってくるのは、作った人、最後に触った人、更新日時、アイコン、置き場所、ロック、公開アドレス。誰に共有しているかは、どこにも入っていません。

人の一覧にも、区別がありません

ワークスペースの人の一覧も読めます。ただ、返ってくるのは名前とアイコンとメールアドレスだけです。

その人がメンバーなのかゲストなのかは、分かりません。以前ゲストとメンバーの違いを書いた記事でも同じ結論でした。

棚卸しに使えるもの、使えないもの

知りたいこと 外から分かるか
誰がこのページを見られるか 分からない
メンバーかゲストか 分からない
ワークスペースに誰がいるか 分かる(名前とメール)
Webに公開されているか 分かる
ロックされているか 分かる

下2つが、実務で使えるところです。

上3つが取れないのは、外部ツールで棚卸しを作ろうとすると壁になります。「誰が何を見られるか」の一覧は、外からは作れません。

そこを自動化したいなら、Notion側の管理画面で確認することになります。外から取れるものだけで作ろうとすると、途中で行き詰まります。

先に「何が取れないか」を知っておくと、作り始めてから気づく無駄がなくなります。

できるのは、棚卸しです

止められないなら、せめて把握する。そこは可能でした。

1,607件を17回で走査できました

ワークスペース全体を検索で走査して、公開状態を数えました。

結果
走査した件数 1,607件(ページ1,580 + データベース27)
かかった回数 17回
かかった時間 13.6秒
公開中だったもの 0件

全件に公開状態の項目が付いています。1,607件のうち1,607件です。取りこぼしがありません。

「公開したまま忘れている」を見つけられます

Web公開は、便利なので使われます。外部の人に資料を見せる、フォームの説明ページを出す。

問題は、用が済んだあとに戻し忘れることです。公開したままだと、アドレスを知っている人は誰でも見られます。

これを定期的に洗い出せます。13秒で済むので、毎日動かしても負担になりません。

見つけたあとは、画面で戻します

ただし、見つけても外からは戻せません。公開を止めるのは画面での操作になります。

つまり、「見つけて、知らせる」までが外からできる範囲です。あとは人がやります。

これでも十分に役に立ちます。気づかないまま放置されるのが、いちばん危ない状態だからです。

棚卸しの回し方

頻度 やること
毎日 公開中の件数を数える
増えていたら どのページが増えたかを出す
月に1回 公開中のものを一覧にして、まだ必要かを確認する

毎日やるのは件数を数えるだけで十分です。13秒で終わるので、負担になりません。

増えたときだけ中身を見る。これなら、公開した当日に気づけます。

月1回の確認も入れておいてください。必要があって公開したものも、いつかは用が済みます。

守りたいなら、渡す側で絞ります

最後に、実務の話をします。

Notion側では守れません

ここまでで分かったのは、Notion側の設定では外からの操作を止められないということです。

やりたいこと Notion側で
このページを編集させたくない ロックは効かない
このページを削除させたくない 手段がない
この列を消させたくない 手段がない

守るのは、つなぐときです

止められるのは、つなぐときに渡す権限のほうです。

渡す権限 できなくなること
読むだけを渡す 編集も削除もできない
読む+足すを渡す 既存の書き換えはできない
全部渡す 何でもできる

ここが唯一の防御線です。Notionのページ側ではなく、つなぐ側で決まります。

見落とされがちですが、権限はあとから減らせます。いま全部渡しているなら、使っていないものを外してください。

外したあとに処理を動かして、止まらなければそのままで大丈夫です。止まったら、その権限だけ戻せば済みます。

共有する範囲も絞ります

もう1つは、どのページを共有するかです。

つないだ相手には、共有したページの下にあるものが全部見えます。上の階層で共有すると、その下が丸ごと対象になります。

触らせたくないページは、共有する階層の外に置いてください。これがいちばん確実です。

順番にすると、こうなります

順番 やること
1 触らせたくないページを、共有の外に出す
2 渡す権限を、使うぶんだけにする
3 公開されたままのページを定期的に洗い出す
4 ロックは、画面で人が触るのを減らす目的で使う

4番の位置づけが大事です。ロックを「外からの防御」として数えないでください。

いちばん効くのは1番です

2番以降は、どれも「できることを減らす」話です。1番だけが、そもそも見せない話になります。

経営の数字、人事の情報、契約書。外部ツールが読む必要のないものは、読める場所に置かないでください。

Notionは階層で共有するので、置き場所を変えるだけで対象から外れます。設定をいじるより確実で、あとから見ても分かりやすいです。

よくある質問(FAQ)

ロックは意味がないということですか。

外からの操作に対しては効きませんでした。画面で人が触るときにどう効くかは、今回確かめていません。外部ツールをつないでいる場合は、防御として数えないでください。

データベースの列を守る方法はありませんか。

Notion側にはありませんでした。つなぐときに渡す権限を「読むだけ」にするか、そのデータベースを共有の外に置くことになります。

公開されたままのページを、外から非公開に戻せますか。

戻せません。見つけることはできますが、止めるのは画面での操作になります。見つけて知らせるところまでが、外からできる範囲です。

公開中のページには、本当にアドレスが入りますか。

そこは確かめていません。外から公開できないので、公開状態のページを用意できませんでした。項目があることと、未公開なら「なし」が返ることまでを確認しています。

1,607件というのは多いほうですか。

今回つないだ範囲で見えた件数です。共有した階層の下が全部入るので、上のほうで共有しているとこのくらいになります。自分の環境でも同じ方法で数えられます。

誰がどのページを見られるかを、一覧にしたいです。

外からは取れませんでした。ページの情報にも、人の情報にも、権限に関する項目が1つも入っていません。

ロックは、外からの防御になりません

ロック中でも、外からは編集も削除も通りました。守りたいなら、つなぐときに渡す権限を絞るか、そのページを共有の外に置いてください。公開されたままのページは、13秒で洗い出せます。

Notionを使ってみる

上部へスクロール