3.9. IdM の多値属性
Identity Management (IdM) において、複数の値をサポートする属性の構文と上書きロジックについて説明します。権限やグループメンバーシップなど、多値属性を持つオブジェクトを管理する場合、意図しないデータ損失を防ぐために、更新時に値の完全なリストを提供する必要があります。
IdM は、多値リストを提供する次の方法に対応します。
同じコマンド呼び出しで、同じコマンドライン引数を複数回指定します。
$ ipa permission-add --right=read --permissions=write --permissions=delete <object_name>または、リストを中括弧で囲むこともできます。シェルは、実行前にこれらを個々の引数に展開します。
$ ipa permission-add --right={read,write,delete} <object_name>
このような多値属性をコマンド行から更新すると、IdM は、前の値リストを新しいリストで完全に上書きします。したがって、多値属性を更新するときは、追加する 1 つの値だけでなく、新しいリスト全体を指定する必要があります。
上書きロジックの例
以下の例は、IdM データベースが多値属性の変更をどのように処理するかを示しています。変更中に既存の値が存在しない場合、その値はレコードから削除されます。
ipa permission-modコマンドは、以前に追加した権限をすべて更新します。$ ipa permission-mod --right=read --right=write --right=delete <object_name>または
$ ipa permission-mod --right={read,write,delete} <object_name>ipa permission-modコマンドは、--right=delete引数を削除します。この引数はコマンドに含まれていないためです。$ ipa permission-mod --right=read --right=write <object_name>または
$ ipa permission-mod --right={read,write} <object_name>