Utilisation des compartiments

Découvrez comment utiliser des compartiments pour organiser vos ressources en nuage dans OCI.

Lorsque vous commencez à utiliser Oracle Cloud Infrastructure, vous devez déterminer comment vous voulez utiliser des compartiments pour organiser et isoler vos ressources en nuage. Les compartiments sont essentiels à ce processus. La plupart des ressources peuvent être déplacées entre des compartiments. Toutefois, il est important de bien réfléchir à la conception des compartiments pour votre organisation avant de les mettre en oeuvre. Pour plus d'informations, voir Découvrir les meilleures pratiques pour la configuration de votre location.

La console est conçue pour afficher vos ressources par compartiment dans la région courante. Lorsque vous utilisez des ressources dans la console, vous devez sélectionner le compartiment dans lequel travailler dans une liste dans la page. Cette liste est filtrée pour afficher uniquement les compartiments de la location auxquels vous avez accès. Si vous êtes administrateur, vous avez l'autorisation de consulter tous les compartiments et d'utiliser les ressources de n'importe quel compartiment. En revanche, si vous êtes un utilisateur doté d'un accès limité, vous ne pourrez pas le faire.

Les compartiments sont à l'échelle de la location sur toutes les régions. Lorsque vous créez un compartiment, celui-ci est disponible dans chaque région à laquelle votre location est abonné. Vous pouvez obtenir une vue inter-régions de vos ressources dans un compartiment spécifique avec l'explorateur de location. Voir Consultation de toutes les ressources dans un compartiment.

Pour plus de sécurité, vous pouvez associer un compartiment à une zone de sécurité. Pour plus d'informations, voir Zones de sécurité.

Cette introduction traite des sujets suivants.

Contrôle de l'accès pour les compartiments

Après avoir créé un compartiment, vous devez écrire au moins une politique pour celui-ci; sinon, personne ne peut y accéder (sauf les administrateurs ou les utilisateurs ayant les autorisations définies au niveau de la location). Lors de la création d'un compartiment à l'intérieur d'un autre compartiment, le compartiment hérite des autorisations d'accès des compartiments supérieurs dans sa hiérarchie. Pour plus d'informations, voir Héritage des politiques.

Lorsque vous créez une politique d'accès, vous devez spécifier le compartiment auquel l'associer. Cela contrôle qui peut ensuite modifier ou supprimer la politique. Selon la manière dont vous avez conçu votre hiérarchie de compartiments, vous pouvez l'associer à la location, à un parent ou au compartiment lui-même. Pour plus d'informations, voir Association de politique.

Placement des ressources dans un compartiment

Pour placer une nouvelle ressource dans un compartiment, vous spécifiez simplement ce compartiment lors de la création de la ressource (le compartiment est l'un des éléments d'informations requis pour créer une ressource). Si vous travaillez dans la console, assurez-vous de consulter le compartiment dans lequel vous voulez créer la ressource. Gardez à l'esprit que la plupart des ressources GIA résident dans la location (il s'agit d'utilisateurs, de groupes, de compartiments et de politiques associées à la location) et ne peuvent pas être créées dans un compartiment spécifique ou gérées à partir d'un compartiment particulier.

Détection des ressources dans des compartiments

Avec le gestionnaire de ressources, vous pouvez saisir les ressources déployées en tant que configuration Terraform et fichiers d'état à l'aide de la détection des ressources. La pile créée vous fournit une configuration Terraform que vous pouvez utiliser pour gérer par programmation, contrôler les versions et administrer votre infrastructure informatique en tant que code.

Une pile créée à partir d'un compartiment représente toutes les ressources prises en charge dans l'ensemble du compartiment, en fonction de la portée appropriée. Si vous sélectionnez le compartiment racine de votre location, la portée est le niveau de la location, par exemple les utilisateurs et les groupes. Si vous sélectionnez un compartiment non racine, la portée s'applique au niveau du compartiment, comme les instances de calcul.

La création de piles est prise en charge à partir d'un seul compartiment. Il n'est pas possible de créer des piles à partir de compartiments imbriqués.

Pour obtenir des instructions, voir Création d'une pile à partir d'un compartiment existant.

Implications pour déplacer des compartiments

