じぶんシリーズ

kintone攻略

kintoneの「レコード・フィールドのアクセス権」
― 案件ごと・項目ごとに、できることを絞り込む

#アクセス権

加賀美
加賀美

こんにちは!じぶんシリーズの加賀美です。今回のkintone攻略は「アクセス権」がテーマです。「このアプリ、担当以外の人には触ってほしくないな…」「メールアドレスの列だけは、ほかの人に見られたくないな…」——そんな声にこたえるのが、レコードのアクセス権とフィールドのアクセス権です。今回は「①案件担当者だけが自分の案件を編集・削除できるようにする」「②メールアドレスの列だけ閲覧できないようにする」という2つの具体例で、設定の流れを追っていきましょう。

そもそも「アクセス権」とは?

kintoneのアクセス権には、大きく分けてアプリ・レコード・フィールドの3つの単位があります。アプリ→レコード→フィールドの順で、だんだん細かく「見せる/触らせる相手」を絞り込んでいくイメージです。

管理者・リーダー・メンバーの3つの役割と、閲覧・編集・削除の許可をマトリクスにした例。管理者は3つとも許可、リーダーは閲覧と編集のみ許可、メンバーは閲覧のみ許可されている
1

アプリのアクセス権

アプリ単位で、レコードの閲覧・追加・編集・削除や、アプリの管理ができるユーザーを制限できます。「このアプリはこのメンバーだけが使える」といった、いちばん大きなくくりでの絞り込みに使います。

2

レコードのアクセス権

レコード1件ずつに対して、閲覧・編集・削除できるユーザーを制限できます。「自分が担当する案件だけ編集・削除できる」といった、行(レコード)単位の絞り込みに使います。

3

フィールドのアクセス権

フィールド1つずつに対して、閲覧・編集できるユーザーを制限できます。「メールアドレスの列だけは特定の人しか見られない」といった、項目単位の絞り込みに使います。

今回はこのうち、より細かい制御ができるレコードとフィールドの2つを、具体的な設定手順で解説していきます。土台となるアプリのアクセス権(誰がそのアプリを使えるか)をまず整えたうえで、レコード・フィールドで細部を絞る、という流れが基本です。

補足:アプリのアクセス権の設定場所

アプリのアクセス権は、[アプリの設定]画面の[設定]タブ→[アクセス権]→[アプリ]から設定します。なお、kintoneシステム管理者はアクセス権の設定にかかわらずアプリの管理権限を持ちます。また、非公開スペース内のアプリには、アクセス権の設定にかかわらず、そのスペースに参加していないユーザーはアクセスできません。

補足:許可できる操作の違い

レコードのアクセス権では[閲覧][編集][削除]の3つ、フィールドのアクセス権では[閲覧][編集]の2つを許可対象として設定できます。フィールドには「削除」という操作がないためです。

加賀美
加賀美

ポイントは、複数の行に同じユーザーが該当するとき、上の行の設定が優先されるという点です。行の並び順がとても大事になるので、ここを押さえておくと、このあとの手順がスッと理解できますよ。

①案件担当者だけが自分の案件を編集・削除できるようにする(レコードのアクセス権)

まずは「案件の一覧・閲覧は今までどおり全員ができるけれど、その内容の編集・削除は案件担当者だけに絞りたい」という設定です。ここでは、フォームに配置した[ユーザー選択]フィールド(例:案件担当者名)を使って、レコードごとに担当者を対象にします。

アクセス権[レコード]を開く

対象のアプリ(ここでは「案件管理」アプリ)を開き、一覧画面右上の歯車アイコンからアプリの設定に入ります。

案件管理アプリの一覧画面。右上の歯車アイコン(アプリの設定)が赤枠で強調されている

続いて[設定]タブを開き、[アクセス権]にある[レコード]をクリックします。

アプリの設定画面。上部の[設定]タブと、その中の[アクセス権]にある[レコード]が赤枠で強調されている

[追加する]をクリックする

[レコードのアクセス権]画面で[追加する]をクリックし、新しい設定行を追加します。

レコードのアクセス権画面。「設定済みのアクセス権はありません」と表示された状態で、[追加する]ボタンが赤枠で強調されている

