Object Storage Backend API - B Backend API - A DB - Table B DB - Table A Record - A1 Record - B1 Record - B2 Object - 1 Object - 2 tool tool / resource tool
/ resource tool Record - A2 IdP MCP Server Object Storage Object Storage Backend API - B Backend API - A DB - Table B DB - Table A Record - A1 Record - B1 Record - B2 Object - 1 Object - 2 Webで公開されるプロダクトと共通のシステム 新規開発 tool / resource tool
- B Backend API - A DB - Table B DB - Table A Record - A1 Record - B1 Record - B2 Record - A2 Q. プロダクトとして提供リモートMCPサーバーの認可制御は何に基づいて考えるべき? Object - 1 Object - 2 tool tool / resource tool
- B Backend API - A DB - Table B DB - Table A Record - A1 Record - B1 Record - B2 Record - A2 A. 既存のプロダクトの権限を基に、IdPから払い出されたAccess Tokenを用いて判断する ※JWTでAccess Tokenを払い出している場合は、JWTの検証時にscopesなどを基に操作の可否を判断する。 Object - 1 Object - 2 tool tool / resource tool IdP側でユーザーの権限を管理し、 ユーザーの用いるAccess Tokenに Scopesとして付与するのが 望ましい
- B Backend API - A DB - Table B DB - Table A Record - A1 Record - B1 Record - B2 Record - A2 A. 既存のプロダクトの権限を基に、IdPから払い出されたAccess Tokenを用いて判断する ※JWTでAccess Tokenを払い出している場合は、JWTの検証時にscopesなどを基に操作の可否を判断する。 Object - 1 Object - 2 tool tool / resource tool 権限の検証をMCP Serverで 行う以外にBackend API側でも 実施していると、誤った操作が されにくくなる
- B Backend API - A DB - Table B DB - Table A Record - A1 Record - B1 Record - B2 Record - A2 A. 既存のプロダクトの権限を基に、IdPから払い出されたAccess Tokenを用いて判断する ※JWTでAccess Tokenを払い出している場合は、JWTの検証時にscopesなどを基に操作の可否を判断する。 Object - 1 Object - 2 tool tool / resource tool Object Storageなどの リソースへ直接操作を行う場合 MCP Server側の検証とともに ABACを用いたアクセス制御を 推奨します
Backend API - Slackの操作 Backend API - A DB - Table A 資格情報の保管 KVSなど Slack API Slack IdP tool tool 認可委譲の場合、サービスが求める権限を 個々のユーザーが許可することで、権限を アプリケーションに移譲することができる この場合、ユーザーのできることがアプリ ケーションのできることになるので、権限 の超越などは発生しにくい