DBMS_DCAT 套裝程式

DBMS_DCAT 套裝程式提供的功能和程序可協助自治式 AI 資料庫使用者運用 OCI 資料目錄的資料尋找和集中式描述資料管理系統。

注意:從版本 19.30 開始,Oracle AI Database 19c 以及從版本 23.26.1 開始的 Autonomous AI Database 26ai 中提供 DBMS_DCAT 支援。

資料目錄會從資料湖的物件儲存資產收集描述資料。收集處理作業會建立邏輯實體,可視為具有資料欄和相關資料類型的表格。DBMS_DCAT 程序和函數可將 Autonomous AI Database 連線至資料目錄,然後將資產與資料庫同步,以建立受保護的綱要和外部表格。接著,您可以使用這些外部表格查詢物件存放區,輕鬆結合外部資料與儲存在 Autonomous AI Database 中的資料。這可大幅簡化管理程序;在多個 OCI 服務 (包括自治式 AI 資料庫) 之間共用單一集中管理的描述資料存放區。此外,還有 Autonomous AI Database 字典視觀表,可讓您使用 SQL 檢查資料目錄的內容,並向您展示這些資料目錄實體如何對應至您的 Autonomous AI Database 綱要和表格。

資料目錄使用者和角色

DBMS_DCAT 套裝程式支援同步的使用者 / 綱要、dcat_admin 使用者和本機使用者。使用者必須具備 dcat_sync 角色,才能使用此套裝軟體。

資料目錄使用者

資料目錄角色

必要的證明資料和 IAM 原則

本主題描述授予「自治式 AI 資料庫」使用者管理資料目錄和從物件儲存讀取權限所需的 Oracle Cloud Infrastructure Identity and Access Management (IAM) 使用者證明資料和原則。

OCI 資料目錄證明資料和原則需求:

AWS Glue 資料目錄證明資料和原則需求

必須提供下列使用者證明資料和原則,讓自治式 AI 資料庫使用者能夠存取 Amazon Web Services (AWS) Glue 資料目錄,以及從 S3 物件儲存讀取:

範例:建立 OCI 原生認證證明資料物件

在此範例中,我們建立可在建立資料目錄或物件存放區證明資料物件時使用的 OCI 原生認證證明資料。如需詳細資訊,請參閱 DBMS_DCAT。SET_DATA_CATALOG_CREDENTIAL 程序和 DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL 程序分別。

在 OCI 原生認證中,DBMS_CLOUD.CREATE_CREDENTIAL 程序包含下列參數:credential_nameuser_ocidtenancy_ocidprivate_keyfingerprint。如需此程序的完整描述,請參閱 DBMS_CLOUD CREATE_CREDENTIAL Procedure

credential_name 是證明資料物件的名稱。user_ocidtenancy_ocid 參數會分別對應至使用者和租用戶的 OCID。

private_key 參數會以 PEM 格式指定產生的私密金鑰。不支援使用密碼詞組建立的私密金鑰。因此,我們需要確定產生沒有密碼詞組的金鑰。請參閱 How to Generate an API Signing Key ,瞭解如何建立不含密碼詞組之私密金鑰的詳細資訊。此外,我們為此參數提供的私密金鑰只能包含不含任何標頭或頁尾的金鑰本身 (例如 「— BEGIN RSA PRIVATE KEY —–」、「—– END RSA PRIVATE KEY —–」)。

fingerprint 參數會指定在將公開金鑰上傳至主控台或使用 OpenSSL 命令之後取得的指紋。如需取得指紋的進一步詳細資訊,請參閱 How to Upload the Public KeyHow to Get the Key's Fingerprint

收集所有必要資訊並產生私密金鑰之後,我們就可以執行下列 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;
/

建立證明資料物件之後,它會顯示在 dba_credentials 表格中:

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

範例:使用使用者主參與者

在此範例中,user1 是群組 adb-admins 的成員。此群組的所有成員都被授予管理 mycompartment 中所有資料目錄以及從 mycompartment 中的物件存放區讀取的權限。

  1. 允許身為 adb-admins 成員的使用者管理 mycompartment 內的所有資料目錄。

     allow group adb-admins to manage data-catalog-family in compartment mycompartment
    
  2. 允許身為 adb-admins 成員的使用者讀取 mycompartment 內任何儲存桶中的任何物件。

     allow group adb-admins to read objects in compartment mycompartment