Excel業務の効率化が可能といわれるkintoneについて、アクセス権の設定例(指定したフィールドの他者分データを閲覧不可)の備忘録。
過去掲載の【kintone】アクセス権の設定例(作成分のレコードのみ閲覧・編集・削除)は、他者データの閲覧そのものが不可の設定でした。今回は指定したフィールドについてのみ、他者が登録したデータの閲覧を制限したいケースです。
他者が登録した基本情報部分は閲覧できるが、詳細は閲覧させたくないような事例です。
ただし、指定フィールドの他者分データを閲覧不可にする方法は、慣れていないと意図した結果にならないことがあるので、注意が必要です。注意点等は、以下の「フィールドのアクセス権設定における注意点と対応」を確認してください。。
内容:
アウトプットイメージ
今回も下図のとおり、アクセス権が設定されていない状態を前提に説明します。
ユーザー「C」でログインし、ユーザー「B」や「A」が作成のレコードなどがすべて見えている状態が設定前です。
アクセス権を設定し、上記の状態から「電話番号」の欄のみ、他者が登録したデータの閲覧を不可とします。
下図のように「電話番号」欄で他者分のデータは(閲覧権限なし)が表示され、内容の閲覧不可となっています。
設定内容
この設定事例は、レコードのアクセス権ではなく、フィールドのアクセス権の設定です。下図のようにします。
閲覧不可の設定をしたいフィールド(事例では「電話番号」)を選択後、[フォームのフィールドを追加]から「作成者」を追加し、「閲覧」「編集」にチェックを入れる。「Everyone」は全てのチェックを外す。
設定の詳細方法については、以下のとおりです。
kintone guidebook vol08 アクセス権(サイボウズ株式会社)
https://kintone.cybozu.co.jp/material/pdf/kintone_guidebook_vol08.pdf
フィールドのアクセス権設定における注意点と対応
上記設定をすることで、指定フィールドの他者分データを閲覧不可にすることはできますが、意図した動作とならず戸惑うことがあります。
具体的には、次のような状態になります。
- レコードの新規作成時は、閲覧不可の欄が表示されない。この事例であれば、下図のように「電話番号」欄が表示されず、新規作成時に入力できない。
ただし、一旦、データ登録後に編集から入力することは可能である。
- 閲覧不可にしたフィールドを「必須」にした場合、仮で初期値等を設定するなどしないと、エラーが発生する。
これは、「新規作成」の時点(保存するまで)は、「作成者」が確定していないので、上記事例では「Everyone」のアクセス権(閲覧・編集権限がない)に従うために発生するとのこと。
しかし、「Everyone」に閲覧・編集権限を付与すると他者作成分ののフィールドのデータが閲覧できてしまいます。
これを回避するためには、少しだけ設定に工夫が必要で、【kintone】アクセス権の設定例(必須項目にしたフィールドで他者分データを閲覧不可)に記載しました。
以上、kintoneでアクセス権の設定例(指定フィールドの他者分データを閲覧不可)でした。
その他の設定例は、【kintone】アクセス権の設定事例まとめに記載しました。