Principaux de ressource

Oracle recommande d'utiliser l'authentification basée sur le principal de ressource pour Full Stack Disaster Recovery afin d'utiliser des fonctionnalités et fonctionnalités supplémentaires. Utilisez des principaux de ressource pour authentifier d'autres ressources Oracle Cloud Infrastructure et y accéder. Pour utiliser des principaux de ressource, vous ou l'administrateur de location devez définir les stratégies Oracle Cloud Infrastructure et les groupes dynamiques qui autorisent les principaux à accéder aux ressources Oracle Cloud Infrastructure.

Pour configurer l'authentification de principal de ressource pour Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery, procédez comme suit :

1. Créez un groupe dynamique et définissez des règles de rapprochement comme suit :

Un groupe dynamique vous permet de regrouper des ressources OCI afin qu'elles puissent recevoir des droits d'accès attribués collectivement. La définition de règles de correspondance au sein du groupe dynamique indique les ressources incluses.

Accédez à la console OCI :
  1. Se connecter au compte OCI.
  2. Ouvrez le menu de navigation et sélectionnez Identité et sécurité > Domaines > [Votre domaine] > Groupes > Groupes dynamiques.
Créer un groupe dynamique :
  1. Cliquez sur Créer un groupe dynamique.
  2. Fournissez un nom et une description explicites.
  3. Dans la section Règles de rapprochement, sélectionnez Mettre en correspondance les règles définies ci-dessous. Ce paramètre garantit que les ressources correspondant à l'une des règles spécifiées sont incluses dans le groupe dynamique.

Règle de mise en correspondance du groupe dynamique :

Sélectionnez le bouton radio Match Any Rules et ajoutez les règles ci-dessous individuellement.
Rule 1: All {resource.type='drprotectiongroup', resource.compartment.id='<dr_protection_group_compartment_ocid>'}
Rule 2: Any {instance.compartment.id = '<instance_compartment_ocid>'}
Rule 3: All {resource.type='computecontainerinstance', resource.compartment.id='<mysql_compartment_ocid>'}
Rule 4: All {resource.type='computecontainerinstance', resource.compartment.id='<oke_cluster_compartment_ocid>'}

Enregistrez le groupe dynamique :

Une fois les règles de mise en correspondance définies, cliquez sur Créer pour enregistrer le groupe dynamique.

Pour plus d'informations, reportez-vous à Instructions relatives aux règles de mise en correspondance dans les groupes dynamiques pour Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery.

2. Créez les stratégies IAM pour le groupe dynamique comme suit :

Les stratégies IAM accordent les droits d'accès nécessaires au groupe dynamique pour la gestion des ressources lors des opérations de récupération après sinistre.

Accédez à Stratégies :

Dans la console OCI, accédez à Identity & Security > Domains > [Votre domaine] > Policies.

Créer une stratégie:

  1. Cliquez sur Créer une stratégie.
  2. Indiquez un nom et une description pour la stratégie.
  3. Dans le générateur de stratégies, ajoutez des instructions pour accorder les droits d'accès nécessaires.

Instructions de stratégie:

Les instructions de stratégie requises dépendent des types de ressource gérés par Full Stack DR.

Remplacez <dynamic_group_name> et <resource_compartment_name> par les noms de groupe et de compartiment dynamiques réels.

Toutes les instructions de stratégie :

