Remarques :

Approfondissement des stratégies Oracle Cloud Infrastructure Identity and Access Management basées sur des balises

Introduction

Les stratégies Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) sont la pierre angulaire d'un environnement cloud fiable et sécurisé. Ils fournissent un mécanisme puissant et flexible pour contrôler l'accès aux ressources OCI, garantissant que seuls les utilisateurs et services autorisés peuvent effectuer des actions spécifiques sur les ressources désignées.

De base, une stratégie OCI IAM est un ensemble d'instructions déclaratives écrites dans une syntaxe lisible par l'utilisateur qui indique qui peut accéder à quoi et sous quelles conditions. Ces stratégies permettent aux organisations d'appliquer le principe du moindre privilège, en accordant aux utilisateurs et aux services uniquement les autorisations dont ils ont besoin pour effectuer leurs tâches et rien de plus. Cela minimise les risques de sécurité tout en maintenant l'efficacité opérationnelle.

Les stratégies OCI IAM sont appliquées à différents niveaux de la hiérarchie OCI, notamment les compartiments, la location et les ressources spécifiques, ce qui les rend hautement adaptables aux structures organisationnelles complexes. Grâce à l'héritage de stratégies et à la compartimentation d'OCI, les administrateurs peuvent établir des contrôles affinés adaptés à leurs exigences opérationnelles et de sécurité spécifiques. Pour plus d'informations sur les stratégies OCI, reportez-vous à Initiation aux stratégies.

Dans ce tutoriel, nous allons nous pencher sur l'importance de l'optimisation des stratégies, explorer les meilleures pratiques pour affiner les stratégies afin d'obtenir des résultats optimaux et mettre en évidence les scénarios dans lesquels l'optimisation des stratégies peut être exploitée au maximum de son potentiel.

Objectifs

Prérequis

Démystifier les composants de stratégie et la syntaxe

Pour optimiser efficacement les stratégies OCI IAM, il est essentiel de comprendre leur structure et leurs composants clés. Les stratégies dans OCI définissent les droits d'accès en indiquant qui (principal), quoi (action) sur quoi (ressource) et où (portée). Décomposons cette opération :

Composants clés d'une stratégie OCI IAM

Conseil supplémentaire : Présentation du concept Sets-Intersect dans la stratégie OCI IAM

L'intersection d'ensembles dans les stratégies OCI IAM est utilisée pour accorder l'accès uniquement en cas de chevauchement entre deux ensembles de valeurs. Cela garantit que les droits d'accès sont accordés de manière dynamique en fonction de l'appartenance au groupe, des balises de ressource ou d'autres attributs, plutôt que de coder en dur des utilisateurs ou des groupes spécifiques dans les stratégies.

Modèle de stratégie OCI IAM à grande échelle

Les stratégies OCI IAM sont l'un des éléments fondamentaux de la sécurisation des workloads sur OCI. Il est crucial de pouvoir faire évoluer et prendre en charge une charge de travail importante pour nos clients. C'est pourquoi nous avons créé un modèle de politique qui nécessite un petit nombre de stratégies, dans les limites de stratégie d'OCI, qui fonctionnent pour n'importe quelle taille de charge globale. Voici quelques-unes des raisons d'adopter le modèle de politique évolutif. Pour plus d'informations, reportez-vous à Limites d'IAM avec domaines d'identité.

Le réglage des stratégies OCI IAM est une tâche essentielle pour maintenir un environnement cloud sécurisé, évolutif et efficace tout en respectant les limites de stratégie d'OCI. Voici pourquoi ce processus est essentiel :

Le rôle du balisage dans la gestion des politiques

Le balisage est une fonctionnalité puissante d'OCI qui améliore considérablement la gestion des stratégies en permettant un contrôle affiné des ressources. Les balises sont des libellés de métadonnées, représentés par des paires clé-valeur, qui peuvent être attachés à des ressources. Ils aident à organiser, à gérer et à appliquer le contrôle d'accès à grande échelle, en particulier dans les environnements cloud complexes comportant plusieurs équipes et projets. Pour plus d'informations, reportez-vous à Présentation de Tagging.

Comment le balisage améliore la gestion des stratégies

  1. Simplifie l'identification des ressources : les balises fournissent un moyen unifié de classer les ressources en fonction d'attributs tels que les projets, les environnements, les propriétaires ou les services. Cela simplifie le processus d'application des stratégies à des sous-ensembles spécifiques de ressources.

    Exemple : le balisage des ressources avec Project: ProjectX active les stratégies d'accès ciblé.

    Allow group Developers to manage instances in tenancy where tag.Project = 'ProjectX'
    
  2. Activation de l'application dynamique des stratégies : les stratégies basées sur des balises s'adaptent à la modification des attributs de ressource. Par exemple, si une nouvelle instance est balisée avec Environment: Production, elle hérite automatiquement des stratégies définies pour les environnements de production.

    Exemple de stratégie :

    Allow group QA to inspect instances in tenancy where tag.Environment = 'Test'
    
  3. Rationalise la gouvernance multi-projets et multi-équipes : les balises permettent d'isoler l'accès en associant des ressources à des équipes ou des projets spécifiques. Cela réduit la complexité de la gestion des autorisations entre plusieurs groupes.

  4. Facilite l'automatisation : les balises peuvent générer des workflows automatisés pour la création de ressources, la surveillance et la gestion du cycle de vie. Par exemple, les scripts de suivi des coûts peuvent extraire toutes les ressources balisées avec CostCenter : Marketing pour générer des notes de frais détaillées.

  5. Améliore la gestion des coûts et le reporting : les balises permettent une attribution granulaire des coûts à des projets, des services ou des environnements spécifiques. Cela aide les entreprises à suivre leurs dépenses et à optimiser leurs budgets plus efficacement.