Vous pouvez déplacer un compartiment vers un autre compartiment parent dans la même location. Lorsque vous déplacez un compartiment, tout son contenu (sous-compartiments et ressources) est déplacé avec celui-ci. Le déplacement d'un compartiment a des incidences pour le contenu. Ces implications sont décrites dans les sections suivantes. Assurez-vous de les connaître avant de déplacer un compartiment.

Politique IAM requise

Pour déplacer un compartiment, vous devez appartenir à un groupe ayant les autorisations manage all-resources sur le compartiment parent partagé le plus bas du compartiment courant et du compartiment de destination.

Restrictions sur le déplacement des compartiments

  • Vous ne pouvez pas déplacer un compartiment si la source ou la destination fait partie d'une zone de sécurité. Vous devez utiliser la console Zones de sécurité pour gérer les compartiments dans une zone de sécurité.
  • Vous ne pouvez pas déplacer un compartiment vers un compartiment de destination portant le même nom que le compartiment à déplacer.

    Par exemple, supposons que le compartiment A et le compartiment B se trouvent tous les deux sous le compartiment racine. Dans le compartiment A, se trouve un sous-compartiment, également nommé B. Vous ne pouvez pas déplacer le compartiment B vers le compartiment parent B.

    Il est impossible de déplacer le compartiment B vers un compartiment parent également nommé Compartiment B

    Élément Description
    Légende 1 Deux compartiments au sein du même parent ne peuvent pas avoir le même nom. Par conséquent, vous ne pouvez pas déplacer un compartiment vers un compartiment de destination où un compartiment portant le même nom existe déjà.

Présentation des implications de politique lors du déplacement d'un compartiment

Une fois un compartiment déplacé vers un nouveau compartiment parent, les politiques d'accès du nouveau parent entrent en vigueur et les politiques du parent précédent ne s'appliquent plus. Avant de déplacer un compartiment, assurez-vous que :

  • Vous connaissez les politiques qui régissent l'accès au compartiment dans sa position courante.
  • Vous connaissez les politiques dans le nouveau compartiment parent qui s'appliqueront lorsque vous déplacerez le compartiment.

Dans certains cas, lors du déplacement de compartiments imbriqués avec des politiques qui spécifient la hiérarchie, les politiques sont mises à jour automatiquement pour assurer la cohérence.

Exemples de politique

Les groupes ayant des autorisations dans le compartiment courant perdent l'accès; les groupes ayant des autorisations dans le compartiment de destination gagnent l'accès

L'illustration suivante présente une hiérarchie de compartiments dans laquelle le compartiment C, un enfant de A:B est déplacé vers la hiérarchie A:D.

Compartiment C déplacé de A:B vers A:D

Élément Description
Légende 1

La location a les politiques suivantes définies pour les compartiments B et D :

Politique 1 : Allow group G1 to manage instance-family in compartment A:B

Légende 2

Incidence lorsque le compartiment C est déplacé de B vers D :

Politique 2 : Allow group G2 to manage instance-family in compartment A:D

  • Le groupe G1 ne peut plus gérer les familles d'instances dans le compartiment C.

  • Le groupe G2 peut maintenant gérer les familles d'instances dans le compartiment C.

Assurez-vous de bien comprendre quels groupes perdent des autorisations lorsque vous déplacez un compartiment, et quels groupes en gagneront.

Mise à jour automatique des politiques

Lorsque vous déplacez un compartiment, certaines politiques sont mises à jour automatiquement. Les politiques qui spécifient la hiérarchie des compartiments jusqu'au compartiment déplacé seront automatiquement mises à jour si la politique est associée à un ancêtre partagé du parent courant et cible. Étudions les exemples suivants :

Exemple 1 : Politique mise à jour automatiquement

La politique est automatiquement mise à jour si elle est associée à un ancêtre partagé

Élément Description
Légende 1 Politique :
Allow group G1 to manage buckets in compartment Test:A 
Légende 2 Politique :
Allow group G1 to manage buckets in compartment Dev:A
Légende 3 La politique est automatiquement mise à jour. Le groupe G1 ne perd pas d'autorisations.

Dans cet exemple, vous déplacez le compartiment A des opérations Test vers des opérations Dev. La politique qui régit le compartiment A est associée au parent partagé, Opérations. Quand le compartiment est déplacé, l'énoncé de la politique est automatiquement mis à jour par le service GIA pour spécifier le nouvel emplacement du compartiment.

