Principales de recurso

Los sistemas de base de datos pueden utilizar principales de recursos para autenticar otros recursos de Oracle Cloud Infrastructure y acceder a ellos. Para utilizar principales de recursos, el usuario o el administrador de arrendamiento deben definir las políticas y los grupos dinámicos de Oracle Cloud Infrastructure que permiten a los principales acceder a los recursos de Oracle Cloud Infrastructure.

La entidad de recurso se utiliza en las siguientes funciones del servicio HeatWave:

  • Traiga su propio certificado: permite a los sistemas de base de datos leer los certificados definidos en el servicio de certificados de Oracle Cloud Infrastructure (OCI).
  • Grupos de seguridad de red: permite a los sistemas de base de datos o a las réplicas de lectura utilizar las reglas de seguridad de red especificadas en uno o más grupos de seguridad de red.
  • HeatWave Lakehouse: permite a los sistemas de base de datos leer datos de Object Storage.
  • Exportación de resultados de consulta a Object Storage: permite al servicio HeatWave exportar resultados de consulta a Object Storage.
  • Acceso al servicio OCI Generative AI: permite a HeatWave GenAI utilizar cualquier modelo básico preentrenado disponible en OCI Generative AI Service.

Las entidades de recurso tienen dos componentes:

Grupos dinámicos

Los grupos dinámicos permiten agrupar sistemas de base de datos de servicio HeatWave como actores principales, de forma similar a los grupos de usuarios.

A continuación, puede crear políticas para permitir que los sistemas de base de datos de los grupos dinámicos realicen llamadas de API a los servicios de Oracle Cloud Infrastructure, como certificados o almacenamiento de objetos. La pertenencia al grupo viene determinada por un conjunto de criterios definidos, denominados reglas de coincidencia.

En el siguiente ejemplo se muestra una regla de coincidencia que incluye todos los sistemas de base de datos del compartimento definido:
"ALL{resource.type='mysqldbsystem', resource.compartment.id = 'ocid1.compartment.oc1..alphanumericString'}"

Para obtener más información, consulte Escritura de reglas de coincidencia para definir grupos dinámicos.

Los grupos dinámicos necesitan un nombre, una descripción y una regla de coincidencia. Consulte Creación de un grupo dinámico.

Políticas

Las políticas definen lo que los grupos o grupos dinámicos pueden y no pueden hacer.

Definición de una política para traer su propio certificado

Para que los sistemas de base de datos accedan a los certificados desde el servicio Certificates, debe definir una política que permita al grupo dinámico leer los certificados.

Por ejemplo, la siguiente política otorga al grupo dinámico MYSQL_DG la lectura de los certificados de seguridad en el compartimento C8:
Allow dynamic-group MYSQL_DG to read leaf-certificate-family in compartment C8

Definición de una política para grupos de seguridad de red

Para agregar grupos de seguridad de red a sistemas de base de datos o réplicas de lectura, debe definir una política que permita al grupo dinámico utilizar los siguientes permisos:
  • NETWORK_SECURITY_GROUP_UPDATE_MEMBERS en el compartimento que contiene los grupos de seguridad de red
  • VNIC_CREATE, VNIC_UPDATE, VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP, VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP, VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP en el compartimento de la subred del sistema de base de datos.
Por ejemplo, las siguientes políticas otorgan al grupo dinámico MYSQL_DG los permisos necesarios para utilizar los grupos de seguridad de red en el compartimento C8 con la subred del sistema de base de datos en el compartimento 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
También puede crear las siguientes políticas que incorporan los principales sin utilizar un grupo dinámico:
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'}

Definición de una política para HeatWave Lakehouse

Para que HeatWave Lakehouse acceda a Object Storage, debe definir una política que permita al grupo dinámico acceder a los cubos y su contenido.

Por ejemplo, la siguiente política otorga al grupo dinámico acceso de solo lectura MYSQL_DG a los cubos y objetos incluidos en esos cubos del compartimento C8:
Allow dynamic-group MYSQL_DG to read buckets in compartment C8
Allow dynamic-group MYSQL_DG to read objects in compartment C8

Definición de una política para exportar resultados de consultas a Object Storage

Para permitir que HeatWave exporte los resultados de la consulta a Object Storage, la política debe otorgar permisos para crear y suprimir objetos del cubo en el grupo dinámico.

Por ejemplo, la siguiente política otorga al grupo dinámico MYSQL_DG permisos para crear, inspeccionar y suprimir objetos en cualquier cubo del compartimento 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'}
Puede restringir los permisos a un cubo específico. La siguiente política otorga al grupo dinámico MYSQL_DG permisos para crear, inspeccionar y suprimir objetos en el cubo BucketA del compartimento 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'} }

Definición de una política para acceder al servicio OCI Generative AI

Para que HeatWave GenAI utilice cualquier modelo básico previamente entrenado disponible en OCI Generative AI, debe definir una política que permita al grupo dinámico acceder al servicio OCI Generative AI.

Por ejemplo, la siguiente política otorga al grupo dinámico MYSQL_DG acceso al servicio OCI Generative AI en el compartimento 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
Nota

El uso de OCI Generative AI se medirá y facturará en el compartimento seleccionado.
Para obtener más información, consulte Escritura de políticas para grupos dinámicos.