kintone にてプログラム稼働時のみ編集権限の無いユーザーもレコード書き込みや編集を可能にする方法

前提と致しまして、
レコード詳細画面を開きました際、他アプリから値を取得し、
値をプログラムによって少し編集し、レコードへ詳細画面時に書き込むといったプログラムを
使用しております。

kintoneのレコード詳細画面にて権限が閲覧のみ可能なユーザーが詳細レコードを開いた際、
レコードの書き込みや編集は直でできないような状態で、プログラムのみ実行され、
書き込みが可能になるといったプログラムや手法、運用方法などございませんでしょうか?

前回も似た投稿をさせていただきましたが、
ご教授いただいた来ました上で、
「カスタマイズJSの場合、APIトークンをソースコードに記載することになり、セキュリティリスクが高まるのでお勧めしません。」
とも仰っていただきました。

前回の投稿及びご返信いただいた内容はこちらです。

今回お客様の運用環境というのもあり、推奨されていない方法はあまり用いたくないと思っております:sweat_drops:

つきまして、kintoneを運用される際他社様でも似たようなケースが必ず出てくるかと存じますため是非ご教授いただけますと幸いです。

宜しくお願い致します。

前回の回答にもありますが、処理をプラグイン化するのが一番手軽な方法かと思います。

前提として、権限のないユーザーがレコードの内容を書き換えるには、通常のkintone REST API(ユーザー情報を参照して実行するため、権限のないユーザーは実行不可)ではなくAPIトークンを利用したAPI(トークン発行時に設定した権限を元に実行)が必須になります。またAPIトークンを用いたAPIリクエストはkintone REST APIでは実行できないので、kintone.proxyまたはkintone.plugin.app.proxyで実行する必要があります。

 

その上でカスタマイズをする場合、カスタマイズJavaScriptではソースコードにAPIトークンを記載する必要があるため、デベロッパーツール等からソースコードを閲覧すれば簡単にAPIトークンを知ることができ、ユーザーが自分でAPIリクエストを実行して自由に内容を書き換えられるようになるためセキュリティ上良くないというのが理由です(また、アプリID、ドメイン、APIトークンさえ知っていればいかなる場所からでもレコードを書き換えることができるので、流出した場合のリスクが非常に大きいです)。

 

それでも問題ないのであれば、カスタマイズJavaScriptでkintone.proxyを実行してレコードを書き換える処理で解決しますが、問題がある場合はプラグインを作成し、その設定内にAPIトークンを保持し、ユーザーからはAPIトークンが見えないようにする必要があります。

mls-hashimoto様

ご返信いただきありがとうございます。

プラグイン化の方向性で実施していきたいと思います。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。