アプリ運用ルール策定ガイド
拡張機能編〈第1版〉
サイボウズ株式会社※この資料は2021年11⽉時点のkintoneを基に作成しております当資料の作成背景と目的
l kintoneの拡張機能を活⽤すると、より便利な業務システムを構築できます。
⼩規模なチームがkintoneを上⼿く活⽤できた後、そのkintone上で社内の他部⾨も利⽤を始めていくというケースもよく⾒られます。

管理ルールの策定と運⽤

l このようにkintoneを多くのユーザーで利⽤する際、運⽤保守を円滑に進めていくためのポイントがあります。そういったポイントの1つが「拡張機能の管理ルール策定」です。
l 当資料は、この「拡張機能の管理ルールを策定する」際の参考資料としてご利⽤ください。

複雑化のコントロール

拡張機能の活⽤

l 策定した管理ルールを元に運⽤保守を円滑に進めながら、より強⼒な業務改善のためのプラットフォームとして利⽤いただけるのが理想です。
l 当資料は、主にIT部⾨の⽅を対象読者として想定しています。
1

目次
ll

kintoneでの機能追加

3

kintoneでの機能追加

3l

サイボウズが提供する拡張機能

4l

機能追加するためには？

5l

kintoneでの機能追加

6l

運⽤保守を円滑にするための観点

7l

運⽤保守しにくくなる原因

8

管理ルール策定にあたっての参考情管理ルール策定にあたっての参考情報
9l

考慮すべき5つのポイント

10l

0. 管理体制の構築

11l

1. 機能追加のコントロール

12l

2. 管理権限のコントロール

15l

3. 要求と要件のコントロール

17l

4. 棚卸し182

kintoneでの機能追加

3

サイボウズが提供する拡張機能
kintoneをスタンダードコースで契約することで、以下4種類の拡張機能を利⽤することができます。

REST API

画⾯カスタマイズ

他システムとデータを連携できるようになる。kintone のデータを他システムに渡したり、他システムのデータをkintone に取り込むことができる。

画⾯をカスタマイズすることで、標準搭載されていない機能を追加することができる。

プラグイン

Webhookjquery.min.js

複数の JavaScript や CSS をひとまとめにして適⽤できる追加プログラム。

ol.js
kintoneCustomize.js
ol.cssload-image.
all.min.js

他システムにデータを送信する機能。
kintone にデータが登録されたり、更新されたりしたタイミングで、そのデータを他システムに送信することができる。

Webhooks logo
The MIT License（https://github.com/logo/webhooks）
Copyright © 2014 <friends@segment.io>

これら「サイボウズが提供する拡張機能」を利⽤することで様々な機能を追加できます。
4

機能追加するためには？
⼤きく以下2つの⽅法で機能が追加できます。両⽅の⽅法を組み合わせることも可能です。

個別にシステム開発する

l 前⾴で紹介した「サイボウズが提供する拡張機能」を使って、個別にシステム開発する⽅法です。
l ⾃由度が⾼い反⾯、プログラム開発が多く必要となり、⼀般的なシステム開発に近い⽅法となります。

kintone エコシステムを活⽤する

l 前⾴で紹介した「サイボウズが提供する拡張機能」に「kintone エコシステムが提供する拡張機能」を組み合わせて機能追加する⽅法です。
l ⾃由度が抑えられる反⾯、プログラム開発もなるべく抑えられ、いわゆるローコード開発に近い⽅法です。

5

kintoneでの機能追加
つまり「サイボウズが提供する拡張機能」に前述の2つの⽅法を組み合わせることで、kintoneに機能追加できます。

サイボウズが提供する拡張機能(機能拡張のためのインタフェース)
kintoneでの機能追加

個別にシステム開発する

kintone エコシステムを活⽤する

6

運用保守を円滑にするための観点以下の観点を押さえることで、kintoneの拡張機能が運⽤保守し易くなります。

機能追加のコントロール
kintoneとは別の連携サービス

管理権限のコントロール

追加された
プラグイン

要求と要件のコントロール
プラグイン追加管理も担ってくれる⼈
背景を残す

kintone外にあるデータ連携⽤プログラム

追加された
カスタマイズ

管理対象を抑えることで、⾃分たちがコントロールし易い範囲に留めることができる

機能追加
したいだけの⼈管理を担ってくれる⼈に管理権限を付与することで、秩序⽴てて機能追加することができる

カスタマイズ追加

機能追加の背景となった要求事項や要件を記録することで、運⽤保守時に判断し易くできる
7

運用保守しにくくなる原因
kintoneの拡張機能が運⽤保守しにくくなる原因としては、主に以下の3つが考えられます。

