mirall: (job)
[personal profile] mirall
    Для того, чтобы стало возможным использование пакетов UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP, UTL_INADDR необходимо некоторое количество танцев с бубном. В частности, настроить т.н. Access Control Lists (это примочка XML DB).
    Полностью процесс описан в документации: Oracle® Database Security Guide -> 4 Configuring Privilege and Role Authorization.
    Вкратце же, вся бодяга выглядит следующим образом.
  1. Создаётся access list (в дальнейшем - список контроля доступа)
    DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
      acl          => 'file_name.xml', 
      description  => 'file description',
      principal    => 'user_or_role',
      is_grant     => TRUE|FALSE, 
      privilege    => 'connect|resolve',
      start_date   => null|timestamp_with_time_zone,
      end_date     => null|timestamp_with_time_zone);
    причём параметр privilege чувствителен к регистру.
  2. Списку присваивается один или несколько адресов.
     DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
      acl         => 'file_name.xml',
      host        => 'network_host', 
      lower_port  => null|port_number,
      upper_port  => null|port_number);
  3. Привилегия на использование списка предоставляется пользователю или роли.
    DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE ( 
      acl         => 'file_name.xml', 
      principal   => 'user_or_role',
      is_grant    => TRUE|FALSE, 
      privilege   => 'connect|resolve', 
      position    => null|value, 
      start_date  => null|timestamp_with_time_zone,
      end_date    => null|timestamp_with_time_zone);
Если все манипуляции провести аккуратно, то получится с первого раза. Поскольку я патологически невнимательна, то у меня на всё про всё ушло около часа.
Page generated Jul. 15th, 2025 08:54 am
Powered by Dreamwidth Studios