Aucune intervention manuelle n'est requise pour permettre au groupe G1 de continuer d'accéder au compartiment A dans son emplacement.

Exemple 2 : Politique non mise à jour

La politique n'est pas mise à jour

Élément Description
Légende 1 Politique : Allow group G1 to manage buckets in compartment A
Légende 2 Politique : Allow group G1 to manage buckets in compartment A
Légende 3 La politique n'est pas mise à jour. Le groupe G1 perd cette autorisation. Cette politique n'est pas valide et doit être supprimée manuellement.

Dans cet exemple, vous déplacez le compartiment A des opérations Test vers des opérations Dev. Toutefois, la politique qui régit le compartiment A ici est associée directement au compartiment Test. Lorsque le compartiment est déplacé, la politique n'est pas automatiquement mise à jour. La politique spécifiant le compartiment A n'est plus valide et doit être supprimée manuellement. Le groupe G1 n'a plus accès au compartiment A dans son nouvel emplacement sous Dev. Si une autre politique existante n'accorde pas l'accès au groupe G1, vous devez créer une nouvelle politique pour permettre à G1 de continuer à gérer les seaux dans le compartiment A.

Exemple 3 : La politique associée à la location est mise à jour

La politique est automatiquement mise à jour si elle est associée à un ancêtre partagé

Élément Description
Légende 1 Politique : Allow group G1 to manage buckets in compartment Operations:Test:A
Légende 2 Politique : Allow group G1 to manage buckets in compartment HR:Prod:A
Légende 3 La politique est automatiquement mise à jour. Le groupe G1 ne perd pas d'autorisations.

Dans cet exemple, vous déplacez le compartiment A des opérations Test vers des opérations HR. La politique qui régit le compartiment A est associée à la location, qui est un ancêtre partagé par le compartiment parent initial et le nouveau compartiment parent. Par conséquent, lorsque le compartiment est déplacé, l'énoncé de la politique est automatiquement mis à jour par le service GIA pour spécifier le nouvel emplacement du compartiment.

Présentation des implications de quota de compartiment lors du déplacement d'un compartiment

Lorsque vous déplacez un compartiment vers un autre, les quotas de ressource du compartiment de destination ne sont pas vérifiés et ne sont pas appliqués. Par conséquent, si le déplacement du compartiment produit une violation de quota dans le compartiment de destination, le déplacement n'est pas bloqué. Une fois le déplacement terminé, le compartiment de destination sera à l'état de dépassement de quota. Vous ne pourrez pas créer de nouvelles ressources avec dépassement de quota avant d'ajuster les quotas pour le compartiment de destination ou de supprimer les ressources pour qu'elles soient conformes au quota existant. Pour plus d'informations sur la gestion des quotas de compartiment, voir Aperçu des quotas de compartiment.

Présentation des implications de marquage lors du déplacement d'un compartiment

Les marqueurs ne sont pas automatiquement mis à jour après le déplacement d'un compartiment. Si vous avez mis en oeuvre une stratégie de marquage basée sur compartiment, vous devez mettre à jour les marqueurs sur les ressources après le déplacement. Par exemple, supposons que CompartmentA ait un compartiment enfant, CompartmentB. CompartmentA est configuré avec les valeurs par défaut de marqueur afin que chaque ressource qu'il contient soit marquée avec TagA. Par conséquent, CompartmentB et toutes ses ressources sont marquées avec le marqueur par défaut, TagA. Lorsque vous déplacez CompartmentB vers le CompartmentC, il garde les marqueurs par défaut de CompartmentA. Si vous avez configuré des marqueurs par défaut pour CompartmentC, vous devrez les ajouter aux ressources du compartiment déplacé.

Les valeurs par défaut de marqueur ne sont pas mises à jour après le déplacement d'un compartiment
Élément Description
Légende 1 Toutes les ressources dans CompartmentB sont marquées avec les marqueurs par défaut définis pour leur parent, CompartmentA.
Légende 2 Lorsque CompartmentB est déplacé vers CompartmentC, les marqueurs par défaut ne sont pas mis à jour. CompartmentB applique toujours les marqueurs par défaut de CompartmentA.