Gouvernance des balises : contrôle de la gestion des balises

Pour maintenir la cohérence, la fiabilité et la sécurité dans la gestion des stratégies, la création et la modification de balises doivent être étroitement contrôlées. La gouvernance garantit que les balises sont appliquées correctement et s'alignent sur les normes organisationnelles. La restriction de la gestion des balises à un ensemble spécifique de personnes ou de groupes est un élément clé du maintien du contrôle, de la cohérence et de la sécurité au sein de l'environnement cloud d'une organisation.

Stratégies OCI IAM basées sur des balises pour des cas d'utilisation concrets

Maintenant, avec tout ce que vous avez appris ci-dessus, travaillons sur le réglage des stratégies OCI IAM pour les principes des utilisateurs et des instances dans des cas d'utilisation réels. Mais avant cela, il existe des politiques communes dont chaque client aura besoin, quel que soit son cas d'utilisation.

Redimensionnement des stratégies OCI IAM pour les ID utilisateur

Modèle de stratégie OCI IAM : dans ce modèle de politique, l'objectif est d'écrire un petit nombre de stratégies plus gérables reposant sur des données (balises dans notre cas), également appelées contrôle d'accès basé sur des attributs. Nous nous référerons aux balises affectées à la ressource cible ou au compartiment de ressource cible pour le contrôle d'accès en tant que balises de droit d'accès.

