Comprendre le processus d'évaluation hiérarchique

Lorsque vous définissez une règle d'administration sur un nœud de hiérarchie de ressources, tous les descendants de ce nœud de hiérarchie des ressources héritent de la règle d'administration par défaut. Si vous définissez une règle d'administration sur le nœud d'organisation racine, tous les dossiers, projets et ressources enfants héritent de ces restrictions.

Vous pouvez définir la même règle d'administration avec une configuration différente sur les nœuds enfants, ce qui écrasera la règle héritée ou la fusionnera en fonction des règles d'évaluation hiérarchique.

Avant de commencer

Exemple de hiérarchie

Dans le schéma de hiérarchie des ressources ci-dessous, chaque nœud définit une règle d'administration et détermine s'il hérite de la règle de son nœud parent. Les formes colorées représentent les valeurs que la règle d'administration autorise ou refuse.

Schéma de l'héritage

Une contrainte est une définition des comportements contrôlés par une règle d'administration. Dans l'exemple ci-dessus, la contrainte représente la contrainte par défaut, qui définit le comportement en l'absence de règle d'administration pour la contrainte. Dans cet exemple, la contrainte par défaut autorise toutes les valeurs. Les nœuds situés en dessous définissent des règles d'administration qui remplacent la contrainte par défaut en autorisant ou en refusant des valeurs.

La règle en vigueur sur chaque nœud est évaluée en fonction des règles d'héritage. Si aucune règle d'administration n'est définie, le nœud hérite du comportement de contrainte par défaut. Si vous définissez une règle d'administration, elle est utilisée à la place. Dans l'exemple ci-dessus, le nœud d'organisation définit une règle qui autorise le carré rouge et le cercle vert .

Les nœuds de ressources qui se trouvent dans la hiérarchie sous le nœud d'organisation sont évalués comme suit :

  1. La ressource 1 définit une stratégie qui définit inheritFromParent sur TRUE et autorise le losange bleu . La règle du nœud d'organisation est héritée et fusionnée avec la règle définie sur la ressource 1. La stratégie en vigueur est évaluée pour autoriser le carré rouge , le cercle vert et le losange bleu .

  2. La ressource 2 définit une règle qui définit inheritFromParent sur TRUE et refuse le cercle vert . Les valeurs de refus prévalent toujours lors du rapprochement des règles. La règle du nœud d'organisation est héritée et fusionnée avec la règle définie sur la ressource 2. La règle en vigueur est évaluée de manière à n'autoriser que carré rouge.

  3. La ressource 3 définit une règle qui définit inheritFromParent sur FALSE et autorise l'hexagone jaune . La règle du nœud d'organisation n'est pas héritée. Par conséquent, la règle en vigueur n'autorise que l'hexagone jaune .

  4. La ressource 4 définit une règle qui définit inheritFromParent sur FALSE et inclut la valeur restoreDefault. La règle du nœud d'organisation n'est pas héritée et le comportement de contrainte par défaut est utilisé. La règle en vigueur autorise donc toutes les valeurs .

Règles d'évaluation hiérarchique

Les règles suivantes régissent la manière dont une règle d'administration est évaluée sur une ressource donnée. Vous devez disposer du rôle d'administrateur de règle d'administration pour définir cette dernière.

Aucune règle d'administration définie

Si vous ne définissez pas de règle d'administration, un nœud de ressource hérite de son ancêtre le plus proche pour lequel une règle est définie. Si aucune règle n'est définie dans la hiérarchie d'ancêtre, le comportement par défaut de la contrainte est appliqué.

Héritage

Un nœud de ressource dont la règle d'administration est définie par défaut remplace toute règle définie par ses nœuds parents dans la hiérarchie. Toutefois, si un nœud de ressource a défini inheritFromParent = true, la règle en vigueur de la ressource parente est héritée, fusionnée et réconciliée pour évaluer la règle en vigueur qui en résulte. Exemple :

  • Un dossier refuse la valeur projects/123.
  • Un projet situé sous ce dossier refuse la valeur projects/456.

Les deux règles sont fusionnées et aboutissent dans ce cas à une règle en vigueur qui refuse à la fois projects/123 et projects/456.

Interdire l'héritage

Si un nœud de hiérarchie de ressources a une règle qui inclut inheritFromParent = false, il n'hérite pas de la règle d'administration de son parent. Au lieu de cela, le nœud hérite du comportement par défaut de la contrainte, sauf si vous définissez une règle avec des valeurs autorisées ou refusées.

Réconcilier les conflits de règles

Lorsqu'un nœud enfant hérite de règles d'administration basées sur des contraintes de liste, les règles héritées sont fusionnées et réconciliées avec la règle d'administration du nœud. Dans l'évaluation des règles de liste, les valeurs DENY ont toujours la priorité. Exemple :

  • Un dossier refuse la valeur projects/123.
  • Un projet situé sous ce dossier autorise la valeur projects/123.

Les règles sont fusionnées et la valeur DENY est prioritaire. La règle en vigueur refuse toutes les valeurs et détermine de la même manière si le nœud parent ou enfant refuse la valeur. Il est préférable de ne pas inclure de valeur dans les listes autorisées et refusées. Cela peut rendre plus difficile la compréhension de vos règles.

Les règles d'administration dérivées de boolean constraints ne fusionnent pas et ne rapprochent pas les règles. Si une règle est spécifiée sur un nœud de ressource, la règle en vigueur est déterminée à l'aide de cette valeur TRUE ou FALSE. Exemple :

  • Un dossier définit constraints/compute.disableSerialPortAccess sur enforced: true.

  • Un projet situé sous ce dossier définit constraints/compute.disableSerialPortAccess sur enforced: false.

La valeur enforced: true définie sur le dossier est ignorée, car la valeur enforced: false est définie sur le projet lui-même. La règle d'administration n'applique pas la contrainte pour ce projet.

Rétablir la règle par défaut

Si vous appelez RestoreDefault, la règle d'administration utilise le comportement par défaut de la contrainte sur ce nœud de hiérarchie de ressources. Les nœuds enfants héritent également de ce comportement.