Notes de l'ensemble PL/SQL pour Autonomous AI Database
Notes pour les ensembles PL/SQL d'Oracle Database dans Autonomous AI Database.
Ensembles PL/SQL non disponibles
-
DBMS_DEBUG_JDWP -
DBMS_DEBUG_JDWP_CUSTOM
Notes de l'ensemble PL/SQL DBMS_LDAP
Fournit des notes pour l'ensemble DBMS_LDAP :
-
La spécification d'une adresse IP dans le nom d'hôte n'est pas autorisée.
-
Le seul port autorisé est 636.
-
Les arguments
SSLWRLetSSLWALLETPASSWDde la procédureOPEN_SSLsont ignorés. La valeur par défaut de la propriétéSSLWRLest réglée au portefeuille utilisé parUTL_HTTPetDBMS_CLOUDpour effectuer des demandes Web sortantes sur la base de données d'intelligence artificielle autonome. -
Les sous-programmes
DBMS_LDAP.SIMPLE_BIND_SetDBMS_LDAP.BIND_Seffectuent l'authentification sur le serveur de répertoire.Les sous-programmes
DBMS_LDAP.SIMPLE_BIND_SetDBMS_LDAP.BIND_Ssont modifiés pour accepter les objets de données d'identification en tant qu'argument.Les notes d'utilisation et les exemples de ces sous-programmes modifiés sont les suivants :
-
Les sous-programmes
SIMPLE_BIND_SetBIND_Smodifiés vous permettent de transmettre des objets de données d'identification pour définir l'authentification du serveur de répertoire. Les objets de données d'identification sont des objets de schéma. Par conséquent, ils ne sont accessibles que par des utilisateurs dotés de privilèges et vous permettent de configurer des privilèges au niveau du schéma pour contrôler les données d'identification. La transmission des données d'identification du programmateur est un moyen approprié et sécurisé de stocker et de gérer le nom d'utilisateur/mot de passe/clés pour l'authentification. -
Les sous-programmes
SIMPLE_BIND_SetBIND_Smodifiés sont une alternative sûre et pratique aux sous-programmesSIMPLE_BIND_SetBIND_Sexistants.Pour plus d'informations, voir FUNCTION simple_bind_s et FUNCTION bind_s.
-
L'argument
CREDENTIALdes fonctionsSIMPLE_BIND_SetBIND_Sest utilisé pour effectuer l'authentification basée sur des données d'identification au serveur de répertoire. -
Exemple :
-
Créez un objet de données d'identification :
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL ( credential_name => 'LDAP_CRED', username => 'web_app_user', password => 'password' ); END;Cela crée un objet de données d'identification qui crée une paire nom utilisateur/mot de passe stocké.
Pour plus d'informations, voir ProcédureCREATE_CREDENTIAL.
Pour plus d'informations, voir Spécification des données d'identification de la tâche du programmateur.
-
Appelez
DBMS_LDAP.SIMPLE_BIND_S:DECLARE l_mail_conn DBMS_LDAP.INIT; BEGIN l_ldap_conn := DBMS_LDAP.INIT('ldap.example.com', 636); l_auth_result := DBMS_LDAP.SIMPLE_BIND_S(l_ldap_conn, 'LDAP_CRED'); ... END;Le code de cet exemple appelle d'abord la fonction
DBMS_LDAP.INIT, qui initialise une session avec un serveur LDAP et établit une connexion avec le serveur LDAPldap.example.comau numéro de port636. La valeurl_ldap_conndans la fonctionSIMPLE_BIND_Sest l'indicateur de session LDAP etLDAP_CREDest le nom des données d'identification. -
function bind_seffectue une authentification complexe sur le serveur de répertoires. Exemple :DECLARE l_mail_conn DBMS_LDAP.INIT; BEGIN l_ldap_conn := DBMS_LDAP.INIT('ldap.example.com', 636); l_auth_result := DBMS_LDAP.BIND_S(l_ldap_conn, 'LDAP_CRED', METH => DBMS_LDAP.AUTH_SIMPLE); ... END;Le code de cet exemple appelle d'abord la fonction
DBMS_LDAP.INIT, qui initialise une session avec un serveur LDAP et établit une connexion avec le serveur LDAPldap.example.comau numéro de port636. La valeurl_ldap_conndans la fonctionBIND_Sest l'indicateur de session LDAP etLDAP_CREDest le nom des données d'identification.METHest la méthode d'authentification. La seule valeur valide estDBMS_LDAP_UTL.AUTH_SIMPLE.
-
-
Les privilèges
EXECUTEsurDBMS_CLOUDouDWROLEsont requis pour créer les données d'identification du programmateur. -
Les données d'identification transmises doivent être présentes dans le schéma courant ou avoir un synonyme pointant vers des données d'identification dans le schéma et être à l'état Activé.
-
Un synonyme public ou privé qui pointe vers des données d'identification dans un autre schéma d'utilisateur peut être fourni en tant que valeur pour le paramètre
CREDENTIALà condition que vous disposiez du privilègeEXECUTEsur l'objet de données d'identification de base pointé par le synonyme. Pour plus d'informations, voir Aperçu des synonymes.
-
-
SSL/TLS est appliqué pour toutes les communications qui se produisent entre le serveur LDAP et la base de données d'IA autonome.
-
Lorsque votre instance de base de données d'intelligence artificielle autonome est configurée avec un point d'extrémité privé, réglez le paramètre de base de données
ROUTE_OUTBOUND_CONNECTIONSà 'PRIVATE_ENDPOINT' pour spécifier que toutes les connexions LDAP sortantes sont soumises aux règles de trafic sortant du VCN de point d'extrémité privé de l'instance de base de données d'intelligence artificielle autonome. Pour plus d'informations, voir Sécurité améliorée pour les connexions sortantes à l'aide de points d'extrémité privés. -
Pour utiliser
DBMS_LDAPpour une connexion sur un point d'extrémité privé, utilisezDBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACEet spécifiez le paramètreprivate_targetavec la valeurTRUE.Note
Si vous réglezROUTE_OUTBOUND_CONNECTIONSàPRIVATE_ENDPOINT, le réglage du paramètreprivate_targetàTRUEn'est pas requis dans cette API. Pour plus d'informations, voir Sécurité améliorée pour les connexions sortantes avec des points d'extrémité privés. -
DBMS_LDAPErreurMessage d'erreur Cause potentielle ORA-31400: Missing or invalid scheduler credentialLes données d'identification transmises sont NULL ou non valides.
Pour plus d'informations, voir DBMS_LDAP dans Informations de référence sur les ensembles et les types PL/SQL.
Notes de l'ensemble PL/SQL DBMS_NETWORK_ACL_ADMIN
Fournit des notes pour l'ensemble DBMS_NETWORK_ACL_ADMIN :
-
L'octroi de privilèges de liste de contrôle d'accès sur les adresses IP n'est pas autorisé.
-
La liste de contrôle d'accès
HTTP_PROXYest autorisée sur les points d'extrémité privés.
Pour plus d'informations, voir DBMS_NETWORK_ACL_ADMIN dans Informations de référence sur les ensembles et les types PL/SQL.
Notes de l'ensemble DBMS_SCHEDULER
Fournit des notes pour l'ensemble DBMS_SCHEDULER.
Dans Autonomous AI Database, la procédure DBMS_SCHEDULER.CREATE_JOB prend en charge les types de tâche PLSQL_BLOCK et STORED_PROCEDURE pour le paramètre job_type.
En utilisant un job_type non pris en charge, vous pouvez voir des messages tels que :
ORA-27399: job type EXECUTABLE requires the CREATE EXTERNAL JOB privilege
ORA-27369: JOB OF TYPE EXECUTABLE FAILED WITH EXIT CODE: OPERATION NOT PERMITTED
Pour plus d'informations, voir Classes de travail prédéfinies avec Oracle Scheduler et DBMS_SCHEDULER .
Notes de l'ensemble PL/SQL UTL_HTTP
Fournit des notes pour l'ensemble UTL_HTTP :
-
Les connexions au moyen d'adresses IP ne sont pas autorisées.
-
Seul
HTTPSest autorisé lorsque l'instance de base de données du service d'intelligence artificielle autonome se trouve sur un point d'extrémité public. Lorsque l'instance de base de données de l'IA autonome se trouve sur un point d'extrémité privé, les connexionsHTTPSetHTTP_PROXYsont autorisées (les connexionsHTTPne sont pas autorisées pour les points d'extrémité publics et privés). -
L'API
UTL_HTTP.set_proxyest autorisée lorsque l'instance de base de données du service d'intelligence artificielle autonome se trouve sur un point d'extrémité privé. -
Lorsque l'instance de base de données du service d'intelligence artificielle autonome se trouve sur un point d'extrémité privé et que vous utilisez
HTTP_PROXYou l'APIUTL_HTTP.SET_PROXY:-
Les demandes
DBMS_CLOUDne respectent pas le serveur mandataire que vous avez défini avecUTL_HTTP.SET_PROXY. Cela inclutDBMS_CLOUD.SEND_REQUESTet tous les accès au stockage d'objets pour les tables externesDBMS_CLOUDque vous définissez avecDBMS_CLOUD.CREATE_EXTERNAL_TABLE,DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEouDBMS_CLOUD.CREATE_HYBRID_PART_TABLE. -
Les demandes
APEX_WEB_SERVICEne respectent pas le serveur mandataire que vous avez défini avecUTL_HTTP.SET_PROXY.
-
-
Tous les services Web doivent être sécurisés. Le seul port autorisé est 443 lorsque l'instance de base de données Autonomous AI Database se trouve sur un point d'extrémité public. Lorsque l'instance de base de données Autonomous AI Database se trouve sur un point d'extrémité privé, cette restriction ne s'applique pas.
Votre instance de base de données Autonomous AI Database est préconfigurée avec un portefeuille Oracle Wallet qui contient plus de 90 des certificats SSL racines et intermédiaires les plus couramment approuvés. Oracle Wallet est géré de manière centralisée. Vous pouvez configurer
UTL_HTTPpour utiliser un portefeuille pour un site protégé à l'aide de certificats SSL auto-signés. Pour plus d'informations, voir Utiliser un portefeuille géré par le client pour les appels externes avec UTL_HTTP. -
La procédure
SET_AUTHENTICATION_FROM_WALLETn'est pas autorisée. -
Les arguments
WALLET_PATHetWALLET_PASSWORDpour les procéduresCREATE_REQUEST_CONTEXT,REQUESTetREQUEST_PIECESsont ignorés. -
L'argument
CREDENTIALde la procédureSET_CREDENTIALest utilisé pour transmettre l'objet de données d'identification en tant qu'entrée à la procédure. Pour plus d'informations, voir Spécification des données d'identification de la tâche du programmateur et Procédure CREATE_CREDENTIAL. -
Les privilèges
EXECUTEsurDBMS_CLOUDouDWROLEsont requis pour créer des objets de données d'identification. -
Les données d'identification transmises doivent être présentes dans le schéma de l'utilisateur courant et être à l'état Activé.
-
Un synonyme public ou privé qui pointe vers des données d'identification dans un autre schéma d'utilisateur peut être fourni en tant que valeur pour le paramètre
CREDENTIALà condition que vous disposiez du privilègeEXECUTEsur l'objet de données d'identification de base pointé par le synonyme. Pour plus d'informations, voir Aperçu des synonymes. -
La configuration d'Oracle Wallet ne peut pas être modifiée. Tous les arguments de la procédure
SET_WALLETsont ignorés. -
Lorsque votre instance de base de données d'intelligence artificielle autonome est configurée avec un point d'extrémité privé, réglez le paramètre de base de données
ROUTE_OUTBOUND_CONNECTIONSà 'PRIVATE_ENDPOINT' pour spécifier que toutes les connexionsUTL_HTTPsortantes sont soumises aux règles de trafic sortant du point d'extrémité privé du VCN de l'instance de base de données d'intelligence artificielle autonome. Pour plus d'informations, voir Sécurité améliorée pour les connexions sortantes à l'aide de points d'extrémité privés. -
UTL_HTTPErreursLe tableau suivant présente les messages d'erreur et les causes possibles de ces messages d'erreur lors de l'utilisation de
UTL_HTTP:Message d'erreur Cause potentielle ORA-12545: Connect failed because target host or object does not existL'hôte ou l'objet cible n'existe pas ou il est privé.
ORA-24247: network access denied by access control list (ACL)La liste de contrôle d'accès (LCA) pour l'hôte spécifié est introuvable.
ORA-29024: Certificate validation failureLe certificat de l'hôte n'existe pas ou ne figure pas parmi les certificats pris en charge.
ORA-29261: Bad argumentLes données d'identification transmises ne sont pas valides ou sont désactivées ou l'utilisateur ne dispose pas de privilèges suffisants sur les données d'identification.
Pour plus d'informations, voir UTL_HTTP dans Informations de référence sur les ensembles et les types PL/SQL.
Notes de l'ensemble PL/SQL UTL_INADDR
Fournit des notes pour l'ensemble UTL_INADDR :
-
L'ensemble
UTL_INADDRpeut être utilisé sur une instance de base de données autonome avec un point d'extrémité privé. -
La fonction
GET_HOST_ADDRESSest disponible. -
La fonction
GET_HOST_NAMEn'est pas disponible.
Pour plus d'informations, voir UTL_INADDR dans Informations de référence sur les ensembles et les types PL/SQL.
Notes de l'ensemble PL/SQL UTL_SMTP
Fournit des notes pour l'ensemble UTL_SMTP :
-
Les points d'extrémité SMTP publics peuvent être utilisés tant que l'acheminement est effectué au moyen du point d'extrémité de connexion inverse (RCE) du client.
-
Les courriels avec une adresse IP dans le nom d'hôte ne sont pas autorisés.
-
Les seuls ports autorisés sont 25 et 587.
-
L'argument
CREDENTIALde la fonctionSET_CREDENTIALest utilisé pour transmettre l'objet de données d'identification du programmateur en tant qu'entrée à la fonction. Pour plus d'informations, voir Spécification des données d'identification de la tâche du programmateur et Procédure CREATE_CREDENTIAL. -
Les privilèges
EXECUTEsurDBMS_CLOUDouDWROLEsont requis pour créer des objets de données d'identification. -
L'argument
CREDENTIALde la procédureSET_CREDENTIALest utilisé pour transmettre l'objet d'objets de données d'identification en tant qu'entrée à la procédure. Pour plus d'informations, voir Spécification des données d'identification de la tâche du programmateur. -
Les données d'identification transmises doivent être présentes dans le schéma de l'utilisateur courant et être à l'état Activé.
-
Un synonyme public ou privé qui pointe vers des données d'identification dans un autre schéma d'utilisateur peut être fourni en tant que valeur pour le paramètre
CREDENTIALà condition que vous disposiez du privilègeEXECUTEsur l'objet de données d'identification de base pointé par le synonyme. Pour plus d'informations, voir Aperçu des synonymes. -
Lorsque votre instance de base de données d'intelligence artificielle autonome est configurée avec un point d'extrémité privé, réglez le paramètre de base de données
ROUTE_OUTBOUND_CONNECTIONSà 'PRIVATE_ENDPOINT' pour spécifier que toutes les connexionsUTL_SMTPsortantes sont soumises aux règles de trafic sortant du point d'extrémité privé du VCN de l'instance de base de données d'intelligence artificielle autonome. Pour plus d'informations, voir Sécurité améliorée pour les connexions sortantes à l'aide de points d'extrémité privés. -
UTL_SMTPErreurMessage d'erreur Cause potentielle ORA-29261: Bad argumentLes données d'identification transmises ne sont pas valides ou sont désactivées ou l'utilisateur ne dispose pas de privilèges suffisants sur les données d'identification.
Pour plus d'informations, voir UTL_SMTP dans Informations de référence sur les ensembles et les types PL/SQL.
Notes de l'ensemble PL/SQL UTL_TCP
Fournit des notes pour l'ensemble UTL_TCP :
-
L'adresse IP n'est pas autorisée dans le nom d'hôte.
-
Les seuls ports autorisés sont : 443 (HTTP) 25 et 587 (SMTP).
-
Pour le port 443, seules les URL HTTPS sont autorisées.
-
Les arguments
WALLET_PATHetWALLET_PASSWORDpour la procédureOPEN_CONNECTIONsont ignorés. La valeur par défaut pour les propriétésWALLET_PATHetWALLET_PASSWORDest réglée au portefeuille utilisé parUTL_HTTPetDBMS_CLOUDpour effectuer des demandes Web sortantes sur la base de données d'intelligence artificielle autonome. -
SSL/TLS est appliqué pour toutes les communications se produisant sur les connexions TCP/IP.
-
Lorsque votre instance de base de données d'intelligence artificielle autonome est configurée avec un point d'extrémité privé, réglez le paramètre de base de données
ROUTE_OUTBOUND_CONNECTIONSà 'PRIVATE_ENDPOINT' pour spécifier que toutes les connexionsUTL_TCPsortantes sont soumises aux règles de trafic sortant du point d'extrémité privé du VCN de l'instance de base de données d'intelligence artificielle autonome. Pour plus d'informations, voir Sécurité améliorée pour les connexions sortantes à l'aide de points d'extrémité privés.
Pour plus d'informations, voir UTL_TCP dans Informations de référence sur les ensembles et les types PL/SQL.