Utilisation des compartiments

Découvrez comment utiliser les compartiments pour organiser vos ressources cloud dans OCI.

Lorsque vous commencez à utiliser Oracle Cloud Infrastructure, vous devez réfléchir à la façon dont vous souhaitez utiliser les compartiments pour organiser et isoler vos ressources cloud. Les compartiments sont essentiels pour ce processus. La plupart des ressources peuvent être déplacées d'un compartiment vers un autre. Cependant, avant d'implémenter quoi que ce soit, il est important de réfléchir à la conception des compartiments pour votre organisation en amont. Pour plus d'informations, reportez-vous à En savoir plus sur les meilleures pratiques pour configurer votre location.

La console est conçue pour afficher vos ressources par compartiment dans la région en cours. Lorsque vous utilisez vos ressources dans la console, vous devez choisir le compartiment dans lequel travailler dans la liste sur la page. Cette liste est filtrée pour n'afficher que les compartiments de la location pour lesquels vous disposez de droits d'accès. Si vous êtes administrateur, vous êtes autorisé à visualiser tous les compartiments et à utiliser toutes les ressources d'un compartiment, mais si vous êtes un utilisateur doté d'un accès limité, vous n'êtes probablement pas autorisé à le faire.

Les compartiments sont à l'échelle de la location, d'une région vers une autre. Lorsque vous créez un compartiment, celui-ci est disponible dans chaque région à laquelle votre location est abonnée. Vous pouvez obtenir une vue inter-région des ressources d'un compartiment spécifique grâce à l'explorateur de location. Reportez-vous à Affichage de toutes les ressources d'un compartiment.

Pour renforcer la sécurité, vous pouvez associer un compartiment à une zone de sécurité. Pour plus d'informations, reportez-vous à Security Zones.

Cette introduction comprend les rubriques suivantes :

Contrôle d'accès des compartiments

Une fois le compartiment créé, vous devez écrire au moins une stratégie  pour celui-ci. Sinon, aucun utilisateur ne peut y accéder (à l'exception des administrateurs ou des utilisateurs disposant de droits d'accès définis au niveau de la location). Lors de la création d'un compartiment à l'intérieur d'un autre, il hérite des droits d'accès des compartiments situés plus haut dans sa hiérarchie. Pour plus d'informations, reportez-vous à Héritage de stratégie.

Lorsque vous créez une stratégie d'accès, vous devez indiquer le compartiment auquel l'attacher. Cela permet de contrôler qui peut ensuite modifier ou supprimer la stratégie. En fonction de la façon dont vous avez conçu la hiérarchie de compartiment, vous pouvez l'attacher à la location, à un parent ou au compartiment spécifique lui-même. Pour plus d'informations, reportez-vous à Attachement de stratégie.

Placement de ressources dans un compartiment

Pour placer une nouvelle ressource dans un compartiment, il vous suffit d'indiquer ce compartiment lors de la création de la ressource (le compartiment fait partie des informations requises pour créer une ressource). Si vous utilisez la console, assurez-vous que vous êtes d'abord en train d'afficher le compartiment dans lequel vous voulez créer la ressource. Gardez à l'esprit que la plupart des ressources IAM résident dans la location (y compris les utilisateurs, les groupes, les compartiments et toutes les stratégies attachées à la location) et ne peuvent pas être créées dans un compartiment spécifique ni gérées à partir de celui-ci.

Repérage de ressources dans les compartiments

Le service Resource Manager vous permet de capturer les ressources déployées en tant que fichiers d'état et de configuration Terraform à l'aide du repérage de ressources. La pile créée vous fournit une configuration Terraform qui permet de gérer et de rendre persistante votre infrastructure informatique de type Infrastructure-as-Code, ainsi que de gérer ses versions, le tout par programmation.

Une pile créée à partir d'un compartiment représente toutes les ressources prises en charge dans l'ensemble du compartiment, selon la portée appropriée. Si vous sélectionnez le compartiment racine pour votre location, la portée correspond au niveau de la location, tel que les utilisateurs et les groupes. Si vous sélectionnez un compartiment autre que racine, la portée correspond au niveau compartiment, comme les instances de calcul.