Balises d'autorisation : définissez une balise de droit d'accès pour chaque combinaison de verbe (action) et de type de ressource dans la location. Ils définissent une autorisation unique que vous devez affecter à un groupe d'utilisateurs pour les ressources cible. La liste n'est pas une fois définie et terminée. Commencez par un petit nombre de balises d'autorisation. Une fois que vous avez pris le contrôle du modèle de politique, vous pouvez ajouter d'autres balises d'autorisation. Pour ce tutoriel, nous allons créer un espace de noms de balise d'autorisation en tant que mgmt. De plus, nous allons créer un espace de noms de balise (nous allons appeler infosec) avec une clé de balise nommée gname.

  1. Pour la structure de compartiment suivante avec quatre types de ressource et pour affecter des droits d'accès de gestion et d'utilisation à ces ressources, nous allons créer des balises de droit d'accès.

    Balises de droit d'accès

  2. Pour chaque droit d'accès que vous devez affecter à une cible (compartiments dans la plupart des cas), créez un groupe. Nous affectons des balises de droit d'accès aux ressources (à l'aide de balises par défaut de compartiment) et aux compartiments de ressource. La valeur de balise est le groupe qui doit disposer du droit d'accès donné sur la ressource cible.

    Groupes de balises d'autorisation

  3. Une fois les balises de droits d'accès définies, nous pouvons écrire des stratégies. En fin de compte, nous n'aurons besoin que d'une seule stratégie par balise de droit d'accès définie dans la location. La même stratégie pour le droit d'accès donné fonctionnera dans l'ensemble de la location.

    Stratégies de balise d'autorisation

  4. Au fur et à mesure que nous intégrons davantage de charges de travail, s'il existe d'autres types de ressource à gérer, vous devrez peut-être ajouter d'autres balises de droit d'accès et stratégies pour ces balises. Sinon, il vous suffit d'affecter des balises d'autorisation existantes à la nouvelle charge globale avec un groupe d'utilisateurs qui doit disposer de l'accès. Nous n'avons pas besoin d'écrire de nouvelles stratégies pour la nouvelle charge globale.

Cette approche restera cohérente dans tous les exemples abordés ici, servant de base à la définition de stratégies et de groupes OCI IAM.

Exemple 1 : compartiment pour chaque application

Etape 1 : Obtenir une compréhension globale de l'activité du client

CompanyA est une entreprise technologique en pleine croissance qui développe et déploie plusieurs applications cloud natives pour ses clients. Chaque application s'adresse à un segment de clientèle spécifique, avec des exigences strictes en matière de sécurité et de conformité. Pour assurer l'isolement, l'évolutivité et un contrôle d'accès efficace, CompanyA organise ses ressources OCI à l'aide d'une approche de compartimentation structurée.

Etape 2 : Conception de la structure de compartiment pour la charge globale

Comme décrit, CompanyA suit le modèle de politique OCI IAM pour le redimensionnement de ses stratégies OCI IAM. Ils ont créé des compartiments distincts pour leurs applications afin de maintenir l'isolement des ressources.

Cas d'emploi 1

Remarque : seuls les administrateurs doivent pouvoir gérer l'espace de noms de balise mgmt et infosec.

Etape 3 : conception des balises d'autorisation suivantes de combinaison de type Verb+Resource

Créez des groupes dans OCI.

  1. Connectez-vous au domaine OCI IAM avec un compte d'administrateur disposant du privilège de création de groupes.

    Répertoire de base OCI

  2. Accédez à Identité et sécurité et cliquez sur Domaines sous Identité.

    Domaines

  3. Sélectionnez le compartiment et cliquez sur le domaine pour lequel créer les groupes.

    Sélectionner des domaines

  4. Cliquez sur Groupes.

    Groupes

  5. Définissez vos groupes en fonction des balises de droit d'accès. (Facultatif) Ajoutez vos utilisateurs à ces groupes.

    Création de groupes

Remarque : vous devrez créer des groupes pour une combinaison unique d'autorisation et de cible. Si le même groupe fonctionnel d'utilisateurs (NetworkAdmin) doit disposer d'un accès pour gérer le réseau sur toutes les cibles, vous avez besoin d'un seul groupe pour gérer l'accès sur toutes les cibles.

Voici les balises de droit d'accès et les groupes OCI IAM pour ces balises. Suivez les étapes ci-dessus pour créer des groupes pour chacune des balises d'autorisation définies.

  1. Compartiment racine : le compartiment racine sert de couche de gestion de niveau supérieur. Où nos groupes d'administrateurs seront étiquetés avec des balises d'autorisation. Les balises suivantes :

    • Administrateurs : droit d'accès manageall pour la gestion globale de la location.
    • UseAdministrators : droit d'accès useall permettant d'accéder aux ressources dans la location.
    • Auditeur : droit d'accès readall avec accès en lecture seule aux ressources pour la surveillance sur l'ensemble de la location.
  2. Modèle de compartiment par application : CompanyA dispose de plusieurs applications cloud. Nous allons créer un compartiment parent distinct pour chaque application. Examinons comment ce modèle s'applique à Application 1 (App1) et à Application 2 (App2) en tant que compartiments parent.

    • Application 1 (App1) : application orientée client hébergée sur OCI.

      • Compartiment réseau : compartiment pour toutes les ressources liées au réseau, telles que les VCN, les sous-réseaux, etc. Maintenant, créons les balises de droit d'accès et leurs groupes OCI IAM respectifs.
        • App1NetworkAdmin : balise de droit d'accès des ressources managenetwork pour les ingénieurs gérant les ressources réseau pour App1.
        • App1NetworkUser : balise de droit d'accès des ressources usenetwork pour les développeurs ayant besoin d'un accès limité aux configurations réseau de App1.
        • App1NetworkReader : balise de droit d'accès des ressources readnetwork pour les auditeurs qui vérifient la configuration réseau de App1.
      • Compartiment de calcul : compartiment pour les instances de calcul. Maintenant, créons les balises de droit d'accès et leurs groupes OCI IAM respectifs.
        • App1ComputeAdmin : balise de droit d'accès des ressources managecompute pour les administrateurs système qui provisionnent et redimensionnent les instances de calcul pour le back-end App1.
        • App1ComputeUser : balise de droit d'accès des ressources usecompute pour les développeurs qui déploient et testent les services back-end de App1.
        • App1ComputeReader : balise de droit d'accès des ressources readcompute pour les auditeurs surveillant l'utilisation des ressources de calcul pour App1.
      • Compartiment de données : compartiment pour les ressources liées au stockage et à la base de données. Maintenant, créons les balises de droit d'accès et leurs groupes OCI IAM respectifs.
        • App1DataAdmin : balise de droit d'accès des ressources managedb pour les administrateurs de base de données gérant les bases de données autonomes Oracle et OCI Object Storage pour App1.
        • App1DataUser : balise de droit d'accès aux ressources usedb pour les analystes de données accédant aux ensembles de données à des fins d'analyse par rapport à App1.
        • App1DataReader : balise de droit d'accès des ressources readdb pour les auditeurs qui vérifient les configurations de base de données de App1.
    • Application 2 (App2) : système interne de planification des ressources d'entreprise (ERP) pour les opérations de CompanyA.

      Remarque : ici également, nous suivrons la même approche de structure de compartiment et créerons le compartiment réseau, le compartiment de calcul et le compartiment de données sous le compartiment App2 parent. Pour éviter la redondance, nous allons simplement noter les balises de droit d'accès et les groupes OCI IAM pour App2.

      • Compartiment de réseau:

        • App2NetworkAdmin : balise de droit d'accès des ressources managenetwork.
        • App2NetworkUser : balise de droit d'accès des ressources usenetwork.
        • App2NetworkReader : balise de droit d'accès des ressources readnetwork.
      • Compartiment de calcul :

        • App2ComputeAdmin : balise de droit d'accès des ressources managecompute.
        • App2ComputeUser : balise de droit d'accès des ressources usecompute.
        • App2ComputeReader : balise de droit d'accès des ressources readcompute.
      • Compartiment de données:

        • App2DataAdmin : balise de droit d'accès des ressources managedb.
        • App2DataUser : balise de droit d'accès des ressources usedb.
        • App2DataReader : balise de droit d'accès des ressources readdb.

Remarque : appliquez une balise de droit d'accès à une cible (la cible peut être une ressource ou un compartiment) afin de déterminer quel groupe aura ce droit d'accès spécifique sur la cible pour App1 et App2.

Etape 4 : écriture des stratégies OCI IAM pour ces balises de droit d'accès

Nous allons créer les stratégies pour CompanyA en utilisant la même approche que celle décrite ici : Have less be More - Scaling OCI IAM Policies for Groups. Pour cela, créez un espace de noms de balise (nous allons appeler infosec) avec une clé de balise nommée gname.

  1. Connectez-vous au domaine OCI IAM avec un compte d'administrateur disposant du privilège de création de stratégies.

    Répertoire de base OCI

  2. Accédez à Identité et sécurité et cliquez sur Stratégies sous Identité.

    sécurité

  3. Sélectionnez le compartiment racine et cliquez sur Créer une stratégie.

    Création de stratégies

  4. Entrez le nom et la description de votre stratégie, puis ajoutez également les instructions de stratégie. Cliquez sur Créer.

    • Stratégie pour toutes les ressources :

      Allow any-user to manage all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.manageall)
      Allow any-user to use all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.useall)
      Allow any-user to read all-resources in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readall)
      

      Instructions de stratégie

      Remarque : suivez la même procédure pour définir toutes les stratégies mentionnées ci-dessous et ajouter leurs instructions de stratégie respectives.

    • Stratégie Cloudguard :

      Allow any-user to manage cloud-guard-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managecspm)
      Allow any-user to use cloud-guard-family in tenancy where
      sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.usecspm)
      Allow any-user to read cloud-guard-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readcspm)
      
    • Stratégie réseau :

      Allow any-user to manage virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managenetwork)
      Allow any-user to use virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.useetwork)
      Allow any-user to read virtual-network-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readnetwork)
      
    • Stratégie de calcul :

      Allow any-user to manage instance-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managecompute)
      Allow any-user to use instance-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.usecompute)
      Allow any-user to read instance-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readcompute)
      
    • Stratégie de base de données :

      Allow any-user to manage database-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.managedb)
      Allow any-user to use database-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.usedb)
      Allow any-user to read database-family in tenancy where sets-intersect(request.groups.name,target.resource.compartment.tag.mgmt.readdb)
      

