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 角色,才能使用此套裝軟體。
資料目錄使用者
-
已同步的使用者 / 綱要
同步的外部表格會組織成與「資料資產 / 儲存桶」組合對應的資料庫綱要,或根據使用者設定的自訂特性。同步的綱要會在資料目錄同步期間自動建立 / 刪除。它們建立為沒有
CREATE SESSION權限的認證使用者。同步的綱要也使用受保護的子句建立,因此本機使用者 (甚至不是 PDB 管理員) 無法更改它們,而且只能透過同步來修改。 -
使用者
dcat_admin使用者
dcat_admin是本機資料庫使用者,可執行同步,並將同步表格上的READ權限授予其他使用者或角色。使用者是以沒有CREATE SESSION權限的認證使用者身分建立。 -
Local users - 本機使用者
查詢外部表格的資料庫使用者必須由使用者
dcat_admin或 ADMIN 明確授予已同步外部表格的READ權限。依照預設,同步完成後,只有dcat_admin和ADMIN使用者可以存取同步的外部表格。
資料目錄角色
-
dcat_syncdcat_sync角色具有使用DBMS_DCAT套裝程式所需的所有權限。使用者必須具備此角色,才能使用 API 瀏覽資料目錄並執行同步。
必要的證明資料和 IAM 原則
本主題描述授予「自治式 AI 資料庫」使用者管理資料目錄和從物件儲存讀取權限所需的 Oracle Cloud Infrastructure Identity and Access Management (IAM) 使用者證明資料和原則。
OCI 資料目錄證明資料和原則需求:
-
必須要有具備管理「資料目錄」執行處理權限的證明資料物件。支援包含 OCI 原生認證的證明資料物件。不支援以認證權杖使用者主體和資源主體證明資料為基礎的證明資料物件。
如需管理證明資料的資訊,請參閱 DBMS_CLOUD for Access Management 。
如需 OCI 原生認證範例,請參閱範例:建立 OCI 原生認證證明資料物件和使用 OCI 原生認證存取物件儲存的 Autonomous AI Database Now Supports 。
-
若要讓自治式 AI 資料庫將自訂特性新增至資料目錄命名空間,必須具備管理資料目錄權限。這些權限可讓您覆寫綱要名稱、表格名稱、資料欄名稱等。
如需「資料目錄」權限的進一步資訊,請參閱每個 API 作業需要的權限。
-
必須具備儲存桶的讀取物件儲存權限,自治式 AI 資料庫才能查詢資料檔。
如需進一步的 Oracle Object Storage 原則範例,請參閱原則範例。
AWS Glue 資料目錄證明資料和原則需求
必須提供下列使用者證明資料和原則,讓自治式 AI 資料庫使用者能夠存取 Amazon Web Services (AWS) Glue 資料目錄,以及從 S3 物件儲存讀取:
-
必須要有具備存取 AWS Glue 資料目錄之權限的證明資料物件。如需管理證明資料的資訊,請參閱 DBMS_CLOUD for Access Management 。
若要存取 AWS Glue 資料目錄,必須具備下列權限:glue:GetDatabases、glue:GetTables 以及 glue:GetTable。
此外,同步化期間需要 s3:GetBucketLocation 權限,才能產生指向基礎 S3 物件的可解析 https URL。
-
必須要有具備存取 S3 中所儲存檔案權限的證明資料物件,自治式 AI 資料庫才能查詢資料檔。
-
支援 AWS 證明資料。不支援 AWS Amazon 資源名稱 (ARN) 證明資料。
範例:建立 OCI 原生認證證明資料物件
在此範例中,我們建立可在建立資料目錄或物件存放區證明資料物件時使用的 OCI 原生認證證明資料。如需詳細資訊,請參閱 DBMS_DCAT。SET_DATA_CATALOG_CREDENTIAL 程序和 DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL 程序分別。
在 OCI 原生認證中,DBMS_CLOUD.CREATE_CREDENTIAL 程序包含下列參數:credential_name、user_ocid、tenancy_ocid、private_key 和 fingerprint。如需此程序的完整描述,請參閱 DBMS_CLOUD CREATE_CREDENTIAL Procedure 。
credential_name 是證明資料物件的名稱。user_ocid 和 tenancy_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 Key 與 How 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 中的物件存放區讀取的權限。
-
允許身為
adb-admins成員的使用者管理mycompartment內的所有資料目錄。allow group adb-admins to manage data-catalog-family in compartment mycompartment -
允許身為
adb-admins成員的使用者讀取mycompartment內任何儲存桶中的任何物件。allow group adb-admins to read objects in compartment mycompartment