インテグレーションのパーミッション変更
これまでは全ての操作が可能なインテグレーションしか作成できませんでした。今回、インテグレーション生成時に、かなり細かいパーミッションを設定できるようになったようです。以下、概要をまとめておきます。
コンテンツ機能
以下の機能の任意の組み合わせが設定できるそうです。
- コンテンツの読み取り - Notion ワークスペース内の既存のコンテンツを読み取るアクセス権が与えられます。
- コンテンツの挿入 - Notion ワークスペースに新しいコンテンツを作成するアクセス権が与えられます。ただし、読み取りのアクセス権は提供されません(必要なら上の読み取り権限を一緒につける必要があります)。
- コンテンツの更新 - Notion ワークスペース内の既存のコンテンツの更新アクセス権が与えられる。こちらも、読み取りのアクセス権は提供されません(こちらも必要なら読み取り権限をつける必要があります)。
ユーザ機能
さらに、ユーザに関する権限も選択できます。こちらは排他なので選択制だと思います。
- ユーザ情報なし - ユーザに関する情報 (名前、プロフィール画像、電子メールアドレスなど) は取得できません。
- メールアドレスのないユーザ情報 - メールアドレスを除くユーザに関する情報 (名前、プロフィール画像など)は取得できます。
- メールアドレスを含むユーザ情報 - メールアドレスを含む全てのユーザ情報 (名前、プロフィール画像、メールアドレスなど)を取得できます。
2021年12月15日以前に作成されたインテグレーションは、全てのコンテンツ機能と電子メールアドレスを含むユーザ情報にアクセスできるユーザ機能が自動的に設定されています。
検証
私は基本的に Notion にデータを追加するアプリしか作成していないので、読み込みのみのインテグレーションはあまり使うことはないかと思います。とりあえず設定画面がどうなったかだけ確認してみます。Notion アプリの設定でインテグレーションを選ぶと既存のインテグレーションが並んでいます。これらはフルアクセス権を持つインテグレーションになります。ここで、
独自のインテグレーションを開発
するを選ぶと、新規に細かい粒度を持つインテグレーションが作成できるようです。
新しいインテグレーションを選ぶと以下のような画面になります。これまで存在しなかったコンテンツ機能に関するチェックボックス(複数選択可能)とユーザ機能に関するチェックボタン(一つのみ選択可能)が用意されています。デフォルトではコンテンツ機能は全て選択されており、メールアドレスを含むユーザ情報を読み取るになっているため、これまでと同じ権限になります。

Notion API Changelog まとめ