Allow dynamic-group <dynamic_group_name> to manage disaster-recovery-family in compartment <dr_protection_group_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage object-family in compartment <object_storage_bucket_compartment_name>
Allow dynamic-group <dynamic_group_name> to use tag-namespaces in tenancy
Allow dynamic-group <dynamic_group_name> to read all-resources in tenancy
Allow dynamic-group <dynamic_group_name> to manage instance-family in compartment <instance_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-execution-family in compartment <instance_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-family in compartment <instance_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage instance-agent-plugins in compartment <instance_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage virtual-network-family in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage volume-family in compartment <volume_group_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage file-family in compartment <file_system_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage database-family in compartment <database_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage autonomous-database-family in compartment <autonomous_database_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage autonomous-database-family in compartment <autonomous_container_database_compartment_name>
Allow dynamic-group <dynamic_group_name> to update autonomous-vmclusters in compartment <autonomous_container_database_compartment_name>
Allow dynamic-group <dynamic_group_name> to update autonomousContainerDatabaseDataguardAssociations in compartment <autonomous_container_database_compartment_name>
Allow dynamic-group <dynamic_group_name> to update cloud-autonomous-vmclusters in compartment <autonomous_container_database_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage mysql-family in compartment <mysql_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage load-balancers in compartment <load_balancer_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage network-load-balancers in compartment <network_load_balancer_compartment_name>
Allow dynamic-group <dynamic_group_name> to read secret-family in compartment <vault_compartment_name>
Allow dynamic-group <dynamic_group_name> to read vaults in compartment <vault_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage cluster-family in compartment <oke_cluster_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage cluster-virtualnode-pools in compartment <oke_cluster_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage compute-container-family in compartment <oke_cluster_compartment_name>
Allow any-user to manage objects in compartment <object_storage_bucket_compartment_name> where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-creator', request.principal.cluster_id = '<cluster_ocid>'}
Allow any-user to manage objects in compartment <object_storage_bucket_compartment_name> where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-reader', request.principal.cluster_id = '<cluster_ocid>'}
Allow dynamic-group <dynamic_group_name> to read fn-app in compartment <function_compartment_name>
Allow dynamic-group <dynamic_group_name> to read fn-function in compartment <function_compartment_name>
Allow dynamic-group <dynamic_group_name> to use fn-invocation in compartment <function_compartment_name>

Pour plus d'informations, reportez-vous à Instructions relatives aux instructions de stratégie pour Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery

Vérifier et créer:

Après avoir ajouté les instructions nécessaires, vérifiez la stratégie et cliquez sur Créer pour l'appliquer.

En suivant ces étapes, vous pouvez configurer l'authentification de principal de ressource pour OCI Full Stack Disaster Recovery, ce qui permet une gestion sécurisée et efficace de vos opérations de récupération après sinistre.

Référence :

Instructions relatives aux règles de mise en correspondance dans les groupes dynamiques pour Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery

Définir les règles de rapprochement :

Alignez vos règles de mise en correspondance des ressources sur le type de ressource à protéger avec le service Full Stack Disaster Recovery.

Règles de correspondance de groupe de protection de récupération après sinistre :

Il s'agit d'une étape obligatoire car il s'agit du principal de ressource principalement utilisé pour la configuration et l'exécution de la récupération après sinistre à l'aide du principal de ressource

Tous les groupes de protection de récupération après sinistre d'un compartiment spécifique :

All {resource.type='drprotectiongroup', resource.compartment.id='<dr_protection_group_compartment_ocid>'}
Replace <dr_protection_group_compartment_ocid> with your DR protection group compartment OCID.

Tous les groupes de protection de récupération après sinistre sur plusieurs compartiments :

All {resource.type='drprotectiongroup', resource.compartment.id='<dr_protection_group_compartment_ocid1>'}
All {resource.type='drprotectiongroup', resource.compartment.id='<dr_protection_group_compartment_ocid2>'}

Tous les groupes de protection de récupération après sinistre dans tous les compartiments :

All {resource.type='drprotectiongroup'}

Règles de correspondance d'instance de calcul :

Cette opération est nécessaire si vous disposez d'instances de calcul, de membres mobiles ou non mobiles, dans votre groupe de protection de récupération après sinistre. Utilisez les règles suivantes pour inclure des instances de calcul dans votre configuration de récupération après sinistre :

Toutes les instances d'un compartiment spécifique :
Any {instance.compartment.id = '<instance_compartment_ocid>'}
Replace <instance_compartment_ocid> with your compute instance compartment OCID

Instances dans plusieurs compartiments :