行を追加した直後は、「ユーザー/組織/グループとアクセス権」の一覧に「Everyone」の行だけが自動で追加され、[閲覧]にあらかじめチェックが入った状態になっています。ここから、対象を絞り込んだり、担当者への許可を足したりしていきます。

追加するをクリックした直後の画面。ユーザー/組織/グループとアクセス権の一覧に「Everyone」の行が追加され、[閲覧]にのみあらかじめチェックが入っている

補足:「レコードの条件」で対象レコードを絞り込むこともできる

この行の上には[レコードの条件]という欄もあり、「特定のフィールドが、特定の値のときだけ」この行のルールを適用する、という絞り込みができます。たとえば[案件担当者名]フィールドを条件に選び、右側の人物アイコンから「ユーザーを選択」を開くと、特定のユーザー・組織・グループを条件の値として指定できます(下図は「グループ」タブで「Everyone」を選ぶ例)。

レコードの条件の設定行。条件に使うフィールドとして「案件担当者名」が赤枠で強調され、その右に「次のいずれかを含む」「ユーザーを追加」欄と、ユーザーを選択するアイコンが並んでいる
レコードの条件でユーザーを選択するダイアログ。[グループ]タブに切り替え、「Everyone」グループにチェックを入れて[追加(1)]をクリックしようとしている

ただし今回のように「レコードごとに選ばれた担当者本人」を対象にしたい場合、[レコードの条件]で決め打ちのユーザーを指定してしまうと、その1人にしか適用されません。レコードごとに自動で担当者が変わるようにしたいので、次の「ユーザー/組織/グループとアクセス権」側の設定を使います。

担当者本人を対象に追加する

「ユーザー/組織/グループとアクセス権」の[フォームのフィールドを追加]をクリックすると、対象にできるフィールドの候補が表示されます。ここで[案件担当者名]を選ぶと、「特定の人」ではなく「そのレコードで案件担当者名に選ばれている人」がアクセス権の対象になります。

補足:[フォームのフィールドを追加]で選べるフィールド

公式ヘルプによると、選べるのは[ユーザー][組織][グループ][作成者][更新者]です。プロセス管理を有効にしている場合は[作業者]も選べます。「案件担当者名」のような[ユーザー選択]フィールドは、この[ユーザー]にあたります。

ユーザー/組織/グループとアクセス権のフォームのフィールドを追加を開いた状態。候補に[更新者][作成者][案件担当者名]が並び、「案件担当者名」が赤枠で強調されている

担当者に許可する操作を決め、Everyoneの権限を必要最小限にする

追加した「案件担当者名」の行で、担当者に許可したい操作——ここでは[閲覧][編集][削除]すべてにチェックを入れます。そのうえで「Everyone」の行は[閲覧]だけを残し、[編集][削除]のチェックを外します。行が複数あるときは上の行の設定が優先されるため、「案件担当者名」の行を上に、「Everyone」の行を下に並べておくのがポイントです。順番を変えたいときは、行の左側にある並び替えアイコンをドラッグして入れ替えます。

ユーザー/組織/グループとアクセス権の最終的な設定。案件担当者名の行は閲覧・編集・削除すべてにチェック、Everyoneの行は閲覧のみチェックが入っている状態が赤枠で強調されている

補足:レコードそのものを完全に非表示にしたいときは

「担当者以外には一覧にも出したくない」という場合は、Everyoneの行の[閲覧]のチェックも外します。今回のように一覧としては見えてよいが編集・削除だけを制限したいのか、レコードごと見えないようにしたいのかで、Everyoneの行に残すチェックを調整してください。

保存してアプリを更新する

画面右下の[保存]をクリックします。そのあと[アプリの設定]画面で[アプリを更新]をクリックし、確認ダイアログでも[アプリを更新]をクリックすると、設定が本運用環境に反映されます。

「反映前の変更があります」と表示されたアプリ設定画面で[アプリを更新]ボタンをクリックし、「アプリの変更を運用環境に適用します。よろしいですか?」の確認ダイアログでも[アプリを更新]をクリックする、という2つの操作が並んでいる

これで「案件担当者だけが、自分の案件を編集・削除できる」設定は完了です!
ほかの人は一覧・内容を見られますが、編集や削除はできなくなります。