La création de pile est prise en charge à partir d'un seul compartiment. Les piles ne peuvent pas être créées à partir de compartiments imbriqués.

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

Incidences du déplacement de compartiments

Vous pouvez déplacer un compartiment vers un autre compartiment parent dans la même location. Lorsque vous déplacez un compartiment, son contenu (sous-compartiments et ressources) est déplacé avec lui. Le déplacement d'un compartiment a des conséquences sur son contenu. Celles-ci sont décrites dans les sections ci-après. Assurez-vous que vous connaissez ces conséquences avant de déplacer un compartiment.

Stratégie IAM requise

Pour déplacer un compartiment, vous devez appartenir à un groupe disposant des droits d'accès manage all-resources sur le compartiment parent partagé le plus bas du compartiment en cours et du compartiment de destination.

Restrictions concernant le déplacement de 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 Security Zones pour gérer les compartiments au sein d'une zone de sécurité.
  • Vous ne pouvez pas déplacer un compartiment vers un compartiment de destination portant le même nom.

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

    Impossible de déplacer le compartiment B vers un compartiment parent également nommé Compartiment B

    Elé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 dans lequel un compartiment portant le même nom existe déjà.

Présentation des conséquences sur les stratégies lors du déplacement d'un compartiment

Une fois que vous avez déplacé un compartiment vers un nouveau compartiment parent, les stratégies d'accès du nouveau parent prennent effet et les stratégies du parent précédent ne s'appliquent plus. Avant de déplacer un compartiment, vérifiez les points suivants :

  • Vous connaissez les stratégies qui régissent l'accès au compartiment à son emplacement actuel.
  • Vous connaissez les stratégies du nouveau compartiment parent qui prendront effet lors du déplacement du compartiment.

Dans certains cas, lorsque vous déplacez des compartiments imbriqués avec des stratégies qui indiquent la hiérarchie, les stratégies sont automatiquement mises à jour pour garantir la cohérence.

Exemples de stratégie

Les groupes dotés de droits d'accès dans le compartiment en cours perdent l'accès ; les groupes dotés de droits d'accès dans le compartiment de destination obtiennent l'accès