Exemple 2 : compartiment pour chaque client/locataire

Etape 1 : Obtenir une compréhension globale de l'activité du client

CompanyB Solutions est un éditeur de logiciels indépendant de premier plan qui fournit des applications SaaS basées sur le locataire dans l'infrastructure cloud, la gestion des données et les analyses. CompanyB sert plusieurs clients dans tous les secteurs, offrant des solutions transparentes, sécurisées et évolutives. Leur succès dépend de l'utilisation d'OCI avec une structure compartimentale bien conçue pour gérer les ressources efficacement tout en respectant les exigences de sécurité et de conformité.

Etape 2 : Conception de la structure de compartiment pour la charge globale

CompanyB a isolé les charges globales pour ses clients et a créé un sous-compartiment dédié. Ils disposent également d'un compartiment réseau, d'un stockage partagé et d'un compartiment de base de données. Même CompanyB suit le modèle de politique OCI IAM pour le redimensionnement de ses stratégies OCI IAM.

Cas d'emploi 2

Etape 3 : Concevoir les balises d'autorisation suivantes de combinaison de type Verb+Resource

Pour créer des groupes, reportez-vous à l'exemple 1, étape 3. Vous devrez créer des groupes pour toutes les balises d'autorisation définies ci-dessous.

  1. Compartiment racine - Gouvernance centralisée : le composant racine sert de couche centrale pour la supervision de toutes les ressources et activités dans la location OCI. Où nos groupes d'administrateurs seront étiquetés avec des balises d'autorisation. Les balises suivantes :

    • Administrateurs : droit d'accès manageall pour la gestion globale de la location.
    • UseAdministrators : droit d'accès useall permettant d'accéder aux ressources dans la location.
    • Auditeur : droit d'accès readall avec accès en lecture seule aux ressources pour la surveillance sur l'ensemble de la location.
  2. Compartiment réseau - Arête des opérations : le compartiment réseau prend en charge l'infrastructure réseau cloud d'EntrepriseB, permettant la connectivité sur toutes les ressources. Cela inclut les réseaux cloud virtuels, les sous-réseaux, les passerelles et les équilibreurs de charge. Définissez les balises de droit d'accès et les groupes OCI IAM correspondants.

    • NetworkAdmin : balise de droit d'accès des ressources managenetwork pour les ingénieurs gérant les ressources réseau pour CompanyB.
    • NetworkUser : balise de droit d'accès des ressources usenetwork pour les développeurs ayant besoin d'un accès limité aux configurations réseau de CompanyB.
    • NetworkReader : balise de droit d'accès des ressources readnetwork pour les auditeurs qui vérifient la configuration réseau de CompanyB.
  3. Compartiment de locataires - Compartiments isolés pour différentes charges globales client : le compartiment de locataires est structuré de manière à isoler les ressources et les charges globales pour chaque client (locataire). Cela garantit que CompanyB fournit des services sécurisés et privés tout en maintenant l'efficacité opérationnelle.

    • Compartiment du locataire 1 : le locataire 1 représente un client d'entreprise majeur qui utilise CompanyB pour le développement d'applications et les services de journalisation. Voici les balises de droit d'accès et les groupes OCI IAM respectifs :

      • t1devadmin : le droit d'accès à la ressource manageappdev pour l'équipe de développement du locataire 1 dispose de privilèges d'administration pour, configurer et déployer des applications personnalisées.
      • t1devuser : droit d'accès aux ressources useappdev pour surveiller et ajuster les ressources d'application. Les développeurs de Tenant 1 utilisent ces ressources pour le développement et les tests quotidiens.
      • t1logsadmin et t1devuser : les droits d'accès aux ressources managelogs et uselogs pour la journalisation et les rôles de surveillance garantissent que les administrateurs configurent les services de journalisation tandis que les développeurs accèdent aux journaux pour déboguer et optimiser les applications.
      • t1devadmin et t1devuser : droits d'accès aux ressources managecspm et usecspm pour le locataire 1, car ils se concentrent également sur l'état de sécurité, avec la possibilité de surveiller et de corriger les risques de sécurité.
    • Tenant 2 and Tenant 3 Compartments: The structure for Tenant 2 and Tenant 3 mirrors that of Tenant 1, with roles like t2devadmin, t2devuser, t3devadmin, t3devuser, t2logsadmin and t3logsadmin ensuring that each tenant operates in a fully isolated environment. Cette approche permet à CompanyB de maintenir une gouvernance cohérente tout en répondant aux besoins spécifiques des locataires.

    • Compartiment partagé - Ressources centralisées pour tous les locataires : le compartiment partagé inclut des ressources telles que les bases de données et le stockage d'objets que plusieurs locataires utilisent, mais reste logiquement séparé pour la confidentialité et la sécurité.

      • Compartiment de base de données:
        • dbadmin : le droit d'accès à la ressource managedb pour les administrateurs de base de données de CompanyB gère les bases de données partagées utilisées par tous les locataires, y compris le provisionnement, le redimensionnement et l'application de patches.
        • dbuser : le droit d'accès à la ressource usedb pour les utilisateurs propres au locataire accède à leurs schémas ou services de base de données respectifs.
        • dbreader : le droit d'accès à la ressource readdb pour les auditeurs dispose d'un accès en lecture seule pour garantir que les configurations de base de données sont conformes aux stratégies de sécurité.
      • Compartiment de stockage : OCI Object Storage est géré de manière centralisée, avec des buckets dédiés pour chaque locataire :
        • osadmin : droit d'accès à la ressource manageobject responsable de la gestion des ressources de stockage d'objet partagé.
        • osuser : useobject droit d'accès à la ressource de stockage propre au locataire (ou exemple, t1osur, t2osur, t3osur) garantit que les locataires accèdent uniquement à leurs buckets respectifs.
        • osreader : le droit d'accès aux ressources readobject pour les équipes de conformité vérifie les configurations de stockage et les modèles d'utilisation.

