ユーザー、グループおよびアクセス権限の管理 user-group-and-access-rights-administration
CRX リポジトリへのアクセスの有効化に関連するトピックは以下のとおりです。
基本的な要素:
ユーザーアカウント - CRX では、ユーザーアカウントに保持されている詳細情報に従って(特定の個人が、または別のアプリケーションを使用して)ユーザーを識別および検証し、アクセスを認証します。
CRX では、ユーザーアカウントはすべてワークスペース内のノードです。CRX ユーザーアカウントには次のプロパティがあります。
-
CRX の 1 人のユーザーを表します。
-
ユーザー名とパスワードが格納されます。
-
そのワークスペースに適用できます。
-
サブユーザーを含めることはできません。階層構造のアクセス権限の場合は、グループを使用する必要があります。
-
ユーザーアカウントのアクセス権限を指定できます。
ただし、管理を簡略化するために、アドビでは(多くの場合)グループアカウントにアクセス権限を割り当てることをお勧めします。個々のユーザーにアクセス権限を割り当てると、管理が困難になります(インスタンスの数が 1 つか 2 つしかない状況におけるシステムユーザーは例外です)。
グループアカウント - グループアカウントは、ユーザーや他のグループの集合です。グループに割り当てられたアクセス権の変更は、そのグループ内のすべてのユーザーに自動的に適用されるので、グループを使用すると管理を簡略化できます。ユーザーはグループに属している必要はありませんが、多くの場合、複数のグループに属しています。
CRX では、グループには次のプロパティがあります。
- 共通のアクセス権を持つユーザーのグループを表します。例えば、作成者や開発者などです。
- そのワークスペースに適用できます。
- メンバーを持つことができます。メンバーには、個々のユーザーや他のグループを指定できます。
- 階層構造のグループ化は、メンバーの関係を使用することで実現できます。リポジトリ内の別のグループの直下にグループを配置することはできません。
- すべてのグループメンバーのアクセス権を定義できます。
アクセス権限 - CRX では、アクセス権限を使用してリポジトリの特定の領域へのアクセスを制御します。
そのためには、リポジトリ内のリソース(ノードまたはパス)へのアクセスを許可または拒否する権限を割り当てます。割り当てることのできる権限は様々なので、権限を評価して、現在の要求に適用可能な組み合わせを判断する必要があります。
CRX では、ユーザーアカウントとグループアカウントの両方にアクセス権限を設定できます。その後、同じ評価の基本原則を両方に適用します。
アクセス権限の評価方法 how-access-rights-are-evaluated
件名とプリンシパル subjects-and-principals
CRX では、次に示す 2 つの主要な概念を使用してアクセス権限を評価します。
-
プリンシパル は、アクセス権を持つエンティティです。プリンシパルには次が含まれます。
-
ユーザーアカウント
-
グループアカウント
1 つ以上のグループに属しているユーザーアカウントは、それらの各グループプリンシパルにも関連付けられます。
-
-
サブジェクト は、リクエストのソースを表すために使用されます。
リクエストに適用されるアクセス権を統合するために使用されます。これらは次の場所から取得されます。
-
ユーザープリンシパル
ユーザーアカウントに直接割り当てる権限。
-
ユーザーに関連付けられているすべてのグループプリンシパル
すべての権限が、ユーザーが属するいずれかのグループに割り当てられています。
結果は、リクエストされたリソースへのアクセスを許可または拒否するために使用されます。
-
サブジェクトのアクセス権限のリストを編集する compiling-the-list-of-access-rights-for-a-subject
CRX では、サブジェクトは以下の項目に依存します。
- ユーザープリンシパル
- そのユーザーに関連付けられているすべてのグループプリンシパル
サブジェクトに適用可能なアクセス権限のリストは、以下の要素から構成されます。
- ユーザーアカウントに直接割り当てる権限
- ユーザーが属するいずれかのグループに割り当てられているすべての権限
- CRX では、リストを編集する際に、ユーザー階層が考慮されません。
- CRX では、グループを別のグループのメンバーとして含める場合にのみ、グループ階層を使用します。グループの権限は自動的に継承されません。
- グループを指定する順序は、アクセス権限に影響しません。
リクエストの解決とアクセス権限 resolving-request-and-access-rights
CRX では、リクエストを処理する場合、サブジェクトからのアクセスリクエストとリポジトリノードのアクセス制御リストを比較します。
次の図は、Linda が次のリポジトリ構造内の /features
ノードの更新を要求する場合の処理を示しています。
優先順位 order-of-precedence
CRX のアクセス権限は次のように評価されます。
-
以下に関係なく、ユーザープリンシパルは常にグループプリンシパルよりも優先されます。
- アクセス制御リスト内の順序
- ノード階層内の位置
-
ある特定のプリンシパルに対して、特定のノードで存在する deny エントリと allow エントリはそれぞれ(最大で)1 つです。冗長なエントリは常に実装によってクリアされ、allow エントリと deny エントリに同じ権限が示されることはありません。
ユーザー aUser
がグループ aGroup
のメンバーである 2 つの例を次に示します。
+ parentNode
+ acl
+ ace: aUser - deny - write
+ childNode
+ acl
+ ace: aGroup - allow - write
+ grandChildNode
この場合、次のようになります。
aUser
にはgrandChildNode
に対する書き込み権限が付与されません。
+ parentNode
+ acl
+ ace: aUser - deny - write
+ childNode
+ acl
+ ace: aGroup - allow - write
+ ace: aUser - deny - write
+ grandChildNode
この場合の解決策は、次のとおりです。
aUser
にはgrandChildNode
に対する書き込み権限が付与されません。aUser
の 2 つ目の ACE は冗長になります。
複数のグループプリンシパルのアクセス権限は、階層内および単一のアクセス制御リスト内の両方で、その順序に基づいて評価されます。
ベストプラクティス best-practices
いくつかのレコメンデーションとベストプラクティスを次の表に示します。
ユーザー管理 user-administration
標準ダイアログは ユーザー管理 に使用されます。
適切なワークスペースにログインする必要があり、ログインすると、次の両方の場所からダイアログにアクセスできるようになります。
- CRX のメインコンソールの ユーザー管理 リンク
- CRX Explorer の セキュリティ メニュー
プロパティ
-
UserID
CRX へのアクセス時に使用されるアカウントの省略名。
-
プリンシパル名
アカウントの完全な名前。
-
パスワード
このアカウントを使用して CRX にアクセスする場合に必要です。
-
ntlmhash
新しい各アカウントに自動的に割り当てられます。パスワードが変更されると更新されます。
- 名前、タイプ、値を定義して新しいプロパティを追加できます。新しいプロパティごとに「保存」(緑色のチェックマーク)をクリックします。
グループのメンバーシップ
アカウントが属しているすべてのグループが表示されます。「継承」列は、別のグループのメンバーシップの結果として継承されたメンバーシップを示します。
グループ ID(使用可能な場合)をクリックすると、そのグループ用のグループ管理が開きます。
実行
別のユーザーとして実行する機能では、ユーザーは別のユーザーに成り代わって作業を行うことができます。
つまり、ユーザーアカウントは、自分のアカウントで操作できる他のアカウント(ユーザーまたはグループ)を指定できます。つまり、ユーザー B がユーザー A としての実行を許可されている場合、ユーザー B はユーザー A のアカウントの詳細(ID、名前、アクセス権を含む)をすべて使用して実行できます。
これにより、別のユーザーのアカウントを使用している場合と同様にタスクを完了できます。例えば、ユーザーの不在時や過剰な量の作業を短期間で分担する場合などに使用できます。
あるアカウントが別のアカウントとして実行する場合、その判別は非常に困難です。ログファイルには、そのイベントで、別のユーザーとして実行されたという事実に関する情報は含まれません。そのため、ユーザー B がユーザー A として実行している場合、ユーザー A がすべてのイベントを実行しているように見えます。
ユーザーアカウントの作成 creating-a-user-account
-
ユーザー管理 ダイアログを開きます。
-
「ユーザーを作成」をクリックします。
-
次に、以下のプロパティを入力できます。
- ユーザー ID:アカウント名として使用されます。
- パスワード:ログイン時に必要です。
- プリンシパル名:完全な名前を指定します。
- 中間パス:ツリー構造を作成するために使用できます。
-
保存(緑色のチェックマーク)をクリックします。
-
ダイアログボックスが展開され、次の操作が可能になります。
- プロパティ を設定します。
- 「グループのメンバーシップ」を確認します。
- 実行 を定義します。
- ユーザー
- 多数のメンバーを持つグループ
ユーザーアカウントの更新 updating-a-user-account
- ユーザー管理 ダイアログボックスで、すべてのアカウントのリスト表示を開きます。
- ツリー構造内を移動します。
- 必要なアカウントをクリックして、編集用に開きます。
- 変更を加え、そのエントリの保存(緑色のチェックマーク)をクリックします。
- 「閉じる」をクリックして終了するか、「リスト…」をクリックしてすべてのユーザーアカウントのリストに戻ります。
ユーザーアカウントの削除 removing-a-user-account
- ユーザー管理 ダイアログボックスで、すべてのアカウントのリスト表示を開きます。
- ツリー構造内を移動します。
- 必要なアカウントを選択し、「ユーザーを削除」をクリックします。アカウントはすぐに削除されます。
プロパティの定義 defining-properties
新規または既存のアカウントの プロパティ を定義できます。
- 適切なアカウントの ユーザー管理 ダイアログを開きます。
- プロパティ 名を定義します。
- ドロップダウンリストから「タイプ」を選択します。
- 値 を定義します。
- 新しいプロパティの「保存」(緑色のチェックマーク)をクリックします。
既存のプロパティは、ごみ箱アイコンを使用して削除できます。
パスワード以外のプロパティは編集できません。削除して再作成する必要があります。
パスワードの変更 changing-the-password
パスワード は、パスワードの変更 リンクをクリックして変更できる特別なプロパティです。
CRX Explorer の セキュリティ メニューからパスワードを自分のユーザーアカウントに変更することもできます。
偽装の定義 defining-an-impersonator
新規または既存のアカウントを他のユーザーとして実行するユーザーを定義できます。
-
適切なアカウントの ユーザー管理 ダイアログを開きます。
-
別のユーザーとして実行を許可するアカウントを指定します。
「参照…」を使用して、既存のアカウントを選択できます。
-
新しいプロパティの「保存」(緑色のチェックマーク)をクリックします。
グループ管理 group-administration
グループ管理 には標準ダイアログが使用されます。
適切なワークスペースにログインする必要があり、ログインすると、次の両方の場所からダイアログにアクセスできるようになります。
- CRX のメインコンソールの グループ管理 リンク
- CRX Explorer の セキュリティ メニュー
プロパティ
-
GroupID
グループアカウントの省略名。
-
プリンシパル名
グループアカウントの完全な名前。
-
名前、タイプ、値を定義して新しいプロパティを追加できます。新しいプロパティごとに「保存」(緑色のチェックマーク)をクリックします。
-
メンバー
グループのメンバーとして、ユーザーまたは他のグループを追加できます。
グループのメンバーシップ
現在のグループアカウントが属しているすべてのグループが表示されます。「継承」列は、別のグループのメンバーシップの結果として継承されたメンバーシップを示します。
グループ ID をクリックすると、そのグループのダイアログボックスが開きます。
メンバー
現在のグループのメンバーであるすべてのアカウント(ユーザーまたはグループ)が一覧表示されます。
継承 列は、別のグループのメンバーシップの結果として継承されたメンバーシップを示します。
mac-default-<foldername>
の形式となります。グループアカウントの作成 creating-a-group-account
-
グループ管理 ダイアログを開きます。
-
「グループを作成」をクリックします。
-
次に、以下のプロパティを入力できます。
- プリンシパル名:完全な名前を指定します。
- 中間パス:ツリー構造を作成するために使用できます。
-
保存(緑色のチェックマーク)をクリックします。
-
ダイアログボックスが展開され、次の操作が可能になります。
- プロパティ を設定します。
- 「グループのメンバーシップ」を確認します。
- メンバー を管理します。
グループアカウントの更新 updating-a-group-account
- グループ管理 ダイアログボックスで、すべてのアカウントのリスト表示を開きます。
- ツリー構造内を移動します。
- 必要なアカウントをクリックして、編集用に開きます。
- 変更を加え、そのエントリの保存(緑色のチェックマーク)をクリックします。
- 「閉じる」をクリックして終了するか、「リスト…」をクリックしてすべてのグループアカウントのリストに戻ります。
グループアカウントの削除 removing-a-group-account
- グループ管理 ダイアログボックスで、すべてのアカウントのリスト表示を開きます。
- ツリー構造内を移動します。
- 必要なアカウントを選択し、「グループを削除」をクリックします。アカウントはすぐに削除されます。
プロパティの定義 defining-properties-1
新規または既存のアカウントのプロパティを定義できます。
- 適切なアカウントの グループ管理 ダイアログを開きます。
- プロパティ 名を定義します。
- ドロップダウンリストから「タイプ」を選択します。
- 値 を定義します。
- 新しいプロパティの「保存」(緑色のチェックマーク)をクリックします。
既存のプロパティは、ごみ箱アイコンを使用して削除できます。
メンバー members
現在のグループにメンバーを追加できます。
-
適切なアカウントの グループ管理 ダイアログを開きます。
-
以下のどちらかの操作を行います。
- 必要なメンバーの名前(ユーザーまたはグループアカウント)を入力します。
- または「参照…」を使用して、追加するプリンシパル(ユーザーまたはグループアカウント)を検索し、選択します。
-
新しいプロパティの「保存」(緑色のチェックマーク)をクリックします。
または、ごみ箱アイコンを使用して既存のメンバーを削除します。
アクセス権限の管理 access-right-management
CRXDE Lite の「アクセス制御」タブを使用して、アクセス制御ポリシーを定義し、関連する権限を割り当てることができます。
例えば、右下のウィンドウの「アクセス制御」タブにある「現在のパス」では、必要なリソースを左側のウィンドウで選択します。
ポリシーは次のように分類されます。
-
適用可能なアクセス制御ポリシー
これらのポリシーは適用できます。
これらのポリシーは、ローカルポリシーの作成に使用できます。適用可能なポリシーを選択して追加すると、そのポリシーがローカルポリシーになります。
-
ローカルアクセス制御ポリシー
これらは、適用したアクセス制御ポリシーです。このポリシーの更新、並べ替えまたは削除を行うことができます。
親から継承したポリシーはローカルポリシーによって上書きされます。
-
有効なアクセス制御ポリシー
アクセス要求に対して有効なアクセス制御ポリシーです。ローカルポリシーおよび親から継承したポリシーから派生した集計ポリシーが表示されます。
ポリシーの選択 policy-selection
次の項目用のポリシーを選択できます。
-
現在のパス
前述の例では、リポジトリ内のリソースを選択します。この「現在のパス」用のポリシーが表示されます。
-
リポジトリ
リポジトリレベルのアクセス制御を選択します。例えば、ノードではなくリポジトリにのみ関連する
jcr:namespaceManagement
権限を設定する場合などに使用します。 -
プリンシパル
リポジトリに登録されているプリンシパルです。
プリンシパル 名を入力するか、フィールドの右側にあるアイコンをクリックして、プリンシパルを選択 ダイアログボックスを開きます。
これにより、ユーザー または グループ を 検索 できます。表示されるリストから必要なプリンシパルを選択し、「OK」をクリックして値を前のダイアログボックスに戻します。
権限 privileges
アクセス制御エントリを追加する場合は、以下に示す権限を選択できます(詳しくは、セキュリティ API に関するページを参照)。
新しい権限の登録 registering-new-privileges
新しい権限を登録することもできます。
-
ツールバーから「ツール」を選択し、続いて「権限」を選択して、現在登録されている権限を表示します。
-
権限を登録 アイコン(+)を使用して、権限を定義できます。
-
「OK」をクリックして保存します。これで、権限を選択できるようになりました。
アクセス制御エントリの追加 adding-an-access-control-entry
-
リソースを選択して「アクセス制御」タブを開きます。
-
新しい ローカルアクセス制御ポリシー を追加するには、「適用可能なアクセス制御ポリシー」リストの右側にある + アイコンをクリックします。
-
新しいエントリが「「ローカルアクセス制御ポリシー」の下に表示されます。。
-
+ アイコンをクリックして、エントリを追加できます。
note note NOTE 現時点では、空の文字列を指定するには対策が必要です。 このためには、 ""
を使用する必要があります。 -
アクセス制御ポリシーを定義し、「OK」をクリックして保存します。新しいポリシーは、以下のようになります。
- 「ローカルアクセス制御ポリシー」の下に表示されます。
- 「有効なアクセス制御ポリシー」に変更が反映されます。
CRX が選択を検証します。特定のプリンシパルに対して、特定のノードで存在する deny エントリと allow エントリはそれぞれ(最大で)1 つです。冗長なエントリは常に実装によってクリアされ、allow エントリと deny エントリに同じ権限が示されることはありません。
ローカルアクセス制御ポリシーの順序付け ordering-local-access-control-policies
リスト内の順序は、ポリシーの適用順序を示します。
-
「ローカルアクセス制御ポリシー」のテーブルで必要なエントリを選択して、テーブル内の新しい位置にドラッグします。
-
「ローカルアクセス制御ポリシー」と「有効なアクセス制御ポリシー」のテーブルの両方に変更が表示されます。
アクセス制御ポリシーの削除 removing-an-access-control-policy
- 「ローカルアクセス制御ポリシー」のテーブルで、エントリの右側にある赤いアイコン(-)をクリックします。
- 「ローカルアクセス制御ポリシー」と「有効なアクセス制御ポリシー」のテーブルの両方からエントリが削除されます。
アクセス制御ポリシーのテスト testing-an-access-control-policy
-
CRXDE Lite のツールバーから「ツール」、「アクセス制御をテスト」の順に選択します。
-
右上のウィンドウに新しいダイアログが開きます。テストする パス や プリンシパル を選択します。
-
「テスト」をクリックして選択項目の結果を確認します。