La figure suivante illustre une hiérarchie de compartiment dans laquelle le compartiment C (l'enfant de A:B) est déplacé vers la hiérarchie A:D.

Le compartiment C est déplacé de A:B vers A:D

Elément Description
Légende 1

La location comporte les stratégies définies pour les compartiments B et D suivantes :

Stratégie 1 : Allow group G1 to manage instance-family in compartment A:B

Légende 2

Conséquences du déplacement du compartiment C de B vers D :

Stratégie 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 désormais gérer les familles d'instances dans le compartiment C.

Veillez à savoir quels sont les groupes qui perdent des droits d'accès et quels sont ceux qui en obtiennent lorsque vous déplacez un compartiment.

Mise à jour automatique des stratégies

Lorsque vous déplacez un compartiment, certaines stratégies sont automatiquement mises à jour. Les stratégies qui indiquent la hiérarchie de compartiment de manière descendante jusqu'au compartiment déplacé sont automatiquement mises à jour lorsqu'elles sont attachées à un ancêtre partagé du parent en cours et du parent cible. Prenons les exemples suivants :

Exemple 1: la stratégie est mise à jour automatiquement

La stratégie est mise à jour automatiquement lorsqu'elle est attachée à un ancêtre partagé

Elément Description
Légende 1 Stratégie :
Allow group G1 to manage buckets in compartment Test:A 
Légende 2 Stratégie :
Allow group G1 to manage buckets in compartment Dev:A
Légende 3 La stratégie est mise à jour automatiquement. Le groupe G1 ne perd pas ses droits d'accès.

Dans cet exemple, vous déplacez le compartiment A d'Operations:Test vers Operations:Dev. La stratégie qui régit le compartiment A est attachée au parent partagé, Operations. Lorsque le compartiment est déplacé, l'instruction de stratégie est automatiquement mise à jour par le service IAM pour indiquer l'emplacement du nouveau compartiment.

Aucune intervention manuelle n'est nécessaire pour autoriser le groupe G1 à accéder au compartiment A à son emplacement.

Exemple 2 : la stratégie n'est pas mise à jour

La stratégie n'est pas mise à jour

Elément Description
Légende 1 Stratégie : Autoriser le groupe G1 à gérer les buckets dans le compartiment A
Légende 2 Stratégie : Autoriser le groupe G1 à gérer les buckets dans le compartiment A
Légende 3 La stratégie n'est pas mise à jour. Le groupe G1 perd ce droit d'accès. Cette stratégie n'est pas valide et doit être enlevée manuellement.

Dans cet exemple, vous déplacez le compartiment A d'Operations:Test vers Operations:Dev. Cependant, la stratégie qui régit le compartiment A est attachée directement au compartiment Test. Lorsque le compartiment est déplacé, la stratégie n'est pas automatiquement mise à jour. La stratégie indiquant le compartiment A n'est plus valide et doit être enlevée manuellement. Le groupe G1 n'a plus accès au compartiment A dans son nouvel emplacement sous Dev. A moins qu'une autre stratégie existante ne donne accès au groupe G1, vous devez créer une stratégie pour autoriser G1 à continuer de gérer les buckets dans le compartiment A.

Exemple 3 : la stratégie attachée à la location est mise à jour

La stratégie est mise à jour automatiquement lorsqu'elle est attachée à un ancêtre partagé

Elément Description
Légende 1 Stratégie : Autoriser le groupe G1 à gérer les buckets dans le compartiment Operations:Test:A
Légende 2 Stratégie : Autoriser le groupe G1 à gérer les buckets dans le compartiment HR:Prod:A
Légende 3 La stratégie est mise à jour automatiquement. Le groupe G1 ne perd pas ses droits d'accès.

Dans cet exemple, vous déplacez le compartiment A d'Operations:Test vers HR:Prod. La stratégie qui régit le compartiment A est attachée à la location, qui est un ancêtre partagé par le compartiment parent d'origine et le nouveau compartiment parent. Par conséquent, lorsque le compartiment est déplacé, l'instruction de stratégie est automatiquement mise à jour par le service IAM pour indiquer l'emplacement du nouveau compartiment.

Présentation des conséquences sur les quotas 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 entraîne 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 dans un état de dépassement de quota. Vous ne pourrez plus créer de ressources qui dépassent le quota tant que vous n'aurez pas ajusté les quotas du compartiment de destination ou enlevé des ressources pour vous conformer au quota existant. Pour plus d'informations sur la gestion des quotas de compartiment, reportez-vous à Présentation des quotas de compartiment.

Présentation des conséquences sur le balisage lors du déplacement d'un compartiment

Les balises ne sont pas automatiquement mises à jour après le déplacement d'un compartiment. Si vous avez implémenté une stratégie de balisage basée sur un compartiment, vous devez mettre à jour les balises sur les ressources après le déplacement. Par exemple, supposons que CompartmentA possède un compartiment enfant, CompartmentB. CompartmentA est configuré avec des valeurs de balise par défaut de sorte que toutes les ressources de CompartmentA soient balisées avec TagA. Par conséquent, CompartmentB et toutes ses ressources sont balisés avec la balise par défaut, TagA. Lorsque vous déplacez CompartmentB vers CompartmentC, il comporte toujours les balises par défaut de CompartmentA. Si vous avez configuré des balises par défaut pour CompartmentC, vous devrez les ajouter aux ressources du compartiment déplacé.

Les valeurs de balise par défaut ne sont pas mises à jour une fois le compartiment déplacé
Elément Description
Légende 1 Toutes les ressources dans CompartmentB sont identifiées avec les balises par défaut définies pour son parent, CompartmentA.
Légende 2 Lorsque CompartmentB est déplacé vers CompartmentC, les balises par défaut ne sont pas mises à jour. Les balises par défaut de CompartmentA sont toujours appliquées à CompartmentB.