Ensemble DBMS_DCAT
L'ensemble DBMS_DCAT fournit des fonctions et des procédures pour aider les utilisateurs de base de données Autonomous AI Database à tirer parti de la détection de données et du système de gestion centralisée des métadonnées du catalogue de données OCI.
Note : La prise en charge de DBMS_DCAT est disponible dans Oracle AI Database 19c à partir de la version 19.30 et dans Autonomous AI Database 26ai à partir de la version 23.26.1.
Le catalogue de données collecte les métadonnées à partir des ressources de stockage d'objets d'un lac de données. Le processus de collecte crée des entités logiques, qui peuvent être considérées comme des tables avec des colonnes et des types de données associés. Les procédures et fonctions DBMS_DCAT connectent la base de données de l'IA autonome au catalogue de données, puis synchronisent les ressources avec la base de données, créant des schémas protégés et des tables externes. Vous pouvez ensuite interroger le magasin d'objets à l'aide de ces tables externes, en joignant facilement des données externes aux données stockées dans Autonomous AI Database. Cela simplifie considérablement le processus de gestion. Il existe un seul magasin de métadonnées géré de manière centralisée qui est partagé par plusieurs services OCI (y compris les bases de données autonomes d'IA). Il existe également des vues du dictionnaire Autonomous AI Database qui vous permettent d'inspecter le contenu du catalogue de données à l'aide de SQL et de vous montrer comment ces entités de catalogue de données sont mappées à vos schémas et tables de base de données Autonomous AI Database.
Utilisateurs et rôles du catalogue de données
L'ensemble DBMS_DCAT prend en charge les utilisateurs/schémas synchronisés, les utilisateurs dcat_admin et les utilisateurs locaux. Les utilisateurs doivent avoir le rôle dcat_sync pour pouvoir utiliser cet ensemble.
Utilisateurs du catalogue de données
-
Utilisateurs/schémas synchronisés
Les tables externes synchronisées sont organisées en schémas de base de données correspondant aux combinaisons ressource de données/seau, ou selon les propriétés personnalisées définies par l'utilisateur. Les schémas synchronisés sont automatiquement créés/supprimés lors de la synchronisation du catalogue de données. Ils sont créés en tant qu'utilisateurs d'authentification sans le privilège
CREATE SESSION. Les schémas synchronisés sont également créés à l'aide de la clause protégée, de sorte qu'ils ne peuvent pas être modifiés par les utilisateurs locaux (pas même l'administrateur de la base de données enfichable) et ne peuvent être modifiés que par la synchronisation. -
Utilisateur
dcat_adminL'utilisateur
dcat_adminest un utilisateur de base de données local qui peut exécuter une synchronisation et accorder le privilègeREADsur les tables synchronisées à d'autres utilisateurs ou rôles. L'utilisateur est créé en tant qu'utilisateur sans authentification sans le privilègeCREATE SESSION. -
Utilisateurs locaux
Les utilisateurs de base de données qui interrogent les tables externes doivent disposer explicitement des privilèges
READsur les tables externes synchronisées par les utilisateursdcat_adminou ADMIN. Par défaut, une fois la synchronisation terminée, seuls les utilisateursdcat_adminetADMINont accès aux tables externes synchronisées.
Rôles du catalogue de données
-
dcat_syncLe rôle
dcat_syncdispose de tous les privilèges requis pour utiliser l'ensembleDBMS_DCAT. Les utilisateurs doivent avoir ce rôle pour pouvoir utiliser l'API pour naviguer dans le catalogue de données et exécuter la synchronisation.
Données d'identification requises et politiques IAM
Cette rubrique décrit les données d'identification et les politiques d'utilisateur d'Oracle Cloud Infrastructure Identity and Access Management (IAM) requises pour accorder aux utilisateurs de la base de données d'intelligence artificielle autonome l'autorisation de gérer un catalogue de données et d'effectuer des lectures à partir du stockage d'objets.
Exigences en matière de données d'identification et de politique pour le catalogue de données OCI :
-
Un objet de données d'identification autorisé à gérer une instance de catalogue de données est requis. Les objets de données d'identification contenant l'authentification native OCI sont pris en charge. Les objets de données d'identification basés sur les principaux d'utilisateur du jeton d'authentification et les données d'identification des principaux de ressource ne sont pas pris en charge.
Pour plus d'informations sur la gestion des données d'identification, voir DBMS_CLOUD for Access Management.
Pour des exemples d'authentification native OCI, voir Exemple : Création d'un objet de données d'identification pour l'authentification native OCI et La base de données autonome d'IA prend désormais en charge l'accès au stockage d'objets avec l'authentification native OCI.
-
Le privilège de gestion du catalogue de données est requis pour permettre à la base de données d'intelligence artificielle autonome d'ajouter des propriétés personnalisées à l'espace de noms du catalogue de données. Ces privilèges vous permettent de remplacer les noms de schéma, de table, de colonne, etc.
Pour plus d'informations sur les autorisations du catalogue de données, voir Autorisations requises pour chaque opération d'API.
-
Le privilège de lecture du stockage d'objets sur les seaux est requis pour permettre à Autonomous AI Database d'interroger des fichiers de données.
Pour d'autres exemples de politique de stockage d'objets Oracle, voir Exemples de politique.
Exigences relatives aux données d'identification et aux politiques du catalogue de données AWS Glue
Les données d'identification et les politiques d'utilisateur suivantes sont requises pour permettre aux utilisateurs d'Autonomous AI Database d'accéder aux catalogues de données de colle Amazon Web Services (AWS) et de lire à partir du stockage d'objets S3 :
-
Un objet de données d'identification avec l'autorisation d'accéder à un catalogue de données AWS Glue est requis. Pour plus d'informations sur la gestion des données d'identification, voir DBMS_CLOUD for Access Management.
Pour accéder à un catalogue de données AWS Glue, les privilèges suivants sont requis : colle:GetDatabases , colle:GetTables et colle:GetTable.
En outre, le privilège s3:GetBucketLocation est nécessaire lors de la synchronisation pour générer des URL https résolubles pointant vers les objets S3 sous-jacents.
-
Un objet de données d'identification autorisé à accéder aux fichiers stockés dans S3 est requis pour permettre à Autonomous AI Database d'interroger les fichiers de données.
-
Les données d'identification AWS sont prises en charge. Les données d'identification AWS Amazon Resource Names (ARN) ne sont pas prises en charge.
Exemple : Création d'un objet de données d'identification pour l'authentification native OCI
Dans cet exemple, nous créons des données d'identification pour l'authentification native OCI qui peuvent être utilisées lors de la création d'un catalogue de données ou d'un objet de données d'identification de magasin d'objets. Pour plus de détails, voir DBMS_DCAT. Procédure SET_DATA_CATALOG_CREDENTIAL et procédure DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL respectivement.
Dans l'authentification native OCI, la procédure DBMS_CLOUD.CREATE_CREDENTIAL inclut les paramètres suivants : credential_name, user_ocid, tenancy_ocid, private_key et fingerprint. Voir Procédure DBMS_CLOUD CREATE_CREDENTIAL pour une description complète de cette procédure.
credential_name est le nom de l'objet de données d'identification. Les paramètres user_ocid et tenancy_ocid correspondent respectivement aux OCID de l'utilisateur et de la location.
Le paramètre private_key spécifie la clé privée générée au format PEM. Les clés privées créées avec une phrase secrète ne sont pas prises en charge. Par conséquent, nous devons nous assurer de générer une clé sans phrase secrète. Voir Comment générer une clé de signature d'API pour plus de détails sur la création d'une clé privée sans phrase secrète. En outre, la clé privée que nous fournissons pour ce paramètre ne doit contenir que la clé elle-même sans en-tête ou pied de page (par exemple, '–BEGIN RSA PRIVATE KEY—–', '—–END RSA PRIVATE KEY—–').
Le paramètre fingerprint spécifie l'empreinte numérique obtenue après le chargement de la clé publique dans la console ou à l'aide des commandes OpenSSL. Pour plus de détails sur l'obtention de l'empreinte digitale, voir Comment charger la clé publique et Comment obtenir l'empreinte digitale de la clé.
Une fois que toutes les informations nécessaires sont collectées et que la clé privée est générée, nous sommes prêts à exécuter la procédure CREATE_CREDENTIAL suivante :
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;
/
Après avoir créé l'objet de données d'identification, il s'affiche dans la table dba_credentials :
SELECT owner, credential_name
FROM dba_credentials
WHERE credential_name LIKE '%NATIVE%';
OWNER CREDENTIAL_NAME
----- ---------------
ADMIN OCI_NATIVE_CRED
Exemple : Utilisation des principaux d'utilisateur
Dans cet exemple, user1 est membre du groupe adb-admins. Tous les membres de ce groupe sont autorisés à gérer tous les catalogues de données dans mycompartment et à lire à partir du magasin d'objets dans mycompartment.
-
Autoriser les utilisateurs membres de
adb-adminsà gérer tous les catalogues de données dansmycompartment.allow group adb-admins to manage data-catalog-family in compartment mycompartment -
Autoriser les utilisateurs qui sont membres de
adb-adminsà lire n'importe quel objet dans n'importe quel seau dansmycompartment.allow group adb-admins to read objects in compartment mycompartment