ENECHANGE Developer Blog

ENECHANGE開発者ブログ

Notionインテグレーションの権限管理 - 全員が安心して使える環境づくり

こんにちは、ENECHANGEでシステム開発部の部長をしている岡本です。

昨日の利廣さんの記事(「モバイルアプリ開発フロー全体のAI自動化」)を読んで、AIエージェントの活用が開発プロセスの根幹にまで浸透してきていることを実感しました。NotionとFigmaのMCPサーバーを活用したタスク分解や、PR作成の自動化まで、本当に驚くべき進歩ですね。

特に印象的だったのは、NotionのBoard形式のデータベースに直接書き込む仕組みです。これにより、タスク管理とAIエージェントが密接に連携し、開発フロー全体がシームレスになっている点が素晴らしいと思います。

今回は、そんなAIエージェントとNotionの連携において、私たちが実践している権限管理について紹介させていただきます。利廣さんの記事で紹介されたような高度な自動化を安全に実現するためには、適切な権限設計が不可欠なのです。

なぜ権限管理が必要だったのか

最初の課題

AIエージェントにNotionの情報を読み書きさせたいという要望が社内で高まってきた時、最初は権限分離をするという発想はありませんでした。しかし、これには大きなリスクが潜んでいました。

セキュリティリスク

Notionには機密情報や個人情報が含まれている可能性があります。たとえば、1on1の中で話されたセンシティブな内容などが含まれているため、無制限にアクセスできる状態にしておくのは非常に危険です。

操作ミスによる情報改変リスク

弊社では非エンジニアも含めてAIエージェント活用推進のためにアカウントを付与しています。そのため、操作に不慣れなメンバーがAIエージェント経由でNotionを編集した際、意図せず重要な情報を上書き・削除してしまうリスクが常に存在します。特に重要な情報が誤って変更される事態は、絶対に避けたいポイントでした。

責任の所在の曖昧さ

Notionの管理情報に対してAIエージェント経由でだれがどのような操作を行なえる状態にあるのかがわからないと問題が発生した際の原因究明や責任の所在が曖昧になってしまいます。

Notionのチームスペース管理での工夫

完全分離による安全性の確保

Notionインテグレーションの設定では、内部インテグレーションシークレットによる認証を使用します。この方式では、シークレットを知っている人であればどのページにもアクセスが可能になってしまうという課題があります。

そのため、意図せずにページ閲覧権限を絞っている内容なども見えてしまうリスクがありました。この対策として、Notionのチームスペースを完全に分離して安全な設計としました。

publicチームスペース

アクセス制限が不要な情報であり、チームメンバ全員が閲覧可能な情報が管理されるスペース

privateチームスペース

アクセス制限が必要な情報(1on1なども含む)を管理するためのスペース

sandboxチームスペース

自由に操作や実験をしてもらうためのスペースであり、アクセス制限が不要な情報のみが存在するスペース

権限管理の設計思想

基本方針

私たちが採用した権限管理の基本方針は以下の通りです。

  1. 最小権限の原則: 必要最小限の権限のみを付与
  2. 段階的な権限付与: ユーザーのスキルレベルに応じた権限設定
  3. 明確な責任分界: 誰がどの権限を持っているかを明確化

3段階の権限設計

最終的に、以下の3段階の権限設計を採用しました。

①MCP_super(基本何でもできる)

  • 付与者: 操作に自信がある方向け(エンジニア推奨)
  • 対象: publicチームスペース 配下すべて
  • 権限: read/write
  • 用途: システム管理者や上級エンジニアが使用

②MCP_readonly(閲覧専用)

  • 付与者: AIエージェント利用正社員全員可能(希望者)
  • 対象: publicチームスペース 配下すべて
  • 権限: readのみ
  • 用途: 情報収集や分析目的での利用

③MCP_sandbox(検証用)

  • 付与者: AIエージェント利用正社員全員可能(希望者)
  • 対象: sandboxチームスペース 配下すべて
  • 権限: read/write
  • 用途: 新機能の検証や学習目的での利用

実装時の具体的な工夫

ユーザー安心感を重視した段階的な運用

権限管理の導入にあたっては、まず全員が安心してAIエージェントやNotionインテグレーションに触れられることを最優先にしました。最初から強い権限を付与するのではなく、まずは「MCP_sandbox」環境で自由に操作や実験をしてもらい、操作に慣れて自信がついた段階で、より強い権限(MCP_readonlyやMCP_super)を段階的に付与する運用としています。

このような段階的な権限付与により、「操作に不安がある」「誤操作で重要な情報に悪影響を与えてしまったらどうしよう」といった心理的ハードルを下げ、誰もが安心してAIエージェントの活用を始められるようにしています。

段階的な学習とサポート体制

  • 初心者向け: まずはMCP_sandboxで自由に試してもらい、失敗を恐れずに操作に慣れてもらう
  • 慣れてきた方: MCP_readonly権限で実際の情報収集や分析を体験し、より実践的なスキルを身につけてもらう
  • 自信がついた方・エンジニア: MCP_super権限で高度な操作や設定にもチャレンジできる

また、ユーザーが安心してステップアップできるよう、気軽に質問できるslackチャンネルや活用事例共有など、継続的なサポート体制も整えています。

この運用により、非エンジニアの方でも「まずはやってみる」ことができ、徐々に自信を持ってAIエージェントやNotionを活用できるようになっています。

導入効果と成果

セキュリティの向上

権限管理システムの導入により、機密情報の漏洩リスクを大幅に軽減できました。特に、1on1などの機密性の高い情報へのアクセスを適切に制御できるようになりました。

ユーザーの安心感向上

「操作不安だけどとりあえずいろいろ試したい」という方には、MCP_sandbox環境を提供することで、安心してAIエージェントの活用を試すことができるようになりました。これにより、非エンジニアのAIエージェント活用が大幅に促進されました。

効率的な情報管理

適切な権限設定により、必要な情報に適切なタイミングでアクセスできるようになりました。また、AIエージェントによる情報収集や分析の効率も向上し、意思決定のスピードが加速しました。

まとめ

MCPでのNotionインテグレーションにおける権限管理は、AIエージェントの安全で効率的な活用を実現するための重要な要素です。

適切な権限設計と運用ルールの確立により、セキュリティを保ちながら、多くのユーザーが安心してAIエージェントを活用できる環境を整備できました。

特に、非エンジニアの方々にも積極的にAIエージェントとの連携を試していただけるよう、MCP_sandbox環境を用意したことは一つの良い取り組みだったと感じています。

今後もMCP活用などを通じて業務効率化に向けて改善を進めていきたいと思います。