こんにちは、エムザス ITサービス部です。
今回は、kintoneアプリに設定できるアクセス権について書いていきます。
kintoneは複数のユーザーで使うことがほとんどで、誰がどのアプリを閲覧できて良いのか、どの条件に当てはまったらそのレコードは編集不可になるのかなどの設定も同時にしていると思います。
この設定が想定しているものになっていないと、情報漏洩やデータ損失に繋がる可能性があります。
お知らせ①
🌟無料&登録不要でプラグインのお試しが可能!🌟
kintoneユーザーの皆さん!
エムザスのkintoneプラグインはもう試しましたか?🤔
エムザスでは以下のようなプラグインを開発しています!👇
デモ環境で、ほとんどの機能が今すぐお試しいただけます✨
さらに、お客様のドメインで無料で3ヶ月間、すべての機能を試すこともできます!🎉
それでは、本題に入ります!
アクセス権設定について
kintoneのアプリで設定できるアクセス権は以下の3つのカテゴリで設定ができます。
①アプリのアクセス権・・・すべてのレコードに対する権限。
②レコードのアクセス権・・・特定のレコードに対する権限。
③フィールドのアクセス権・・・特定のフィールドに対する権限。
これらを組み合わせることでいつ誰にどんな権限を与えるのか(制限するのか)を設定することができます。
公式の説明ページはこちら
アクセス権の組み合わせ
通常、アプリを作成した直後はレコードのアクセス権とフィールドのアクセス権は何も設定されていません。
その場合アプリのアクセス権のみがユーザーの操作に影響します。
例えば以下のようにアプリのアクセス権が設定されていれば試験太郎は全てのレコードに対して、閲覧・追加・編集・削除が可能になります。

では以下のようにアプリのアクセス権とレコードのアクセス権が両方設定されている場合はどうでしょうか。


この場合、試験太郎は全てのレコードに対して、閲覧・追加・編集が可能になります。
レコードのアクセス権で削除は許可されていないので、先ほどとは違い削除ができなくなっています。
実際に一覧画面で確認すると削除ボタンがグレーになり実行できなくなっています。

今度は、以下のようにアプリのアクセス権とレコードのアクセス権を設定してみます。


先ほどとはアプリの削除とレコードの削除の設定が逆になっています。
結果から言うと、この場合もレコードの削除はできず、閲覧・追加・編集が可能になります。
しかし、実際に一覧画面を確認してみると先ほどとは表示が少し違います。

削除ボタンそのものが表示されていません。
これはアプリのアクセス権で削除が許可されていない(条件は関係なく全てのレコードの削除ができない)ので、削除ボタンそのものを表示する必要がないという理由だと思われます。
一方、アプリのアクセス権では削除が許可されていてレコードのアクセス権で削除が許可されていない場合は、レコードの条件によっては削除ができるものとできないものがあるので削除ボタンがグレーで表示されていると思われます。
(今回の設定ではレコードのアクセス権ですべてのレコードを対象にしているので削除できるものはありませんが。)
このようにユーザーの許可される操作はアプリ・レコード・フィールド、どのレベルでのアクセス権が優先されるということではなく、いずれかのレベルで許可されていなければその操作はできないというセーフティなつくりになっています。
一括削除
削除についてはアクセス権の他に一括削除という機能もあります。
これを使うとアプリの一覧画面で表示されているレコードを全て一度に削除することができるというものです。たくさんのレコードを削除する必要があるときに便利な機能です。
公式の説明ページはこちらです。
こちらはアプリの高度な設定から設定できるものになります。

公式ページにも記載がありますが、この機能を使える条件は以下の通りです。
・一括削除機能が有効になっている。
・アプリのアクセス権で「レコード削除」と「アプリ管理」にチェックが入っている。
この2点を満たすと一括削除機能を使用することができます。
アプリ管理の権限も必要だというところが注意点です。
また、厳密に言うとこの条件を満たしたとき一括削除ができるわけではなく一括削除機能が使用できるということになります。
どういうことかというと以下のような設定のとき
・一括削除機能が有効になっている。
・アプリのアクセス権で「レコード削除」と「アプリ管理」にチェックが入っている。
・レコードのアクセス権で「削除」にチェックが入っていない。

このような場合には、一覧画面で右側の・・・から一括削除を実行できるのですが、実際にレコードの削除は行われません。(厳密には一括削除はしようとしたが削除できるものが無かったという感じでしょうか。)

通常はレコードのアクセス権で全てのレコードを対象に制限を加えることはあまり無さそうですが(全てであればアプリのアクセス権で良いため)、アクセス権やユーザー操作の設定箇所が複数ありどのような設定をすれば実際に操作を制限できるのか、画面上での表示がどのように変わるのかを理解しておかないと、ユーザーに混乱を与えてしまうことにもなりかねません。
間違えて削除してしまったら
アクセス権が厳しめに設定されていて削除したくても削除できなかった場合はまだ取り返しがつきますが、設定に穴があり意図せず削除してしまったときや悪意を持って削除できてしまった場合には取り返しがつきません。
※kintoneではレコードの復元はできない仕様になっています。
基本的に削除されてしまったレコードの復元はできないのですが、エムザスが開発したプラグイン
「EMログ」を使っていれば削除されたレコードの復元が可能になります。
レコードが削除される前にアプリにEMログを導入していただく必要はありますが、いつ誰がどのアプリのどのレコードを削除したかをログに残すことができ、削除されたあともその情報をもとにワンボタンで削元に戻すことができます。
また、EMログという名前からもわかる通りレコードの閲覧や編集、プロセス管理のステータス進行など、いろいろな操作をログとして残すことができるプラグインになっています。
削除レコードの復元でも述べましたが、何かことが起こる前に導入することで威力を発揮するプラグインです。
EMログの紹介ページはこちらをご覧ください。
すぐに無料でお試しが可能なデモ環境も用意しています。
またEMログの他にもいろいろなプラグインをエムザスでは開発しています。
是非こちらからエムザスの製品をご覧ください。