度重なる機能追加で管理対象が増えがち
kintoneとは別の連携サービス追加された
プラグイン

kintone外にあるデータ連携⽤プログラム

追加された
カスタマイズ

管理対象が増えるので単純に複雑になる機能追加したい⼈に管理権限を付与しがち機能だけ追加しがちプラグイン追加

プラグインをインストールしたいです。

どうぞ。
管理権限を付与しますね！

アプリをカスタマイズしたいです。

権限を付与し過ぎると機能も増え過ぎる

カスタマイズ追加

導⼊理由や経緯が分からなくなり、運⽤保守時の判断が難しくなる

8

管理ルール策定にあたっての参考情報

考慮すべき5つのポイント管理体制をまず構築したうえで、先の「運⽤保守を円滑にするための観点」で挙げた3点を押さえます。
さらに運⽤をすすめていくなかで棚卸しを⾏うことで、顕在化した問題点に対処していきつつ、kintoneを継続的な業務改善ができるプラットフォームとして保つことができます。

0. 管理体制の構築

1. 機能追加のコントロール

2. 管理権限のコントロール

3. 要求と要件のコントロール

4. 棚卸し

10

0. 管理体制の構築
まずは管理体制を構築しましょう。最低限、以下2つの役割を誰が担当するのかを決めておくことをお勧めします。
※カスタマイズしない場合はkintone全体の拡張機能管理者の1つのみ。
役割

担当範囲

付与しておく権限期待する⾏動補⾜

kintone全体の⾃社のkintoneで利⽤する

cybozu.com共通管理者

l 機能追加を⾏うかどうかを判断する

以下の機能差異があるため、拡張機能管理者

拡張機能を管理する

l kintoneシステム管理者以上の権限がkintoneシステム管理者では権限的必要な機能追加の設定作業を⾏うに不⾜です・プラグインをインストールする・カスタマイズを適⽤する
l 追加した機能の棚卸しをする

l 定期メンテナンスや緊急メンテナンスなどの情報はメール配信されない
l ⾃分がアプリ管理者に設定されていないアプリを操作できない

カスタマイズの⾃社のkintoneで利⽤する

保守担当者

カスタマイズを開発/保守する(不要)

