Principais de Recursos

Os sistemas de banco de dados podem usar controladores de recursos para autenticar e acessar outros recursos do Oracle Cloud Infrastructure. Para usar controladores de recursos, você ou o administrador da tenancy deve definir as políticas e os grupos dinâmicos do Oracle Cloud Infrastructure que permitam aos controladores acessar recursos do Oracle Cloud Infrastructure.

O controlador de recursos é usado nos seguintes recursos do Serviço HeatWave:

  • Traga seu próprio certificado: Permite que os sistemas de banco de dados leiam os certificados definidos no Serviço de Certificados do OCI (Oracle Cloud Infrastructure).
  • Grupos de Segurança de Rede: Permite que sistemas de BD ou réplicas de leitura usem regras de segurança de rede especificadas em um ou mais grupos de segurança de rede.
  • HeatWave Lakehouse: Permite que os sistemas de banco de dados leiam dados do serviço Object Storage.
  • Exportando resultados da consulta para o Object Storage: Permite que o serviço HeatWave exporte resultados da consulta para o Object Storage.
  • Acessando o Serviço OCI Generative AI: Permite que o HeatWave GenAI use quaisquer modelos básicos pré-treinados disponíveis no Serviço OCI Generative AI.

Os controladores de recursos têm dois componentes:

Grupos Dinâmicos

Os grupos dinâmicos permitem que você agrupe sistemas de BD de Serviço HeatWave como atores principais, semelhantes aos grupos de usuários.

Em seguida, você pode criar políticas para permitir que sistemas de BD nos grupos dinâmicos façam chamadas de API em serviços do Oracle Cloud Infrastructure, como Certificados ou Armazenamento de Objetos. A associação ao grupo é determinada por um conjunto de critérios que você define, chamados de regras de correspondência.

O exemplo a seguir mostra uma regra de correspondência que inclui todos os sistemas de banco de dados no compartimento definido:
"ALL{resource.type='mysqldbsystem', resource.compartment.id = 'ocid1.compartment.oc1..alphanumericString'}"

Para obter mais informações, consulte Gravando Regras de Correspondência para Definir Grupos Dinâmicos.

Os grupos dinâmicos exigem um nome, uma descrição e uma regra de correspondência. Consulte Criando um Grupo Dinâmico.

Políticas

As políticas definem o que seus grupos ou grupos dinâmicos podem e não podem fazer.

Definindo uma Política para Trazer Seu Próprio Certificado

Para que os sistemas de banco de dados acessem certificados do Serviço Certificates, você deve definir uma política que permita ao grupo dinâmico ler os certificados.

Por exemplo, a seguinte política concede ao grupo dinâmico MYSQL_DG para ler os certificados de segurança no compartimento C8:
Allow dynamic-group MYSQL_DG to read leaf-certificate-family in compartment C8

Definindo uma Política para Grupos de Segurança de Rede

Para adicionar Grupos de Segurança de Rede a sistemas de BD ou réplicas de leitura, você deve definir uma política que permita ao grupo dinâmico usar as seguintes permissões:
  • NETWORK_SECURITY_GROUP_UPDATE_MEMBERS no compartimento que contém os Grupos de Segurança de Rede
  • VNIC_CREATE, VNIC_UPDATE, VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP, VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP e VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP no compartimento da sub-rede do sistema de banco de dados.
Por exemplo, as políticas a seguir concedem ao grupo dinâmico MYSQL_DG as permissões necessárias para usar os Grupos de Segurança de Rede no compartimento C8 com a sub-rede do sistema de BD no 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
Como alternativa, você pode criar as seguintes políticas que incorporam os principais sem usar um 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'}

Definindo uma Política para o Lakehouse HeatWave

Para que o Lakehouse HeatWave acesse o serviço Object Storage, você deve definir uma política que permita ao grupo dinâmico acessar buckets e seu conteúdo.

Por exemplo, a política a seguir concede ao grupo dinâmico MYSQL_DG acesso somente para leitura aos buckets e objetos contidos nesses buckets no compartimento C8:
Allow dynamic-group MYSQL_DG to read buckets in compartment C8
Allow dynamic-group MYSQL_DG to read objects in compartment C8

Definindo uma Política para Exportar Resultados de Consulta para o Serviço Object Storage

Para permitir que HeatWave exporte resultados de consulta para o serviço Object Storage, a política deve conceder permissões para criar e excluir objetos no bucket para o grupo dinâmico.

Por exemplo, a política a seguir concede ao grupo dinâmico MYSQL_DG permissões para criar, inspecionar e excluir objetos em qualquer bucket do 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'}
Você pode restringir as permissões a um bucket específico. A política a seguir concede ao grupo dinâmico MYSQL_DG permissões para criar, inspecionar e excluir objetos no bucket BucketA no 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'} }

Definindo uma Política para Acessar o Serviço OCI Generative AI

Para que o HeatWave GenAI use qualquer modelo básico pré-treinado disponível no OCI Generative AI, você deve definir uma política que permita ao grupo dinâmico acessar o serviço OCI Generative AI.

Por exemplo, a política a seguir concede ao grupo dinâmico MYSQL_DG para acessar o serviço OCI Generative AI no 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
Observação

O uso da OCI Generative AI será medido e cobrado no compartimento selecionado.
Para obter mais informações, consulte Criando Políticas para Grupos Dinâmicos.