②メールアドレスの列だけ閲覧できないようにする(フィールドのアクセス権)

次は「レコード自体はみんなが見られるけれど、メールアドレスのフィールドだけは特定の人しか見られない」という設定です。行(レコード)ではなく列(フィールド)単位で絞りたいときは、フィールドのアクセス権を使います。

アクセス権[フィールド]を開く

[アプリの設定]画面で[設定]タブを開き、[アクセス権]にある[フィールド]をクリックします。

アプリの設定画面。上部の[設定]タブと、その中の[アクセス権]にある[フィールド]が赤枠で強調されている

[追加する]をクリックする

[フィールドのアクセス権]画面で[追加する]をクリックします。

フィールドのアクセス権画面。「設定済みのアクセス権はありません」と表示された状態で、[追加する]ボタンが赤枠で強調されている

対象のフィールドを選び、Everyoneの閲覧・編集を外す

[フィールド]のドロップダウンから、制限したいフィールド——今回は[メールアドレス]を選びます。そのうえで[ユーザー/組織/グループとアクセス権]の「Everyone」の行にある[閲覧][編集]のチェックを外します。これで、全員がメールアドレス列を見られない状態になります。特定の人にだけ見せたい場合は、別の行でそのユーザーや組織を追加し、上の行に並べて[閲覧]にチェックを入れます(上の行の設定が優先されます)。

フィールドのアクセス権の設定行。フィールドに「メールアドレス」が選ばれ、Everyoneの行の閲覧・編集のチェックボックスがどちらも外れた状態が赤枠で強調されている

保存してアプリを更新する

①と同じように、画面右下の[保存]をクリックし、[アプリの設定]画面で[アプリを更新]、確認ダイアログでも[アプリを更新]をクリックして反映します。

これで「メールアドレスの列だけは見せない」設定は完了です!
レコード自体は見えても、その項目だけを隠せます。

補足:アクセス権を設定できないフィールド

公式ヘルプによると、[ラベル][スペース][罫線][レコード番号]、および[テーブル]内のフィールドには、フィールドのアクセス権を設定できません。まとめて同じ権限をかけたいフィールドがあるときは、あらかじめ[グループ]フィールドにまとめておくと、グループ単位で一括設定できます。

アクセス権を設定するときの3つのコツ

1

「上の行が優先」を意識して並べる

レコードもフィールドも、1人のユーザーに複数の行の設定が該当すると上の行の設定が優先されます。「許可を広げたい相手」を上に、「Everyone(必要最小限の許可)」を下に置くのが基本の型です。思った通りに制限がかからないときは、まず行の順番を見直してみましょう。

2

設定後は必ず「アプリを更新」まで行う

[保存]だけでは本運用環境に反映されません。[アプリを更新]までクリックして、はじめて設定が有効になります。また、組織やグループでアクセス権を設定している場合、組織・グループの情報を変えたら、再度アプリの設定を更新すると最新の情報が反映されます。

3

プロセス管理の作業者には「閲覧」を忘れずに

レコードのアクセス権で対象を絞るとき、プロセス管理の作業者に指定したユーザーには閲覧権限が必要です。閲覧できないと、その人はレコードを開けず、アクションも実行できなくなってしまいます。ワークフローを回すアプリでは、作業者が見られる状態になっているか確認しておくと安心です。

加賀美
加賀美

レコード単位・フィールド単位のアクセス権を使い分ければ、「案件ごと」にも「項目ごと」にも、できることを細かくコントロールできます。まずは「Everyoneの権限を必要最小限にして、見せたい・触らせたい相手にだけ足す」——この型から始めてみてくださいね。
kintone攻略では、これからも業務がラクになるヒントをお届けしていきます。次回もお楽しみに!

kintone ヘルプ ユーザーがアプリでできる操作 kintone ヘルプ アプリにアクセス権を設定する kintone ヘルプ レコードにアクセス権を設定する kintone ヘルプ フィールドにアクセス権を設定する kintone ヘルプ [アプリのアクセス権]の設定パターン kintoneをはじめよう アクセス権を設定する

じぶんNote TOPへ戻る