Etape 4 : écriture des stratégies OCI IAM pour ces balises de droit d'accès

Pour créer des stratégies, reportez-vous à l'exemple 1, étape 4. Vous devrez créer les stratégies suivantes.

Exemple 3 : structure de compartiment d'entreprise de grande taille

Etape 1 : Obtenir une compréhension globale de l'activité du client

CompanyC Solutions, une organisation multinationale spécialisée dans les solutions logicielles innovantes, a décidé de migrer ses workloads stratégiques vers OCI. L'entreprise opère dans des secteurs hautement réglementés tels que la finance et la santé, où la sécurité, la conformité et l'évolutivité sont de la plus haute importance.

Etape 2 : Conception de la structure de compartiment pour la charge globale

Examinons maintenant la structure de compartiment pour CompanyC, qui suit le modèle de politique OCI IAM pour le redimensionnement de leurs stratégies OCI IAM.

Cas d'emploi 3

Etape 3 : conception des balises d'autorisation suivantes de combinaison de type Verb+Resource

Pour créer des groupes, reportez-vous à l'exemple 1, étape 3. Vous devez créer des groupes pour toutes les balises d'autorisation suivantes.

  1. Compartiment racine - Gouvernance centralisée : le composant racine sert de couche centrale pour la supervision de toutes les ressources et activités dans la location OCI. Où nos groupes d'administrateurs seront étiquetés avec des balises d'autorisation. Les balises suivantes :

    • Administrateurs : droit d'accès manageall pour la gestion globale de la location.
    • UseAdministrators : droit d'accès useall permettant d'accéder aux ressources dans la location.
    • Auditeur : droit d'accès readall avec accès en lecture seule aux ressources pour la surveillance sur l'ensemble de la location.
  2. Compartiment PROD : compartiment permettant d'héberger des charges globales de production stratégiques qui ont un impact direct sur les opérations métier et les utilisateurs finaux. Chaque application dispose de son sous-compartiment dédié pour l'isolation des ressources et la gestion optimisée. Définissez les balises de droit d'accès et les groupes OCI IAM correspondants.

    • NetworkAdmin : balise de droit d'accès des ressources managenetwork pour les ingénieurs gérant les ressources réseau pour CompanyC.
    • NetworkReader : balise de droit d'accès des ressources readnetwork pour les auditeurs qui vérifient la configuration réseau de CompanyC.
    • ComputeAdmin : balise de droit d'accès des ressources managecompute pour les administrateurs système qui provisionnent et redimensionnent les instances de calcul pour CompanyC.
    • ComputeReader : balise de droit d'accès des ressources readcompute pour les auditeurs surveillant l'utilisation des ressources de calcul pour CompanyC.
    • StorageReader : droit d'accès à la ressource manageobject permettant aux équipes d'administration du stockage de gérer les configurations de stockage.
    • StorageReader : le droit d'accès aux ressources readobject pour les équipes de conformité vérifie les configurations de stockage et les modèles d'utilisation.
    • SecurityAdmin : droit d'accès à la ressource managecspm pour Compartment PROD, car ils se concentrent également sur l'état de sécurité, avec la possibilité de surveiller et de corriger les risques de sécurité.

    Nous allons maintenant définir les balises de droit d'accès et les groupes OCI IAM respectifs pour les sous-compartiments propres aux applications. Dans l'intérêt du temps, nous avons fusionné et défini des autorisations pour tous les 3 compartiments d'application différents.

    • Compartiments d'application :
      • PRApp1NetAdmin, PRApp2NetAdmin et PRApp3NetAdmin : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources managenetwork pour les ingénieurs gérant les ressources réseau pour App1, App2 et App3 respectivement.
      • PRApp1NetUser, PRApp2NetUser et PRApp3NetUser : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources usenetwork pour les ingénieurs gérant les ressources réseau pour App1, App2 et App3 respectivement.
      • PRApp1ComputeAdmin, PRApp2ComputeAdmin et PRApp3ComputeAdmin : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources managecompute pour les ingénieurs gérant les instances OCI Compute pour App1, App2 et App3 respectivement.
      • PRApp1ComputeUser, PRApp2ComputeUser et PRApp3ComputeUser : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources usecompute pour les ingénieurs qui utilisent des instances OCI Compute pour App1, App2 et App3 respectivement.
      • PRApp1StorageAdmin, PRApp2StorageAdmin et PRApp3StorageAdmin : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources manageobject pour les ingénieurs gérant OCI Object Storage pour App1, App2 et App3 respectivement.
      • PRApp1StorageUser, PRApp2StorageUser et PRApp3StorageUser : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources useobject pour les ingénieurs qui utilisent OCI Object Storage pour App1, App2 et App3 respectivement.
  3. Compartiment NPROD : dédié aux environnements de transfert, de développement et d'assurance qualité. Ce compartiment est structuré de la même manière que PROD pour assurer la cohérence. Définissez les balises de droit d'accès et les groupes OCI IAM correspondants.

    • NetworkAdmin : balise de droit d'accès des ressources managenetwork pour les ingénieurs gérant les ressources réseau pour CompanyC.
    • NetworkReader : balise de droit d'accès des ressources readnetwork pour les auditeurs qui vérifient la configuration réseau de CompanyC.
    • ComputeAdmin : balise de droit d'accès des ressources managecompute pour les administrateurs système qui provisionnent et redimensionnent les instances OCI Compute pour CompanyC.
    • ComputeReader : balise de droit d'accès des ressources readcompute pour les auditeurs qui surveillent l'utilisation des ressources OCI Compute pour CompanyC.
    • StorageReader : droit d'accès à la ressource manageobject permettant aux équipes d'administration du stockage de gérer les configurations de stockage.
    • StorageReader : le droit d'accès aux ressources readStorage pour les équipes de conformité vérifie les configurations de stockage et les modèles d'utilisation.
    • SecurityAdmin : droit d'accès à la ressource managecspm pour le compartiment NPROD, car ils se concentrent également sur l'état de sécurité, avec la possibilité de surveiller et de corriger les risques de sécurité.

    De même, nous allons maintenant définir les balises de droit d'accès et les groupes OCI IAM respectifs pour les sous-compartiments propres aux applications.

    • Compartiments d'application :
      • NPApp1NetAdmin, NPApp2NetAdmin et NPApp3NetAdmin : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources managenetwork pour les ingénieurs gérant les ressources réseau pour App1, App2 et App3 respectivement.
      • NPApp1NetUser, NPApp2NetUser et NPApp3NetUser : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources usenetwork pour les ingénieurs gérant les ressources réseau pour App1, App2 et App3 respectivement.
      • NPApp1ComputeAdmin, NPApp2ComputeAdmin et NPApp3ComputeAdmin : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources managecompute pour les ingénieurs gérant les instances OCI Compute pour App1, App2 et App3 respectivement.
      • NPApp1ComputeUser, NPApp2ComputeUser et NPApp3ComputeUser : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources usecompute pour les ingénieurs qui utilisent des instances OCI Compute pour App1, App2 et App3 respectivement.
      • NPApp1StorageAdmin, NPApp2StorageAdmin et NPApp3StorageAdmin : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources manageobject pour les ingénieurs gérant OCI Object Storage pour App1, App2 et App3 respectivement.
      • NPApp1StorageUser, NPApp2StorageUser et NPApp3StorageUser : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources useobject pour les ingénieurs qui utilisent OCI Object Storage pour App1, App2 et App3 respectivement.
  4. Compartiment partagé : le compartiment partagé héberge des ressources pour la surveillance, telles que la journalisation et les services OCI Cloud Guard. Il dispose également de clés de chiffrement et de déchiffrement qui sont utilisées par plusieurs locataires tout en assurant une ségrégation logique pour maintenir la confidentialité et la sécurité. Tous les administrateurs de vos applications nécessitant l'accès à ces services seront ajoutés aux groupes OCI IAM créés pour ces services. Définissez les balises de droit d'accès et les groupes OCI IAM correspondants.

    • Compartiments Oracle Cloud Guard :

      • cspmAdmin : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources managecspm pour les administrateurs gérant Oracle Cloud Guard pour les compartiments PROD et non PROD.
      • cspmUser : les groupes OCI IAM avec la balise de droit d'accès des ressources usecspm pour les ingénieurs qui utilisent/surveillent Oracle Cloud Guard pour les compartiments PROD et non PROD.
      • cspmReader : les groupes OCI IAM avec la balise de droit d'accès des ressources readcspm pour les ingénieurs qui lisent Oracle Cloud Guard pour les compartiments PROD et non PROD.
    • Compartiments de journalisation OCI :

      • logsAdmin : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources managelogs pour les administrateurs gérant OCI Logging pour les compartiments PROD et non PROD.
      • logsUser : les groupes OCI IAM avec la balise de droit d'accès des ressources uselogs pour les ingénieurs qui utilisent/surveillent OCI Logging pour les compartiments PROD et non PROD.
      • logsReader : les groupes OCI IAM avec la balise de droit d'accès des ressources readlogs pour les ingénieurs qui lisent OCI Logging pour les compartiments PROD et non PROD.
    • Compartiments de clés :

      • kmsAdmin : les groupes OCI IAM d'administration avec la balise de droit d'accès des ressources managekeys pour les administrateurs gérant le coffre de clés pour les compartiments PROD et non PROD.
      • kmsUser : les groupes OCI IAM avec la balise de droit d'accès des ressources usekeys pour les ingénieurs qui utilisent/surveillent le coffre de clés pour les compartiments PROD et non PROD.
      • kmsReader : les groupes OCI IAM avec la balise de droit d'accès des ressources readkeys pour les ingénieurs qui lisent le coffre de clés pour les compartiments PROD et non PROD.
  5. Compartiment de terrain de jeu : environnement flexible et isolé destiné à l'expérimentation, au développement et aux tests. Ce compartiment n'est pas lié aux contraintes de production ou de conformité, ce qui le rend idéal pour l'innovation. Ici, nous n'aurons qu'un seul groupe d'administrateurs OCI IAM pour le compartiment très enfant et accorderons les privilèges de gestion à toutes les ressources OCI nécessaires pour les exigences de test.

    • Compartiments de développement :

      • DevAdmin : les groupes OCI IAM d'administration avec le droit d'accès aux ressources managenetwork, managecompute, manageobject, managekeys, managelogs pour les administrateurs de développement afin de tester une nouvelle implémentation dans le compartiment de développement.
    • Compartiments de test :

      • TestAdmin : les groupes OCI IAM d'administration avec le droit d'accès aux ressources managenetwork, managecompute, manageobject, managekeys, managelogs pour les administrateurs de développement afin de tester une nouvelle implémentation dans le compartiment de test.
    • Compartiments de test des performances :

      • PerfTestAdmin : les groupes OCI IAM d'administration avec le droit d'accès aux ressources managenetwork, managecompute, manageobject, managekeys, managelogs pour les administrateurs de développement afin de tester une nouvelle implémentation dans le compartiment de test des performances.

