わかりました、それは悪い言い回しの質問です。でも、一行で説明するのは難しい。
私は Shibboleth のドキュメントを読もうとしましたが、初心者であることはかなり急速に私の深みから抜け出しました。専門家が 30 分かけて「無理だ、うまくいかない」と言うことができるとしたら、それを理解するのに何日も費やしたくありません。
私には多くのユーザー グループがありますが、(今のところ) グループは異なる会社であるとしましょう。
私がやりたいのは、ユーザーが他社の一部のフィールドのみを表示できるようにすることです。
たとえば、私は会社 A のアリスで、会社 B のボブがメール アドレス bob@b.com を持っていることがわかります。彼は私が alice@a.com であることを確認できます
ただし、会社 B の他の全員は、ボブが姓と電話番号などを持っていることを確認できます。また、会社 A の他の全員は、私の詳細を見ることができます。
これをさらに複雑にするために、Bob と私が友達になり、情報を共有したいと決め、「一時的な」グループ「alice&bob」を作成するとします。私たちは両方ともそのグループのメンバーであるため、お互いの完全な詳細を見ることができます。(しかし、A の他の誰もボブの詳細を見ることはできません。ただし、友人でもある場合やその逆の場合を除きます)。
すべての属性と関係を照会し、関連するもののみを表示することで、アプリケーション コードですべてを整理できますが、セキュリティを強化するために、ソースでの情報の開示を制限したいと考えています。
属性フィルターを使用する必要があると思いますが、このレベルの制御が可能かどうかはわかりません。リレーションシップを形成できるこの柔軟性により、その場でフィルター ファイルを作成する必要があり、ロジックが非常に長いため、Shibboleth が窒息し始める何千ものフィルターが作成されることになります。「グループ内のリクエスタである」フィルタ ルールのようなもの: https://wiki.shibboleth.net/confluence/display/SHIB2/IdPFilterRequirementAttributeRequesterInEntityGroup