kintoneアプリを活用する中で、データのセキュリティと適切な管理は重要です。
特に、誰がどの情報にアクセスし、編集できるかを制御するアクセス権の設定は、アプリの運用において中心的な役割を果たします。
今回は、kintoneのアクセス権設定について、レコードとフィールドの二つの側面から詳しく解説します。
なお、ペパコミ株式会社では、「kintone」を活用した業務支援を行っています。業務効率化にお悩みの方は、ぜひ以下からお気軽にご相談ください。
kintoneのレコードアクセス権設定
kintoneのレコードアクセス権は、アプリ内の個々のデータに対して、ユーザーが「閲覧」「編集」「削除」のいずれの操作を許可されるかを制御する機能です。
この設定により、例えば社員名簿アプリにおいて、他の社員の情報を閲覧はできるものの、誤って編集したり削除したりする事態を防げます。
ユーザー選択フィールドの追加
kintoneのサンプルアプリをそのまま使用する場合、レコードアクセス権を設定するためにユーザー選択フィールドの追加が必要です。
このフィールドは、標準のサンプルアプリには含まれていません。
例えば、社員名簿アプリであれば「社員名」という名前でユーザー選択フィールドを追加します。このフィールドにアカウントが登録されているユーザーに対して、特定の権限を付与できるようになります。
特定のユーザーが自身のレコードを編集可能にする設定
追加したユーザー選択フィールドを利用すると、特定のユーザーが自身のレコードのみを編集できるように設定できます。
例えば、社員名簿アプリのレコードに自身の名前が登録されている場合、そのユーザーは自分の情報について閲覧および編集操作が許可されます。編集操作が可能であれば、画面上に鉛筆マークが表示されます。
一方で、その他のユーザーは、そのレコードを閲覧できるものの、編集や削除操作は実行できません。この設定を適用すると、編集ボタンがグレーアウトされ、操作できなくなります。
人事部など特定のグループが全レコードを操作可能にする設定
企業によっては、人事部などの特定の部署が全ての社員のレコードを閲覧、編集、削除できる必要がある場合があります。
このような場合は、対象の部署やグループに対して、全てのレコードに対する「閲覧」「編集」「削除」の権限を付与します。例えば、人事部の担当者が退職した社員の情報を削除する必要がある場合に、この設定が役立ちます。
レコードアクセス権設定の注意点
レコードアクセス権を設定する際、特に注意が必要なのが、設定の優先順位です。
kintoneのアクセス権処理には特定の仕様があるため、意図しない権限の制限が発生する場合があります。これはkintoneのアクセス権設定における典型的な事象です。
kintoneにおけるアクセス権処理の仕組み
kintoneは、設定されたアクセス権を上から順番に処理していく仕様があります。
条件に合致する設定が見つかると、その時点で処理が終了し、それ以降に設定された権限は適用されません。
これは、アプリ全体のアクセス権設定にも、個別のレコードアクセス権設定にも共通する仕様です。
権限が適用されない一般的な理由
この処理の仕組みにより、「全権限を与えたはずなのに、特定の操作ができない」という状況が発生する場合があります。
特に、人事部の社員が自身のレコードを削除しようとした際に、この問題が顕在化します。 例えば、以下のようなアクセス権設定を行った場合を考えます。
設定順序 | 権限設定内容 |
1番目 | 社員名にアカウントが登録されているユーザーは、自身のレコードを閲覧および編集のみ可能とする。削除は不可。 |
2番目 | 人事部のユーザーは、全てのレコードを閲覧、編集、削除可能とする。 |
この設定で、人事部に所属し、かつ自身のレコードが「社員名」フィールドに登録されている社員が、自身のレコードを削除しようとするとどうなるでしょう。
kintoneは上から順に設定を読み込むため、まず1番目の「社員名にアカウントが登録されているユーザー」という条件に合致します。
この時点で、このユーザーに対する処理が終了し、削除権限がない「閲覧と編集のみ」の権限が適用されてしまいます。
結果として、人事部の社員であっても自身のレコードを削除できない事態が発生します。これは、kintoneのアクセス権設定において頻繁に見られる事象であり、「なぜか権限が付与されない」という疑問の原因になります。
正しい優先順位設定による解決策
このような問題を回避するには、より強い権限を持つ設定をリストの上位に配置することが重要です。
アクセス権設定画面では、チェックの数が多い(=権限が多い)設定ほど、リストの上位に配置する方針が有効です。 具体的には、以下のように設定順序を変更します。
設定順序 | 権限設定内容 |
1番目 | 人事部のユーザーは、全てのレコードを閲覧、編集、削除可能とする。 |
2番目 | 社員名にアカウントが登録されているユーザーは、自身のレコードを閲覧および編集のみ可能とする。削除は不可。 |
この設定順序にすることで、kintoneは最初に「人事部のユーザーは全権限を持つ」というルールに合致するかを確認します。
人事部の社員であれば、このルールが適用され、自身のレコードを含め、全てのレコードを完全に操作できるようになります。
その後、人事部ではない一般の社員については、2番目の「自身のレコードは閲覧・編集可能、その他は閲覧のみ可能」というルールが適用されます。
このように、権限の強い設定から弱い設定へと順序立てて配置することで、意図した通りのアクセス制御を実現できます。この原則は、レコードアクセス権だけでなく、アプリ全体のアクセス権設定にも共通して適用されます。
kintoneのフィールドアクセス権設定
kintoneでは、レコード全体へのアクセス制御に加えて、特定のフィールドへのアクセスを個別に制御することも可能です。
この機能は、機密性の高い情報を扱う場合に重要です。
特定フィールドの表示・編集制限
社員名簿アプリの例では、緊急連絡先のような情報は、特定の役職者のみが閲覧できるべき場合があります。
このような場合、「フィールドのアクセス権」機能を利用し、ピンポイントで対象のフィールドを隠す設定ができます。
緊急連絡先にかかわる氏名、続柄、連絡先といった各フィールドに対して、個別に表示や編集の権限を設定します。
フィールドグループ化の活用
緊急連絡先のように複数の関連フィールドがある場合、それぞれを個別に設定することもできますが、これらをグループとしてまとめると設定管理が簡素化されます。
グループ化したフィールドは一括で権限設定が可能で、例えば「緊急連絡先グループ」に対して、「特定ユーザー以外は閲覧できない」といった権限を適用できます。この設定を行うと、権限のないユーザーには対象のフィールドが表示されなくなります。
まとめ
kintoneのアクセス権設定は、アプリのセキュリティと使いやすさを両立させる上で不可欠な要素です。
レコード全体へのアクセスを制御する「レコードアクセス権」と、特定の項目へのアクセスを制御する「フィールドアクセス権」の二つを理解し、適切に設定することが求められます。
特に、レコードアクセス権における「優先順位」は、意図した通りの権限が適用されない原因となる典型的な注意点です。
強い権限を持つ設定をリストの上位に配置することで、この問題を回避できます。これらのアクセス権を効果的に設定し、kintoneアプリを安全に運用してください。
なお、ペパコミ株式会社では、「kintone」を活用した業務支援を行っています。業務効率化にお悩みの方は、ぜひ以下からお気軽にご相談ください。
コメント