レコードへのアクセス権限

はじめまして。

勤務先で導入を検討しており、セキュリティ対策・運用の面から下記のことができるかを試していますが、どのように設定したらよいかお教えください。

【組織および利用者】

第1課 「1課長」ユーザー

第1課1係 「1係長」ユーザー

      「1係員」ユーザーが数名

第1課2係 「2係長」ユーザー

      「2係員」ユーザーが数名

このような組織体系の時に、第1課の緊急連絡先一覧表を運用するとします。

・「1係員」「2係員」ユーザーは自分のだけが閲覧・編集できる

・「1係長」「2係長」ユーザーは、自分が属する係のデータを閲覧・編集できる

・「1課長」ユーザーは、第1課のデータを閲覧・編集できる

このようにアクセス権を付与するとき、どのように設定したらよいのでしょうか。

 

「所属組織」(組織選択フィールド)を設置し、課長は「第1課」、1係長と1係員は「第1課1係」を入れておき、レコードのアクセス権で「所属組織」に閲覧と編集の権限を設定しました。

課長ユーザーでログインしたところ、1係員・2係員のレコードにアクセスできませんでした。

よろしくお願いします。

 

Koichi Itoさん

ものすごくベタベタな設定なのですが、下図のイメージでうまくいくかなと思います。

(的外していたらすみません)

データはこんな感じで

レコード権限設定がこんな感じ

上記設定例では、グループ を使っています。

組織の上下関係とかをうまく使えば、もっとスマートにできるのかもしれませんが、権限で迷った時は、私はグループに逃げます(笑)

考え方としては、組織選択フィールドに、関連する組織を放り込んで置き、それぞれについて

* 閲覧可能なグループを設定
* どこの組織においても、自分は閲覧可能
* everyoneは閲覧付加。

尚、グループを使わず、個人名でやっても同じイメージでできると思いますが、人事異動等もあり、権限設定まわりはあまりあとから触りたくないので、仮に所属するのが1名だとしても、グループを使うことが多いです。

以上、ご参考になれば。

上海レンユアー松村 様

ご回答ありがとうございます。

部署が34個あるので個別の設定は避けたいと思っていますが、初回だけ頑張ってテンプレート化すれば何とかなりそうな気がします。

「課長グループ」の人は、レコード内の「部署名」が自分が所属する組織(優先する組織以外も含めて)に含まれていたら閲覧・編集が可能、みたいな設定が出来たらいいのですが、そうもいかないようですね。

もうちょっと考えてみます。

Koichi Itoさん

34個部署があると、個別設定はきついですね。。

検証していない思い付きですが、各レコードに

閲覧許可組織フィールド と 修正許可組織フィールド

を分けて組織フィールドを置いておき、それを使ってコントロールしたら、個別に作らなくても

すむ道筋があるかなと、いう気がします(気がするだけです。すみません)。

 

閲覧に関して、組織を使ってやってみました(閲覧要件だけです)。

組織構成

課長は課に所属、係長は係に所属、スタッフはスタッフに所属 させています。

 

データ

権限設定

一応これで、組織構成だけきちんと作れば、アプリ側はシンプルに1行設定でいけそうな感じです。

間違ってたらすみません。

権限設定に組織が絡むと、なかなかに難しいですね。

さらなる回答ありがとうございます。

いろいろ試してみて、(いまさらですが)ようやくこの条件設定の意味が分かりました。

係長がメンバーのを編集できて、メンバーは自分のもののみとするには、係長は「係」、メンバーはその下の組織に入れないと設定できませんね。

「第1課1係員」という組織を作るか、「第1課1係長」という組織を作るかのどちらかですね。組織選択フィールドの名称を「部署/役職」として後者を選ぶのがスマートかも。

では、組織マスタ・ユーザー所属組織を作りなおしてみます。

 

できました!

組織選択フィールドを設置して「編集可能組織」とし、メンバーのレコードには部長・課長・係長を並べました。同様に係長のレコードには部長・課長を並べました。では部長のレコードは...編集可能組織条件の上にAdmin権限のユーザーを設定し、すべて可能にすることで何とかしましょう。何せ部長が8人もいるので。

編集可能組織フィールドの閲覧権限を管理者以外に与えないようにしたら、すっきりした見た目で適切な権限設定になりました。

あとはレコードの書き出しの時にちょっと特殊なレイアウトになるのを気を付けるだけですね。

お世話になりました。ありがとうございます。