Principaux de ressource

Les systèmes de base de données peuvent utiliser des principaux de ressource pour authentifier les 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 et les groupes dynamiques Oracle Cloud Infrastructure qui permettent aux principaux d'accéder aux ressources Oracle Cloud Infrastructure.

Le principal de ressource est utilisé dans les fonctionnalités de service HeatWave suivantes :

  • Apportez votre propre certificat : permet aux systèmes de base de données de lire les certificats définis dans le service de certificats Oracle Cloud Infrastructure (OCI).
  • Groupes de sécurité réseau : permet aux systèmes de base de données ou aux répliques de lecture d'utiliser les règles de sécurité réseau indiquées dans des groupes de sécurité réseau.
  • HeatWave Lakehouse : permet aux systèmes de base de données de lire des données à partir d'Object Storage.
  • Export des résultats de requête vers Object Storage : permet au service HeatWave d'exporter les résultats de requête vers Object Storage.
  • Accès au service OCI Generative AI : permet à HeatWave GenAI d'utiliser tous les modèles de base préentraînés disponibles dans le service OCI Generative AI.

Les principaux de ressource ont deux composants :

Groupes dynamiques

Les groupes dynamiques vous permettent de regrouper des systèmes de base de données de service HeatWave en tant qu'acteurs principaux, semblables à des groupes d'utilisateurs.

Vous pouvez ensuite créer des stratégies permettant aux systèmes de base de données des groupes dynamiques d'effectuer des appels d'API vers les services Oracle Cloud Infrastructure, tels que Certificates ou Object Storage. L'appartenance au groupe est déterminée par un ensemble de critères que vous définissez, appelé règles de mise en correspondance.

L'exemple suivant présente une règle de mise en correspondance incluant tous les systèmes de base de données du compartiment défini :
"ALL{resource.type='mysqldbsystem', resource.compartment.id = 'ocid1.compartment.oc1..alphanumericString'}"

Pour plus d'informations, reportez-vous à Ecriture de règles de mise en correspondance pour définir des groupes dynamiques.

Les groupes dynamiques nécessitent un nom, une description et une règle de mise en correspondance. Reportez-vous à Création d'un groupe dynamique.

Stratégies

Les stratégies définissent ce que vos groupes ou groupes dynamiques peuvent et ne peuvent pas faire.

Définition d'une stratégie pour l'utilisation de votre propre certificat

Pour que les systèmes de base de données puissent accéder aux certificats à partir du service Certificates, vous devez définir une stratégie qui autorise le groupe dynamique à lire les certificats.

Par exemple, la stratégie suivante accorde au groupe dynamique MYSQL_DG le droit de lire les certificats de sécurité dans le compartiment C8 :
Allow dynamic-group MYSQL_DG to read leaf-certificate-family in compartment C8

Définition d'une stratégie pour les groupes de sécurité réseau

Pour ajouter des groupes de sécurité réseau aux systèmes de base de données ou lire des répliques, vous devez définir une stratégie qui permet au groupe dynamique d'utiliser les droits d'accès suivants :
  • NETWORK_SECURITY_GROUP_UPDATE_MEMBERS dans le compartiment contenant les groupes de sécurité réseau
  • VNIC_CREATE, VNIC_UPDATE, VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP, VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP, VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP dans le compartiment du sous-réseau du système de base de données.
Par exemple, les stratégies suivantes accordent au groupe dynamique MYSQL_DG les droits d'accès requis pour utiliser les groupes de sécurité réseau dans le compartiment C8 avec le sous-réseau du système de base de données dans le compartiment C9 :
Allow dynamic-group MYSQL_DG to {NETWORK_SECURITY_GROUP_UPDATE_MEMBERS} 
    in compartment C8
Allow dynamic-group MYSQL_DG to {VNIC_CREATE, VNIC_UPDATE, VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP, 
    VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP} in compartment C9
Vous pouvez également créer les stratégies suivantes qui intègrent les principaux sans utiliser de groupe dynamique :
Allow any-user to {NETWORK_SECURITY_GROUP_UPDATE_MEMBERS} in compartment C8 where all 
    {request.principal.type='mysqldbsystem', request.resource.compartment.id='ocid1.compartment.oc1..alphanumericString'}
Allow any-user to {VNIC_CREATE, VNIC_UPDATE, VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP, 
    VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP} in compartment C9 where all 
    {request.principal.type='mysqldbsystem', request.resource.compartment.id='ocid1.compartment.oc1..alphanumericString'}

Définition d'une stratégie pour HeatWave Lakehouse

Pour que HeatWave Lakehouse puisse accéder à Object Storage, vous devez définir une stratégie qui autorise le groupe dynamique à accéder aux buckets et à leur contenu.

Par exemple, la stratégie suivante accorde au groupe dynamique MYSQL_DG un accès en lecture seule aux buckets et aux objets contenus dans ces buckets dans le compartiment C8 :
Allow dynamic-group MYSQL_DG to read buckets in compartment C8
Allow dynamic-group MYSQL_DG to read objects in compartment C8

Définition d'une stratégie pour l'export des résultats de requête vers Object Storage

Pour autoriser HeatWave à exporter les résultats de requête vers Object Storage, la stratégie doit accorder des droits d'accès permettant de créer et de supprimer des objets dans le bucket vers le groupe dynamique.

Par exemple, la stratégie suivante accorde au groupe dynamique MYSQL_DG les droits d'accès permettant de créer, d'inspecter et de supprimer des objets dans n'importe quel bucket du compartiment C8 :
Allow dynamic-group MYSQL_DG to read buckets in compartment C8
Allow dynamic-group MYSQL_DG to manage objects in compartment C8 where 
  any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT', 
       request.permission='OBJECT_DELETE'}
Vous pouvez limiter les droits d'accès à un bucket spécifique. La stratégie suivante accorde au groupe dynamique MYSQL_DG les droits d'accès permettant de créer, d'inspecter et de supprimer des objets dans le bucket BucketA du compartiment C8 :
Allow dynamic-group MYSQL_DG to read buckets in compartment C8
Allow dynamic-group MYSQL_DG to manage objects in compartment C8 where 
  all {target.bucket.name='BucketA',
    any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT', 
         request.permission='OBJECT_DELETE'} }

Définition d'une stratégie pour l'accès au service OCI Generative AI

Pour que HeatWave GenAI utilise tous les modèles de base préentraînés disponibles dans OCI Generative AI, vous devez définir une stratégie qui autorise le groupe dynamique à accéder au service OCI Generative AI.

Par exemple, la stratégie suivante accorde au groupe dynamique MYSQL_DG l'accès au service OCI Generative AI dans le compartiment C8 :
Allow dynamic-group MYSQL_DG to use generative-ai-chat in compartment C8
Allow dynamic-group MYSQL_DG to use generative-ai-text-embedding in compartment C8
Remarque

L'utilisation d'OCI Generative AI sera mesurée et facturée sur le compartiment sélectionné.
Pour plus d'informations, reportez-vous à Ecriture de stratégies pour les groupes dynamiques.