l カスタマイズを開発する(外注する）

カスタマイズを外注する際も、将来l カスタマイズを保守する的な保守性を考慮し、⾃社でもあるl カスタマイズの適⽤はしない程度保守できる状態にしておくのが望ましいです111. 拡張機能のコントロール
利⽤する拡張機能を限定することで、⾃分たちがコントロールし易い範囲に留めることができます。
kintoneの管理権限では利⽤する拡張機能を選択することができないため、運⽤でのコントロール(※)となります。
※管理権限を持つユーザー同⼠で「当社では JavaScript / CSS カスタマイズの利⽤は⽌めておきましょう」など取り決める。
コントロールするにあたっての考え⽅の⼀例は以下の通りです。
個別システム開発を禁⽌する
・JavaScript / CSS カスタマイズ禁⽌・⾃作プラグインのインストール禁⽌①機能追加が必要になったときはまずノーコードでkintoneアプリをカスタマイズできる連携製品（例：gusuku②個別開発する必要が出てきたらCustomine）を許可する・プログラムを書くのではなく、仕様を⾃然⾔語で書いて機能実装段階的な拡張機能の追加
・kintoneエコシステムで提供される拡張機能を⼀括ではなく段階的に追加または導⼊時に⼀括で拡張機能を追加
・kintoneエコシステムで提供される拡張機能のうち必要なものをあらかじめ⼀括で追加※開発元が違うプラグインの競合などに要注意
12

参考：IT部門の積極的関与が難しい場合
IT部⾨が業務上、kintoneの運⽤に積極的な関与が難しいケースもあるかと考えられます。
そのような場合は「個別にシステム開発する」⽅法は採⽤しないというポリシーにすることで、IT部⾨でのコントロールが必要となるポイントを減らすという選択肢があります。

この役割も設置不要になる
サイボウズが提供する拡張機能(機能拡張のためのインタフェース)

カスタマイズの保守担当者

個別にシステム開発する

kintone エコシステムを活⽤する
13

参考：個別システム開発にIT部門がなぜ必要か？
以下のような技術要素を⽤いてのシステム開発となるため、画⾯開発やデータ連携を⾏う場合はIT部⾨も交えた保守体制を組みましょう。

画⾯カスタマイズ(プラグイン含む)

l JavaScriptカスタマイズ
ll

データ連携

l kintone REST API：kintone 公式の API

kintone JavaScript API：kintone 公式のAPI

l

認

証

l

kintone.api：kintone REST API を実⾏できる

lOAuthlkintone.proxy：外部通信できるl

APIトークンでの認証

lkintone.plugin.app.proxy：プラグイン⽤に情報秘匿できるl

ユーザー認証Webhooks logo
The MIT License（https://github.com/logo/webhooks）
Copyright © 2014 <friends@segment.io>

kintone に限らない⼀般的な JavaScript の技術
l他システムとのデータ連携 (fetchメソッドなど)

l

DOM操作

※⾮推奨

14

l Webhookjquery.min.js

l CSSカスタマイズ

ol.js
kintoneCustomize.js
ol.cssload-image.
all.min.js

14

2. 管理権限のコントロール「0. 管理体制の構築」を把握できているユーザーに限定して管理権限を付与することで、秩序だった機能追加が可能です。
kintoneで強い管理権限は「cybozu.com共通管理者」と「kintoneシステム管理者」の2つです。
cybozu.com共通管理者は操作できる機能が多い反⾯、その名の通り、cybozu.com全体の管理機能も操作可能となります。
機能拡張のためのインターフェース

cybozu.com共通管理者

kintoneシステム管理者(どちらの権限もない場合)

APIトークン (REST API)〇：管理できる△：アプリのアクセス権(アプリ管理)があれば管理できる△：アプリのアクセス権(アプリ管理)があれば管理できる

Webhook〇：設定できる△：アプリのアクセス権(アプリ管理)があれば管理できる△：アプリのアクセス権(アプリ管理)があれば管理できる

JavaScript / CSSでカスタマイズ(kintone全体)〇：適⽤できる〇：適⽤できる

×：適⽤できない

JavaScript / CSSでカスタマイズ(アプリ)〇：適⽤できる△：アプリのアクセス権(アプリ管理)があれば適⽤できる

×：適⽤できない

プラグイン〇：インストールできる〇：インストールできる

×：インストールできない▼ kintone上での管理者についての詳細はこちら
kintone よくあるご質問（FAQ）- 「kintone」の管理者について
https://faq.cybozu.info/alphascope/cybozu/web/kintone/Detail.aspx?id=186315

参考：システム管理権限の必要な操作を他ユーザーが行いたい場合システム管理権限の必要な操作を他ユーザーが⾏いたい場合も、基本的には権限を保持するユーザーが⾏いましょう。

JavaScript / CSS のカスタマイズを適⽤プラグインをインストール①プラグインのインストール依頼

システム管理権限を保持しないユーザー

システム管理権限を保持するユーザー①カスタマイズの適⽤依頼システム管理権限を保持しないユーザー②カスタマイズの確認依頼

システム管理権限を保持するユーザー

カスタマイズの保守担当者③カスタマイズの適⽤②プラグインのインストール

16

3. 要求と要件のコントロール
機能追加の背景となった要求事項や要件を記録することで、運⽤保守時に判断し易くなります。
アプリ管理者⽤メモに記録する等の形でご対応ください。

https://jp.cybozu.help/k/ja/user/app_settings/
notes_for_app_administrators.html

17

4. 棚卸し
kintone全体の拡張機能管理者を中⼼に、追加した機能の棚卸しを⾏いましょう。半年に⼀回の開催がお勧めです。
棚卸しするポイントとしては以下を参考にしてください。

確認対象

機能観点

プラグイン

kintoneシステム管理 > プラグイン

・⽤途不明なプラグインがインストールされていないか・利⽤されていないプラグインがないか

アプリのカスタマイズ

kintoneシステム管理 > アプリ管理・カスタマイズを使⽤中であるアプリの数・⽤途不明なカスタマイズがないか

kintone全体のカスタマイズ

kintoneシステム管理 > JavaScript / CSSでカスタマイズ・kintone全体のカスタマイズをしていないか
・⽤途不明なカスタマイズではないか

REST API

kintoneシステム管理 > アプリ管理

・1⽇のAPIリクエスト数が最も多いアプリは何か
・そのAPIリクエスト数はいくらか
・何アプリでAPIリクエスト数が1以上か
・⽤途不明なAPIリクエストが発⽣しているアプリはないか

kintoneとは別の連携サービス(連携サービス側の設定画⾯など)・kintoneとの接続設定で⽤途不明なものがないか・利⽤されていない設定が残っていないか
・連携サービス側の利⽤ユーザーの棚卸しはできているか

18策定した管理ルールを元に、運用保守を円滑に進めながら継続的な業務改善を進めてください！

19