Этот сайт посвящается администрированию баз данных OpenEdge Progress.
Не корысти ради, а познания для!

С уважением,
Валерий Башкатов
Сайт разработан при участии компании Progress Technologies, официального дистрибьютора Progress Software Corp. на территории стран СНГ и Латвии.

RSS RSS подписка на обновления сайта

Поиск по сайту

Лучшие материалы

Orphus System
На сайте функционирует система коррекции ошибок. Обнаружив неточность в тексте, выделите её и нажмите Ctrl+Enter



Результаты опроса: Нужны ли книги по Progress OpenEdge на русском языке? (опрос проводился с мая 2009 по ноябрь 2010)

Да, нужны. Потому что будет легче понять материал - 268
Нет, не нужны. Достаточно материалов на английском языке - 10
Не знаю, мне всё равно - 6

А знаете ли вы что..



TDE: Оператор CREATE TABLE





Для создания зашифрованной новой таблицы с помощью оператора CREATE TABLE используйте в его описании опцию ENCRYPT WITH. Его обновленный синтаксис теперь выглядит следующим образом:

    CREATE TABLE [ owner_name.]table_name
          ( { column_definition | table_constraint }, ...)
          [ AREA area_name ]
          [ ENCRYPT WITH cipher ]
          [ BUFFER_POOL { PRIMARY | ALTERNATE } ]
          [ progress_table_attribute_keyword value ]
          ;
    
    CREATE TABLE [ owner_name.]table_name
          [ (column_name [ NOT NULL ] , ... ) ]
          [ AREA area_name ]
          [ ENCRYPT WITH cipher ]
          BUFFER_POOL { PRIMARY | ALTERNATE } ]
          AS query_expression
          ;

Информацию об используемых шифрах (поле cipher) смотрите в Таблице 3: Шифры для объектов. Следующий пример демонстрирует создание таблицы, зашифрованной с помощью шифра AES_CBC_192:

    CREATE TABLE PUB.enctab1 (encid int, encdes int, encdt varchar(25))
    AREA "TestArea2" 
    ENCRYPT WITH 'AES_CBC_192';

Напомню, для добавления таблицы средствами SQL пользователь должен иметь привилегии SQL администратора. Реализовать добавление указанной таблицы можно следующим образом:

  • Проверьте, имеете ли вы права SQL-администратора. Для этого запустите SQL Explorer как показано в примере:
  • $ sqlexp -db bank -S 60900 -user valeriy -password HHvaleriy
          
    OpenEdge Release 10.2B1B as of Thu Jul 30 19:00:21 EDT 2009 Connecting user "valeriy" to URL "jdbc:datadirect:openedge://localhost:60900;databaseName=bank"... SQLExplorer>

    Введите следующий SQL запрос:

    SQLExplorer>select * from sysprogress.sysdbauth;
    GRANTEE                      DBA_ACC           RES_ACC
    --------------------------   -------           -------
    SYSPROGRESS                      y                y
    valeriy                          y                y

    Как видим, пользователь valeriy имеет необходимые права. Если же ваш логин не обнаружен в этом списке, то чтобы узнать, как получить эти права, обратитесь к статье из Progress Knowledge Base (ProKB) «KB-20143: Basic Guide to Defining Progress SQL-92 Database Permissions & Security».

  • Сохраните следующий SQL-запрос в файл с именем cr_tab.sql:
  • CREATE TABLE PUB.enctab1 (encid int, encdes int, encdt varchar(25))
    AREA "TestArea2"
    ENCRYPT WITH 'AES_CBC_192';
    COMMIT;

    Не забудьте об операторе COMMIT, иначе изменения не будут сохранены.

  • Выполните этот SQL-запрос следующей командой:
  • $ sqlexp -db bank -S 60900 -user valeriy -password 123 
    -infile cr_tab.sql
  • Любым удобным для вас способом проверьте, была ли создана таблица (например, с помощью оператора SELECT в SQL, или с помощью Data Dictionary).
  • Проверьте состояние шифрования созданной таблицы с помощью той же команды EPOLICY SCAN:
  • $ proutil bank -C epolicy scan table ENCTAB1
          
    OpenEdge Release 10.2B1B as of Thu Jul 30 19:00:21 EDT 2009 TABLE ENCTAB1/855  CURRENT AES_CBC_192 V:0 512 of 512 blocks encrypted

Опция ENCRYPT WITH создаст политику шифрования для новой таблицы в схеме безопасности. Шифрование таблицы начинается сразу, как только в ней появляются первые записи. Перед использованием ENCRYPT WITH в базе данных должен быть включен механизм шифрования, а саму таблицу необходимо разместить в области хранения с типом SAT-II.

С помощью оператора CREATE TABLE, совместно с выражением ENCRYPT WITH так же можно создать зашифрованное LOB-поле в таблице. Для этих целей используется оператор ALTER TABLE ADD COLUMN. Синтаксис для создания шифруемого LOB-поля следующий:

    { LVARCHAR | CLOB | LVARBINARY | BLOB } [ ( length ) ]
    [ AREA areaname ]
    [ ENCRYPT WITH cipher ]
    [ BUFFER_POOL { PRIMARY | ALTERNATE } ]


Previous pageReturn to chapter overviewNext page






Главная |  Статьи |  Книги |  Гостевая |  Ссылки |  От автора |  Download ProKb


������ ᠩ� pr Online ProKB Blogger Welcome to Russian Progress Users Group at Facebook Welcome to Russian Progress Users Group at LinkedIn
© 2009 - 2011 Все права на материалы, находящиеся на сайте www.openedge.ru, охраняются в соответствии с законодательством РФ, в том числе, об авторском праве и смежных правах.
При любом использовании материалов сайта ссылка на источник обязательна.