授予用户加密特权

此任务是“加密本地数据”这一主任务的一部分。完成这些步骤后,请返回至本地数据加密的概述

过程

在创建第一个加密表之前,必须授予用户加密特权。 例如,应用程序可以发出下列 SQL 语句:

 rc = SQLExecDirect(..., "GRANT ENCRYPT ON DATABSE TO \" user1\"" +
                          " using \"pwd1\" new \"pwd1\"", SQL_NTS)

在执行此 SQL 语句时,DB2 Everyplace 将创建称为 DB2eSYSUSERS 的系统目录表,且将一行插入到此表。这意味着现在已用对应的密码注册用户 user1, 且该用户将具有诸如创建和访问加密表的所有加密特权。

此表与数据库和加密数据有密切关系,因此它不能移动到另一个 DB2 Everyplace 数据库来存取加密数据。 这是因为不同的数据库将具有不同的密钥用于加密或解密。 因此,如果允许某人存取某个数据库中的加密表,则该人不能使用相同用户标识和密码存取不同数据库。 与其它系统目录表一样,应用程序可以使用 SQS 选择语句来检索行, 但它不能使用 INSERT、DELETE、 UPDATE、CREATE 或 DROP 语句修改此表中的数据。

相关概念

相关任务