Pacote DBMS_DCAT

O pacote DBMS_DCAT fornece funções e procedimentos para ajudar os usuários do Autonomous AI Database a aproveitar o sistema de descoberta de dados e gerenciamento de metadados centralizado do OCI Data Catalog.

Observação: O suporte a DBMS_DCAT está disponível no Oracle AI Database 19c a partir da versão 19.30 e no Autonomous AI Database 26ai a partir da versão 23.26.1.

O serviço Data Catalog coleta metadados de ativos de armazenamento de objetos de um data lake. O processo de coleta cria entidades lógicas, que podem ser consideradas como tabelas com colunas e tipos de dados associados. Os procedimentos e funções do DBMS_DCAT conectam o Autonomous AI Database ao serviço Data Catalog e sincronizam os ativos com o banco de dados, criando esquemas protegidos e tabelas externas. Em seguida, você pode consultar o armazenamento de objetos usando essas tabelas externas, unindo facilmente dados externos aos dados armazenados no Autonomous AI Database. Isso simplifica drasticamente o processo de gerenciamento; há um único armazenamento de metadados gerenciado centralmente que é compartilhado em vários serviços da OCI (incluindo Autonomous AI Databases). Há também views de dicionário do Autonomous AI Database que permitem inspecionar o conteúdo do serviço Data Catalog usando SQL e mostrar como essas entidades do serviço Data Catalog são mapeadas para seus esquemas e tabelas do Autonomous AI Database.

Usuários e Atribuições do Serviço Data Catalog

O pacote DBMS_DCAT suporta usuários/esquemas sincronizados, usuários dcat_admin e usuários locais. Os usuários devem ter a atribuição dcat_sync para poder usar este pacote.

Usuários do Data Catalog

Funções do Serviço Data Catalog

Credenciais e Políticas de IAM Obrigatórias

Este tópico descreve as credenciais de usuário e as políticas do Oracle Cloud Infrastructure Identity and Access Management (IAM) necessárias para conceder aos usuários do Autonomous AI Database permissão para gerenciar um catálogo de dados e ler no armazenamento de objetos.

Requisitos de Credencial e Política do OCI Data Catalog:

Credencial do catálogo de dados do AWS Glue e requisitos de política

As seguintes credenciais e políticas de usuário são necessárias para conceder aos usuários do Autonomous AI Database permissão para acessar Catálogos de Dados de Colagem do Amazon Web Services (AWS) e ler no armazenamento de objetos S3:

Exemplo: Criando um Objeto de Credencial de Autenticação Nativa do OCI

Neste exemplo, criamos uma credencial de autenticação nativa do OCI que pode ser usada ao criar um catálogo de dados ou um objeto de credencial de armazenamento de objetos. Para obter mais detalhes, consulte DBMS_DCAT. SET_DATA_CATALOG_CREDENTIAL Procedimento e Procedimento DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL respectivamente.

Na autenticação nativa do OCI, o procedimento DBMS_CLOUD.CREATE_CREDENTIAL inclui estes parâmetros: credential_name, user_ocid, tenancy_ocid, private_key e fingerprint. Consulte Procedimento DBMS_CLOUD CREATE_CREDENTIAL para obter uma descrição completa desse procedimento.

O credential_name é o nome do objeto da credencial. Os parâmetros user_ocid e tenancy_ocid correspondem aos OCIDs do usuário e da tenancy, respectivamente.

O parâmetro private_key especifica a chave privada gerada no formato PEM. Não há suporte a chaves privadas criadas com uma frase-senha. Portanto, precisamos nos certificar de gerar uma chave sem frase-senha. Consulte Como Gerar uma Chave de Assinatura de API para obter mais detalhes sobre como criar uma chave privada sem frase-senha. Além disso, a chave privada que fornecemos para esse parâmetro só deve conter a chave em si sem qualquer cabeçalho ou rodapé (por exemplo, '—–BEGIN RSA PRIVATE KEY—–', '–END RSA PRIVATE KEY—–).

O parâmetro fingerprint especifica a impressão digital obtida após o upload da chave pública para a console ou usando os comandos OpenSSL. Consulte Como Fazer Upload da Chave Pública e Como Obter a Impressão Digital da Chave para obter mais detalhes sobre como obter a impressão digital.

Assim que todas as informações necessárias forem reunidas e a chave privada for gerada, estaremos prontos para executar o seguinte procedimento CREATE_CREDENTIAL:

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL (
    credential_name => 'OCI_NATIVE_CRED',
    user_ocid              => 'ocid1.user.oc1..aaaaaaaatfn77fe3fxux3o5lego7glqjejrzjsqsrs64f4jsjrhbsk5qzndq',
    tenancy_ocid           => 'ocid1.tenancy.oc1..aaaaaaaapwkfqz3upqklvmelbm3j77nn3y7uqmlsod75rea5zmtmbl574ve6a',
    private_key            => 'MIIEogIBAAKCAQEA...t9SH7Zx7a5iV7QZJS5WeFLMUEv+YbYAjnXK+dOnPQtkhOblQwCEY3Hsblj7Xz7o=',
    fingerprint            => '4f:0c:d6:b7:f2:43:3c:08:df:62:e3:b2:27:2e:3c:7a');
END;
/

Depois de criar o objeto de credencial, ele é exibido na tabela dba_credentials:

SELECT owner, credential_name
FROM dba_credentials
WHERE credential_name LIKE '%NATIVE%';
OWNER CREDENTIAL_NAME
----- ---------------
ADMIN OCI_NATIVE_CRED

Exemplo: Usando Principais do Usuário

Neste exemplo, user1 é membro do grupo adb-admins. Todos os membros desse grupo recebem permissão para gerenciar todos os catálogos de dados no mycompartment e para ler no armazenamento de objetos no mycompartment.

  1. Permita que os usuários que são membros do adb-admins gerenciem todos os catálogos de dados no mycompartment.

     allow group adb-admins to manage data-catalog-family in compartment mycompartment
    
  2. Permita que os usuários que são membros do adb-admins leiam qualquer objeto em qualquer bucket dentro do mycompartment.

     allow group adb-admins to read objects in compartment mycompartment