Etape 4 : écriture des stratégies OCI IAM pour ces balises de droit d'accès

Pour créer des stratégies, reportez-vous à l'exemple 1, étape 4. Vous devez créer les stratégies suivantes.

Remarque : pour ce scénario, chaque fois que vous intégrez une nouvelle charge globale :

Modèle d'autorisation basé sur des balises pour le contrôle d'accès affiné

Jusqu'à présent, tous les exemples, nous avons discuté des autorisations de création, d'utilisateur ou de lecture pour une famille de ressources. Cependant, la plupart des clients ont besoin d'un contrôle d'accès granulaire pour suivre le modèle de moindre privilège. Le tutoriel se concentre sur la compréhension du modèle de politique, c'est pourquoi nous avons parlé d'un cas d'utilisation simple. Cependant, permettez-moi de prendre un exemple de quatre personnes réseau et de vous expliquer comment concevoir des balises de droit d'accès granulaires et des stratégies OCI IAM pour ces quatre personas.

Nous définirons networkowner, networkadmin, networkoperator et networkuser en tant que quatre balises sur le compartiment réseau. Pour ces balises, nous allons affecter des noms de groupe qui ont accès au compartiment réseau.

Redimensionnement des stratégies OCI IAM pour les ID instance

Exemple 1 : contrôle d'accès aux instances colocatives pour le stockage partagé et les clés secrètes dans OCI