Any {instance.compartment.id = '<instance_compartment_ocid1>'}
Any {instance.compartment.id = '<instance_compartment_ocid2>'}

Règles de mise en correspondance de cluster OKE et de système de base de données MySQL :

Cette opération est nécessaire si le groupe de protection de récupération après sinistre comporte des membres de cluster OKE ou de système de base de données MySQL.

Pour protéger les clusters OKE et les systèmes de base de données MySQL, utilisez la commande suivante :
Remarque

Les exécutions et la configuration de la récupération après sinistre sont exécutées via des instances de conteneur de calcul

Toutes les instances de cluster OKE d'un compartiment spécifique :

All {resource.type='computecontainerinstance', resource.compartment.id='<oke_cluster_compartment_ocid>'}
Replace <oke_cluster_compartment_ocid> with your OKE cluster compartment OCID

Tous les systèmes de base de données MySQL d'un compartiment spécifique :

All {resource.type='computecontainerinstance', resource.compartment.id='<mysql_compartment_ocid>'}
Replace <mysql_compartment_ocid> with the relevant MySQL compartment OCID

Toutes les instances de conteneur de calcul, quel que soit le compartiment (s'applique à toutes les ressources pertinentes) :

All {resource.type='computecontainerinstance'} 

Ces règles garantissent que l'une des conditions spécifiées peut correspondre, ce qui permet une flexibilité dans l'inclusion des ressources.

Instructions pour les instructions de stratégie pour Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery :

Pour permettre une gestion transparente des ressources avec Full Stack DR, configurez des stratégies IAM pour votre groupe dynamique. Voici des exemples de différents types de membre :

Stratégies de ressource communes (applicables à tous les types de membre)

Networking (pour les instances de calcul, la base de données autonome, les équilibreurs de charge, les systèmes de fichiers et les clusters OKE) :

Allow dynamic-group <dynamic_group_name> to use virtual-network-family in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use subnets in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use vnics in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use network-security-groups in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use private-ips in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use public-ips in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use tag-namespaces in compartment <tag_compartment_name>

Vault (pour instances de calcul, base de données autonome, groupes de volumes, systèmes de fichiers, clusters OKE) :

Allow dynamic-group <dynamic_group_name> to read vaults in compartment <vault_compartment_name>
Allow dynamic-group <dynamic_group_name> to read secret-family in compartment <vault_compartment_name
Tagging (pour : toutes les ressources) :
Allow dynamic-group <dynamic_group_name> to use tag-namespaces in
    tenancy

Pour les ressources de service de récupération après sinistre (Configuration et actions de récupération après sinistre) :

Allow dynamic-group <dynamic_group_name> to manage disaster-recovery-family in compartment <dr_protection_group_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage objects in compartment <dr_protection_group_compartment_name>
Allow dynamic-group <dynamic_group_name> to read all-resources in tenancy
Stockage des journaux (pour les clusters OKE, les systèmes de base de données MySQL, l'exécution du plan de récupération après sinistre) :
Allow dynamic-group <dynamic_group_name> to manage object-family in compartment
      <object_storage_bucket_compartment_name>
Stratégies propres au type de membre de ressource :
  1. Instances de calcul (amovibles et non amovibles) :
    Allow dynamic-group <dynamic_group_name> to manage instance-family in compartment <instance_compartment_name>
    Allow dynamic-group <dynamic_group_name> to manage volume-family in compartment <volume_group_compartment_name>
    Allow dynamic-group <dynamic_group_name> to manage virtual-network-family in compartment <instance_compartment_name>
    Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-execution-family in compartment <instance_compartment_name>
    Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-family in compartment <instance_compartment_name>
    Allow dynamic-group <dynamic_group_name> to manage instance-agent-plugins in compartment <instance_compartment_name>
  2. Groupes de volumes
    Allow dynamic-group <dynamic_group_name> to manage volume-family in compartment <volume_group_compartment_name>(Include Vault policies from above)
  3. Systèmes de fichiers
    Allow dynamic-group <dynamic_group_name> to manage file-family in compartment <file_system_compartment_name>(Include Vault policies from above)
  4. Buckets Object Storage
    Allow dynamic-group <dynamic_group_name> to manage object-family in compartment <object_storage_bucket_compartment_name>
  5. Bases de données
    Allow dynamic-group <dynamic_group_name> to manage databases in compartment <database_compartment_name>(Include Vault policies from above)
  6. Autonomous Database
    Allow dynamic-group <dynamic_group_name> to manage autonomous-database-family in compartment <autonomous_database_compartment_name>
    (Include Vault policies from above)
  7. Base de données Conteneur Autonomous
    Allow dynamic-group <dynamic_group_name> to manage autonomous-database-family in compartment <autonomous_container_database_compartment_name>
    Allow dynamic-group <dynamic_group_name> to update cloud-autonomous-vmclusters in compartment <autonomous_container_database_compartment_name>
    Allow dynamic-group <dynamic_group_name> to update autonomous-vmclusters in compartment <autonomous_container_database_compartment_name>
    Allow dynamic-group <dynamic_group_name> to update autonomousContainerDatabaseDataguardAssociations in compartment <autonomous_container_database_compartment_name>
  8. Systèmes de base de données MySQL
    Allow dynamic-group <dynamic_group_name> to manage mysql-family in compartment <mysql_compartment_name>
  9. Equilibreurs de charge
    Allow dynamic-group <dynamic_group_name> to manage load-balancers in compartment <load_balancer_compartment_name>
  10. Equilibreurs de charge réseau
    Allow dynamic-group <dynamic_group_name> to manage network-load-balancers in compartment <network_load_balancer_compartment_name>
  11. Clusters OKE
    Allow dynamic-group <dynamic_group_name> to manage cluster-family in compartment <oke_cluster_compartment_name>
    Allow dynamic-group <dynamic_group_name> to manage cluster-virtualnode-pools in compartment <oke_cluster_compartment_name>
    Allow dynamic-group <dynamic_group_name> to manage compute-container-family in compartment <oke_cluster_compartment_name>
    Allow dynamic-group <dynamic_group_name> to manage object-family in compartment <object_storage_bucket_compartment_name>
    With Virtual Node Pool:
    Allow any-user to manage objects in compartment <object_storage_bucket_compartment_name> where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-reader', request.principal.cluster_id = '<cluster_ocid>'}
    Allow any-user to manage objects in compartment <object_storage_bucket_compartment_name> where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-creator', request.principal.cluster_id = '<cluster_ocid>'}
  12. Etapes utilisateur
    Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-execution-family in compartment <instance_compartment_name>
    Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-family in compartment <instance_compartment_name>
    Allow dynamic-group <dynamic_group_name> to manage instance-agent-plugins in compartment <instance_compartment_name>
    Allow dynamic-group <dynamic_group_name> to manage objects in compartment <object_storage_bucket_compartment_name>
  13. Fonctions (type d'étape : FUNCTIONS)
    Allow dynamic-group <dynamic_group_name> to read fn-app in compartment <function_compartment_name>
    Allow dynamic-group <dynamic_group_name> to read fn-function in compartment <function_compartment_name>
    Allow dynamic-group <dynamic_group_name> to use fn-invocation in compartment <function_compartment_name>

Remplacez <Dynamic_Group_Name> par le nom du groupe dynamique et <resource_compartment_name> par le nom de compartiment approprié pour chaque type de ressource.

Pour plus d'informations sur les stratégies créées à l'étape ci-dessus, reportez-vous à Stratégies pour d'autres services gérés par Full Stack Disaster Recovery.

Pour plus d'informations sur l'ajout de règles de mise en correspondance dans des groupes dynamiques créés à l'étape précédente, reportez-vous à Ecriture de règles de mise en correspondance pour définir des groupes dynamiques.

Pour plus de détails sur l'ajout d'instructions de stratégie dans les stratégies du groupe dynamique créé à l'étape ci-dessus, reportez-vous à Ecriture de stratégies pour les groupes dynamiques.