Etape 1 : Obtenir une compréhension globale de l'activité du client

XYZ Cloud Solutions est un fournisseur SaaS proposant un système de gestion des documents (DMS) hébergé sur OCI. La plate-forme sert plusieurs clients professionnels, chacun nécessitant une isolation stricte de ses données tout en tirant parti d'une infrastructure partagée.

Exigences client :

Etape 2 : Conception de la structure de compartiment pour la charge globale

Examinons maintenant la structure de compartiment pour les solutions cloud XYZ, qui suit le modèle de politique OCI IAM pour le redimensionnement de leurs stratégies OCI IAM.

Cas d'emploi d'instance 1

Etape 3 : création de groupes OCI IAM

Pour assurer une gestion des accès sécurisée et isolée dans un environnement colocatif OCI, les stratégies suivantes seront définies pour :

Remarque : ces groupes et stratégies OCI IAM sont déjà créés comme décrit ci-dessus dans la section Stratégies OCI IAM courantes.

Etape 4 : création de stratégies OCI IAM pour les groupes définis

Stratégies d'accès aux ressources de locataire : pour assurer l'isolement des données, les ressources de locataire doivent uniquement pouvoir accéder à leurs propres clés secrètes et au stockage d'objets.

Allow any-user to use object-family in compartment Storage where request.principal.compartment.tag.Enterprise.Tenant = target.resource.tag.Enterprise.Tenant
Allow any-user to use secret-family in compartment Tenants where request.principal.compartment.tag.Enterprise.Tenant = target.resource.tag.Enterprise.Tenant

Si les principes d'instance de locataire requièrent également des droits d'accès permettant de créer des objets, vous pouvez créer des noms de bucket portant le même nom que le nom de locataire et utiliser une balise de nom de locataire pour effectuer une comparaison avec le nom de bucket.

Allow any-user to manage objects in compartment Storage where request.principal.compartment.tag.Enterprise.Tenant = target.bucket.name

Exemple 2 : contrôle d'accès de niveau fin pour l'accès aux données multi-services dans un modèle de stockage OCI partagé

Etape 1 : Obtenir une compréhension globale de l'activité du client

XYZ Corp est une entreprise en pleine croissance spécialisée dans les solutions de transformation numérique. Avec une présence mondiale, XYZ Corp opère dans plusieurs régions et exploite OCI pour héberger des applications critiques, gérer les données et assurer une collaboration transparente entre les équipes.

Exigences client :

Etape 2 : Conception de la structure de compartiment pour la charge globale

Examinons maintenant la structure de compartiment de XYZ Corp, qui suit le modèle de politique OCI IAM pour le redimensionnement de ses stratégies OCI IAM.

Cas d'emploi d'instance 2

Etape 3 : création de groupes OCI IAM

Pour assurer une gestion des accès sécurisée et isolée dans un environnement colocatif OCI, les stratégies suivantes seront définies pour :

Remarque : les groupes InfoSec et Terraform-Runner et les stratégies IAM sont déjà créés, comme décrit ci-dessus dans la section Stratégies OCI IAM courantes.

Etape 4 : création de stratégies OCI IAM pour les groupes définis

Stratégies d'accès aux ressources de locataire : pour assurer l'isolement des données, les ressources de locataire doivent uniquement pouvoir accéder à leurs propres clés secrètes et au stockage d'objets.

Allow dynamic-group AdminInstances to use object-family in compartment Storage where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Admin’}

Allow dynamic-group SalesInstances to use object-family in compartment Storage where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Sales’}

Allow dynamic-group SupplyInstances to use object-family in compartment Storage where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Supply’}

Allow any-user to use object-family in compartment Storage where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Shared’}

Allow dynamic-group AdminInstances to use secret-family in compartment Tenants where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Admin’}

Allow dynamic-group SalesInstances to use secret-family in compartment Tenants where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Sales’}

Allow dynamic-group SupplyInstances to use secret-family in compartment Tenants where all {request.principal.compartment.tag.Enterprise.Tenant=target.resource.tag.Enterprise.Tenant, target.resource.tag.Enterprise.Service=’Supply’}

Remerciements

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation produit, consultez le site Oracle Help Center.